为什么gradle错误地覆盖AndroidManifest.xml?

时间:2014-07-09 10:24:21

标签: android gradle android-studio android-manifest

我在带有gradle的android工作室项目中使用了support-v4库。

在我的app目录中,build.gradle文件包含以下代码:

android {
compileSdkVersion 20
buildToolsVersion '20.0.0'

defaultConfig {
    applicationId "app.package.name"
    minSdkVersion 11
    targetSdkVersion 20
}....

当我尝试构建这个项目时,support-v4目录(在/ build / ...中)的AndroidManifest.xml会更新,并且它的uses-sdk标记变为:

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

然后我收到这条消息:

Error:Execution failed for task ':app:processDebugManifest'. Manifest merger failed : uses-sdk:minSdkVersion 11 cannot be smaller than version L declared in library com.android.support:support-v4:21.0.0-rc1

为什么会发生这种情况?如何在build.gradle中保持配置的同时构建我的项目?

1 个答案:

答案 0 :(得分:0)

似乎最新版本的支持库(我作为依赖项)可能存在问题。

我通过更改build.gradle依赖项中的support-v4版本来修复此问题:

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

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