android - 如何在 Android Studio 中设置兼容库
问题描述
我知道这已经被问过,但似乎无法在以前的问题中找到答案,所以这里。
我在 Unity 中创建了一个项目并将其导出到 Android Studio。我已将最低 API 级别设置为 4.4 KitKat(API 级别 19)。
我添加了:在主清单文件中。构建时出现此错误:
Manifest merger failed : uses-sdk:minSdkVersion 19 cannot be smaller than version 21 declared in library [:UniWebView:] /Users/myname/.gradle/caches/transforms-2/files-2.1/97563e885486a53e4f6658e98b58f094/jetified-UniWebView/AndroidManifest.xml as the library might be using APIs not available in 19
Suggestion: use a compatible library with a minSdk of at most 19,
or increase this project's minSdk version to at least 21,
or use tools:overrideLibrary="com.onevcat.uniwebview" to force usage (may lead to runtime failures)
如何将兼容库设置为 minSdk 19?它需要是 19 而不是 21,因为如果我以 21 发布更新,几乎 20% 的用户将无法玩游戏:-/
Units not compatible with API level 21+ = 2054 (19%)
实际上......一个附带问题......我是否应该害怕在失去用户方面升级API?我有一个使用 API 级别 21 的版本,该版本已准备好发布。
如果我应该小心这个,我该如何解决最初的问题?
希望得到帮助并提前感谢:-)
解决方案
你基本上有4个选择:
- 将您项目的 minSdk 增加到 21 并失去用户
- 添加
tools:overrideLibrary="com.onevcat.uniwebview"
到您的清单的应用程序标签,这可能会导致您的 API 19 用户运行时崩溃(如果您选择此选项,请仔细测试整个事情!!!) - 扔掉图书馆,再找一个。或者编写自己的解决方案
- fork 库(如果它是开源的)并尝试将其 minSdk 降低到 19
如果我是你,我会选择选项 3
推荐阅读
- java - 按功能隐藏 Windows 离开/取消弹出窗口
- javascript - 设置状态和过滤。跳过数据 - React / Javascript
- single-sign-on - SAML SSO:在验证 SAML 断言后保持用户登录
- asp.net - x-powered-by: 将 ServiceStack/3.971 升级到 ServiceStack/5.6.0 Win32NT/.NET
- reactjs - 如何在反应 js 应用程序的响应中添加 http 标头
- python - 进行类不平衡正则化的正确位置(数据级别或批处理级别)
- c++ - 如何为 std::map 重载插入运算符 >> in
C++? - sql - Azure 数据库 - 从带有参数的逻辑应用程序运行 azure 存储过程
- azure - 如何使用 Linux 在 Azure 应用服务上安装依赖二进制文件?
- swift - 在 Swift 中显示操作系统