我正在使用leanback库,这需要Android 17或更高版本。但是我的应用支持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
当我查看构建工具文档时,我看到了如何将overrideLibrary
标记添加到我的清单中,但问题是我在gradle文件中声明了minSdk,而不是在清单中。
当minSdk是在build.gradle而不是AndroidManifest.xml中声明时,我如何使用overrideLibrary
?
9条答案
按热度按时间vjhs03f71#
打开Android Studio -〉打开清单文件
add
<uses-sdk tools:overrideLibrary="android.support.v17.leanback"/>
不要忘记在<application>
标签之前也包含xmlns:tools="http://schemas.android.com/tools"
xkftehaa2#
您在build.gradle中声明minSdk并不重要,您必须将
overrideLibrary
复制到AndroidManifest.xml
中,如本文所述。系统会自动忽略AndroidManifest.xml中声明的sdkVersion。
我希望这能解决你问题
jtjikinw3#
我正面临着不同的min sdk版本之间的冲突问题。所以这个解决方案对我很有效。
62o28rlo4#
我只更改了android:minSdkVersion=“16”,它的工作非常完美C:\我的应用程序\平台\android\CordovaLib\AndroidManifest.xml
64jmpszr5#
请在manifest.xml中使用以下代码
mkshixfv6#
我只是在
C:\MyApp\platforms\android\CordovaLib\AndroidManifest.xml
中更改了minSdkVersion="7"
,它工作了。操作步骤:
1.路径:
C:\MyApp\platforms\android\CordovaLib\AndroidManifest.xml
1.数值:
<uses-sdk android:minSdkVersion="7"/>
1.在新的cmd提示符下运行命令:
C:\MyApp>phonegap build android --debug [phonegap] executing 'cordova build android --debug'... [phonegap] completed 'cordova build android --debug'
vm0i2vca7#
作为所有库的解决方案,我们可以匹配它们的sdk版本,这样就不会发生意外事件。
删除您的项目(gms)中不使用的库,并确保sdk版本与您的应用级gradle数据匹配
woobm2wo8#
这对我有用
vybvopom9#
由于库需要
minSdkVersion 17
,因此您可以在build.gradle
(模块:应用程序)文件中进行相同的更改:并且在构建之后,项目不应该抛出任何构建错误。