emm*_*mby 276 android gradle android-tv
我正在使用leanback库,它需要Android 17或更高版本.但是我的应用支持minSDK为16,所以我从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
Run Code Online (Sandbox Code Playgroud)
当我查看构建工具文档时,我看到如何将overrideLibrary
标记添加到我的清单中,但问题是我在gradle文件中而不是在清单中声明了我的minSdk.
overrideLibrary
在build.gradle中而不是在AndroidManifest.xml中声明minSdk时如何使用?
xDr*_*onZ 532
打开Android Studio - >打开清单文件
添加
<uses-sdk tools:overrideLibrary="android.support.v17.leanback"/>
不要忘记xmlns:tools="http://schemas.android.com/tools"
在<application>
标记之前包含
ica*_*ell 158
你在build.gradle中声明你的minSdk并不重要.你要复制overrideLibrary
你的AndroidManifest.xml
,作为记录在这里.
<manifest
... >
<uses-sdk tools:overrideLibrary="com.example.lib1, com.example.lib2"/>
...
</manifest>
Run Code Online (Sandbox Code Playgroud)
系统会自动忽略AndroidManifest.xml中声明的sdkVersion.
我希望这能解决你的问题.
<manifest xmlns:tools="http://schemas.android.com/tools" ... >
<uses-sdk tools:overrideLibrary="nl.innovalor.ocr, nl.innovalor.corelib" />
Run Code Online (Sandbox Code Playgroud)
我面临着不同的最小SDK版本之间的冲突问题。所以这个解决方案对我有用。
归档时间: |
|
查看次数: |
118204 次 |
最近记录: |