AndroidManifest不匹配

时间:2014-02-07 00:34:36

标签: java android android-studio android-manifest

我认为我有一些AndroidManifest不匹配。当我尝试使用Gradle构建时,我得到了这个

[/home/TryIt/app/src/main/AndroidManifest.xml:3, /var/folders/_h/gq0mh1154p76krbwrkj75qbm0000gn/T/manifestMerge2745402073170024437.xml:2] Main manifest has <uses-sdk android:targetSdkVersion='18'> but library uses targetSdkVersion='19'
:app:processDebugManifest FAILED

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':app:processDebugManifest'.
> Manifest merging failed. See console for more info.

library清单中,我有<uses-sdk android:minSdkVersion="7"/>及其build.gradle

compileSdkVersion 18
    buildToolsVersion "19.0.1"

    defaultConfig {
        minSdkVersion 14
        targetSdkVersion 18
    } 

另一方面,app/src/main/AndroidManifest清单中有<uses-sdk android:minSdkVersion="14" android:targetSdkVersion="18" />

我错过了什么?

3 个答案:

答案 0 :(得分:2)

在gradle构建系统中,minSdkVersion中定义的targetSdkVersionAndroidManifest.xml将替换为您在build.gradle文件中定义的内容,因此我建议您删除<uses-sdk />来自AndroidManifest.xml并将其保留在build.gradle个文件中以避免混淆。

您正在合并失败的错误,因为不同模块中的minSdkVersion和targetSdkVersion不相等。的 minSdkVersion and targetSdkVersion must be equal in all build.gradle files inside a project

编辑:

注意:请勿将minSdkVersion = 7设置为任意位置,因为大多数图书馆(如Google Play服务)都在使用minSdkVersion =8。因此,请尝试在您的应用中使用minSdkVersion = 8

检查 Gradle Console 输出,了解详细的冲突报告。它将显示项目中的哪些文件是导致此错误的原因。

答案 1 :(得分:2)

在将Android-Studio更新到最后一个版本时,我在某个项目中遇到了类似的问题。尝试在所有targetSdkVersion个文件中将19设置为gradle

答案 2 :(得分:0)

我遇到了这个错误,简单的答案是因为我的minSdkVersion 4中有build.gradle

将其更改为minSdkVersion 8 8为我解决此问题。