我使用的是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?


当前回答

我刚刚在C:\MyApp\platforms\android\CordovaLib\AndroidManifest.xml中更改了minSdkVersion="7",它工作了。

步骤:

路径:C: \ MyApp \ \ \ CordovaLib \ AndroidManifest.xml android平台 值:<uses-sdk android:minSdkVersion="7"/> 在新的cmd提示符中运行命令: C:\MyApp>phonegap build android -debug [phonegap]执行“cordova build android -debug”… [phonegap]完成“cordova build android -debug”

其他回答

因为库需要minSdkVersion 17,那么你可以在build.gradle(模块:应用程序)文件中更改相同的内容:

defaultConfig {
        minSdkVersion 17 
        targetSdkVersion 25
}

在构建之后,项目不应该抛出任何构建错误。

我刚刚在C:\MyApp\platforms\android\CordovaLib\AndroidManifest.xml中更改了minSdkVersion="7",它工作了。

步骤:

路径:C: \ MyApp \ \ \ CordovaLib \ AndroidManifest.xml android平台 值:<uses-sdk android:minSdkVersion="7"/> 在新的cmd提示符中运行命令: C:\MyApp>phonegap build android -debug [phonegap]执行“cordova build android -debug”… [phonegap]完成“cordova build android -debug”

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

这对我很有用

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


   

打开Android Studio ->打开Manifest文件

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