清单合并失败:uses-sdk:minSdkVersion 14。

237

自从下载了最新的 SDK 并安装了 Android Studio 后,我的项目无法构建。我收到以下消息:

Error:Gradle: Execution failed for task ':SampleProject:processProdDebugManifest'.
> Manifest merger failed : uses-sdk:minSdkVersion 14 cannot be smaller than version L declared in library com.android.support:support-v4:21.0.0-rc1

我遇到了相同的错误:Error:Execution failed for task ':app:processDebugManifest'。
Manifest合并失败:uses-sdk:minSdkVersion 19不能小于库com.android.support:support-v4:21.0.0-rc1中声明的版本19。
- bobby.dhillon
我遇到了相同的异常,即minSdkVersion 15不能小于版本15。SDK构建工具已经更新,所以我猜这是Android Studio中的一个错误和新的Build tools相关。 - Boardy
1
看起来是一个bug: code.google.com/p/android/issues/detail?id=72430 暂时的解决方法是在maven-metadata.xml文件中注释掉一行代码。 - Emanuel Canha
可能是Manifest合并失败:uses-sdk:minSdkVersion 8不能更小的重复问题。 - Marian Paździoch
28个回答

5
我在 build.gradle 中编辑下面这行代码,解决了问题,现在可以正常工作了!:-) 添加版本 20.+ 来自:
 dependencies {
        compile 'com.android.support:appcompat-v7:+'
    }

To

dependencies {
    compile 'com.android.support:appcompat-v7:20.+'
}

1
我简直不敢相信。除了这个答案,其他上面的答案都对我没用。谢谢!!!请注意,我必须将我的v4v7支持文件都更改为:20.+ - Azurespot

5
compile('com.android.support:support-v4:19.1.0'){
    force = true
}

以下内容源自此处,对我很有帮助:


4

您需要配置所有支持库和appcompat库的版本为19.+。

如果建议保留支持库的19.+版本不起作用,您可以尝试在AndroidManifest文件中使用下一个提示。

首先添加此代码:

xmlns:tools="http://schemas.android.com/tools"

然后,在应用程序层面上(不是应用程序内部!)

<uses-sdk tools:node="replace" />

4

我在这里尝试了所有的解决方案,但都没有结果,所以我去了别处寻找方法来欺骗IDE。你需要在Mainfest中添加一行代码,让Gradle使用不同的代码库(与你在build.gradle文件中设置的那个不同),具体代码如下:

<uses-sdk tools:node="replace" />

只需IT,它就能工作。

希望对您有所帮助。


3
请在<manifest>标签中添加xmlns:tools="http://schemas.android.com/tools" - seb

3
对我来说,这个问题可以通过更改

标签来解决。
minSdkVersion 14

在build.gladdle文件中使用错误信息中指定的那个,但问题在于:
Manifest merger failed : uses-sdk:minSdkVersion 14 cannot be smaller than version 15 declared in library

所以我在build.gladdle文件中将14改为15,它能正常工作。

你可以试一下。


3

您需要从build.gradle文件中删除以下代码:compile 'com.android.support:support-v13:+'


3

这是新的错误报告,详情请查看 https://code.google.com/p/android/issues/detail?id=72430

假设您正在使用支持库,解决方法是在本地Maven存储库列表文件/extras/android/m2repository/com/android/support-v4/maven-metadata.xml中注释或删除以下行:

21.0.0-rc1


1

只需将所需的minSdkVersion作为目标,即更改为所需版本。在我的情况下,minSdkVersion14

minSdkVersion更改为16解决了问题。

compileSdkVersion 29
    defaultConfig {
        applicationId "e.futaaapp"
        minSdkVersion 14
        targetSdkVersion 29
        versionCode 1
        versionName "1.0"
        testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
    }

compileSdkVersion 29
    defaultConfig {
        applicationId "e.futaaapp"
        minSdkVersion 16
        targetSdkVersion 29
        versionCode 1
        versionName "1.0"
        testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
    }

0

我有一些项目,我更喜欢针对L.MR1(SDKv22),还有一些项目我更喜欢KK(SDKv19)。你的结果可能不同,但这对我有效。

// Targeting L.MR1 (Android 5.1), SDK 22
android {
    compileSdkVersion 22
    buildToolsVersion "22"

    defaultConfig {
        minSdkVersion 9
        targetSdkVersion 22
    }
}

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])

    // google support libraries (22)
    compile 'com.android.support:support-v4:22.0.0'
    compile 'com.android.support:appcompat-v7:22.0.0'
    compile 'com.android.support:cardview-v7:21.0.3'
    compile 'com.android.support:recyclerview-v7:21.0.3'
}



// Targeting KK (Android 4.4.x), SDK 19
android {
    compileSdkVersion 19
    buildToolsVersion "19.1"

    defaultConfig {
        minSdkVersion 9
        targetSdkVersion 19
    }
}

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])

    // google libraries (19)
    compile 'com.android.support:support-v4:19.1+'
    compile 'com.android.support:appcompat-v7:19.1+'
    compile 'com.android.support:cardview-v7:+'
    compile 'com.android.support:recyclerview-v7:+'
}

0
尝试删除项目中的build文件夹并重新同步gradle项目以重建它。此外,就像其他人在这篇文章中所说的那样 - 不要像这样做:
compile 'com.android.support:support-v4:19.+'

请执行以下操作:

compile 'com.android.support:support-v4:19.1.0'

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接