由于下载了最新的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提供了一种强制使用特定依赖版本的方法。

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

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

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

其他回答

在构建中。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.+'.

我有第二个解决方案:

解压缩https://dl.dropboxusercontent.com/u/16403954/android-21.zip到sdk\platforms\ 改变构建。它就像 compileSdkVersion 21 buildToolsVersion“20.0.0” defaultConfig { applicationId“package.name” minSdkVersion 10 targetSdkVersion 21 versionCode 1 versionName“1.0” } 添加 <uses-sdk tools:node="replace" /> xmlns:tools="schemas.android.com/tools"; 去sdk\extras\android\m2repository\com\android\support\support-v4\21.0.0-rc1\

解压缩support-v4-21.0.0-rc1。编辑AndroidManifest.xml

<uses-sdk
        android:minSdkVersion="L"
        android:targetSdkVersion="L" />

to

<uses-sdk
        android:minSdkVersion="4"
        android:targetSdkVersion="21" />

附注:您可以对所有需要的支持库进行此操作。

我有一些项目,我喜欢针对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:+'
}

另外,如果你正在导入appcompat-v7库,请确保在它的末尾标记一个版本号,如下所示:

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

在只更改了support-v4版本后,我仍然收到错误:

清单合并失败:uses-sdk:minSdkVersion 15不能小于库com.android.support:support-v4:21.0.0-rc1中声明的版本L

这有点令人困惑,因为它看起来仍然是v4的问题,但实际上,限制appcompat v7版本解决了这个问题。

您需要从构建中删除。Gradle编译'com.android.support:support-v13:+'