【发布时间】:2015-01-21 14:08:21
【问题描述】:
我正在使用需要 Android 17 或更高版本的leanback 库。但是我的应用支持 16 的 minSDK,所以我从 gradle 中得到一个构建错误说
Error:Execution failed for task ':Tasks:processPhoneDebugManifest'.
> Manifest merger failed : uses-sdk:minSdkVersion 16 cannot be smaller than version 17 declared in library /Users/mike/Projects/android-for-dummies-v3/Tasks/build/intermediates/exploded-aar/com.android.support/leanback-v17/21.0.2/AndroidManifest.xml
Suggestion: use tools:overrideLibrary="android.support.v17.leanback" to force usage
当我查看 build tools documentation 时,我看到了如何将 overrideLibrary 标记添加到我的清单中,但问题是我在我的 gradle 文件中而不是在我的清单中声明我的 minSdk。
当 minSdk 在 build.gradle 而不是 AndroidManifest.xml 中声明时,我如何使用overrideLibrary?
【问题讨论】:
-
不要这样做。而是在 build.gradle 中更新 minsdkversion
-
这样做是有正当理由的,例如在使用之前通过测试 API 级别来有条件地使用库。
-
对于那些不知道
overrideLibrary做什么的人,“当较低优先级的清单具有更高的 minSdkVersion 值时,除非您应用 overrideLibrary 合并规则,否则会发生错误。” source。有效,此 overrideLibrary 只是删除警告,它不会更改任何其他内容。
标签: android gradle android-tv