由于下载了最新的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.+'.
我有第二个解决方案:
解压缩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版本解决了这个问题。