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

当前回答

注:这已经更新,以反映API 21,棒棒糖的发布。请务必下载最新的SDK。

在我的一个模块中,我有以下build.gradle:

dependencies {
    compile 'com.android.support:support-v4:+'
}

将其更改为

dependencies {
    // do not use dynamic updating.
    compile 'com.android.support:support-v4:21.0.0' 
}

修正了这个问题。

确保你没有对com.android进行一般的包含。支持:Support -v4:+或任何其他支持库(v7, v13, appcompat等),在您的项目中的任何位置。

我假设问题是v4:+选择了最新的L候选版本(21.0.0-rc1),这显然需要L SDK。

编辑:

如果你需要使用新的视图(CardView, RecyclerView和Palette),以下应该工作:

compile "com.android.support:cardview-v7:21.0.0"
compile "com.android.support:recyclerview-v7:21.0.0"
compile "com.android.support:palette-v7:21.0.0"

(图片来源:EddieRingle on /androiddev - http://www.reddit.com/r/androiddev/comments/297xli/howto_use_the_v21_support_libs_on_older_versions/)

另一个编辑

一定要看看下面@murtuza关于appcompat-v7的答案,如果它有帮助的话,请给它点赞!

其他回答

传递依赖关系仍然存在这个问题。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

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

注:这已经更新,以反映API 21,棒棒糖的发布。请务必下载最新的SDK。

在我的一个模块中,我有以下build.gradle:

dependencies {
    compile 'com.android.support:support-v4:+'
}

将其更改为

dependencies {
    // do not use dynamic updating.
    compile 'com.android.support:support-v4:21.0.0' 
}

修正了这个问题。

确保你没有对com.android进行一般的包含。支持:Support -v4:+或任何其他支持库(v7, v13, appcompat等),在您的项目中的任何位置。

我假设问题是v4:+选择了最新的L候选版本(21.0.0-rc1),这显然需要L SDK。

编辑:

如果你需要使用新的视图(CardView, RecyclerView和Palette),以下应该工作:

compile "com.android.support:cardview-v7:21.0.0"
compile "com.android.support:recyclerview-v7:21.0.0"
compile "com.android.support:palette-v7:21.0.0"

(图片来源:EddieRingle on /androiddev - http://www.reddit.com/r/androiddev/comments/297xli/howto_use_the_v21_support_libs_on_older_versions/)

另一个编辑

一定要看看下面@murtuza关于appcompat-v7的答案,如果它有帮助的话,请给它点赞!

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

帮助我,从这里带走

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

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

这样做:

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

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

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

就是这样,而且很管用。

我希望这能有所帮助。