我使用的是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在构建中声明时,我如何使用overrideLibrary。gradle而不是AndroidManifest.xml?


当前回答

在manifest.xml中使用此代码

<uses-sdk
android:minSdkVersion="16"
android:maxSdkVersion="17"
tools:overrideLibrary="x"/>

其他回答

在manifest.xml中使用此代码

<uses-sdk
android:minSdkVersion="16"
android:maxSdkVersion="17"
tools:overrideLibrary="x"/>
<manifest xmlns:tools="http://schemas.android.com/tools" ... >
  <uses-sdk tools:overrideLibrary="nl.innovalor.ocr, nl.innovalor.corelib" />

我正面临着不同的min sdk版本之间冲突的问题。 所以这个方法对我很有效。

打开Android Studio ->打开Manifest文件

添加 < uses-sdk工具:overrideLibrary = " android.support.v17.leanback " / > 不要忘记在<application>标记之前也包含xmlns:tools="http://schemas.android.com/tools"

只改变了android:minSdkVersion="16",它的工作完美 C: \ MyApp \ \ \ CordovaLib \ AndroidManifest.xml android平台

这对我很有用

<uses-sdk 
    android:minSdkVersion="16"
    android:maxSdkVersion="17"
    tools:overrideLibrary="pl.droidsonroids.gif" />