由于下载了最新的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

当前回答

在构建中。gradle文件,默认是compile 'com.android. exe。所以当你构建gradle项目时,它会考虑com.android.support:support-v4:21.0.0-rc1,因为最近的L开发者预览版本。

在下面一行中进行更改,将解决该问题。 改变

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

to

compile 'com.android.support:support-v4:20.+'

类似地,当使用v7-appcompat支持库时,从

compile’com android支持:appcompat-v7: + '

to

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

其他回答

传递依赖关系仍然存在这个问题。Gradle提供了一种强制使用特定依赖版本的方法。

例如,你可以添加如下内容:

configurations.all {
    resolutionStrategy {
        force 'com.android.support:support-v4:20.+'
        force 'com.android.support:appcompat-v7:20.+'
    }
}

去你的房子,gradle。

如果你想了解更多关于gradle解决策略的信息,请参考本指南http://www.gradle.org/docs/current/dsl/org.gradle.api.artifacts.ResolutionStrategy.html

我在阅读相应的问题时发现了这一点,我将在这里链接

我把所有的解决方案在这里没有结果,所以我看在另一个地方,我发现了一种方法来欺骗IDE,所以你必须把一行在Mainfest使Gradle使用一个不同的,一个你放在构建。Gradle的台词是:

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

就是这样,而且很管用。

我希望这能有所帮助。

解决方案1:

将uses-sdk更改为<uses-sdk tools:node="replace" />并添加xmlns:tools="http://schemas.android.com/tools" 在AndroidManifest.xml

 <?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    package="com.demo.android"
    android:versionCode="16"
    android:versionName="3.3.1">
    .
    .
    <uses-sdk tools:node="replace" />
    .
    .
</manifest>

确保你使用gradle 0.11及以上版本来使用Manifest合并。

解决方案2:

更改compile 'com.android。Support: Support -v4:+' to compile 'com.android.support: Support -v4:20。+'在build.gradle中。这将阻止gradle使用 v4:21.0.0,需要版本L。 然而,如果你的任何外部依赖使用相同的。您可能需要等待他们更新相同的内容。

解决方案3:

删除/注释<version>21.0.0-rc1</version>在你的文件<android-sdk>/extras/android/m2repository/com/android/support-v4/maven-metadata.xml 对support-v7重复相同的操作

尝试删除项目中的build文件夹并重新同步gradle项目来重建它。另外,就像其他人在这篇文章中说的那样——不要做这样的事情:

compile 'com.android.support:support-v4:19.+'

这样做:

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

对我来说,这样的问题可以通过改变

minSdkVersion 14

在构建中。Gladdle文件,并使用错误消息中指定的

但问题是

Manifest merger failed : uses-sdk:minSdkVersion 14 cannot be smaller than version 15 declared in library

所以我把14改成了15。Gladdle文件,它工作

试一试。