【问题标题】:Manifest merger failed : uses-sdk:minSdkVersion 14 cannot be smaller than version L清单合并失败:uses-sdk:minSdkVersion 14 不能小于版本 L
【发布时间】:2014-08-27 20:44:39
【问题描述】:

我已关注following topic,但没有任何结果。决定将find|grep项目文件夹中的所有support-v4内容删除。每次我制作和运行项目时,它都会响应:

Error:Execution failed for task ':app:processDebugManifest'.
> 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

我来自模块的build.gradle 是:

apply plugin: 'com.android.application'

android {
    compileSdkVersion 19
    buildToolsVersion "20.0.0"

    defaultConfig {
        applicationId "com.android"
        minSdkVersion 14
        targetSdkVersion 17
    }

    buildTypes {
        release {
            runProguard false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
        }
    }
}

dependencies {
    compile 'com.google.android.gms:play-services:4.2.+'
    compile 'com.android.support:appcompat-v7:+'
}

build.gradle 来自项目根目录:

buildscript {
    repositories {
        jcenter()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:0.12.2'

    }
}

allprojects {
    repositories {
        jcenter()
    }
}

我知道这是类似的主题,但建议的解决方案不适合这种情况。 我将不胜感激对可能对该问题产生影响的所有依赖关系结构的任何解释。

当我们 find|grep 在这个项目文件夹中使用“support-v4”时,它看起来像这样:

...\.gradle\1.12\taskArtifacts\fileSnapshots.bin                                                    
...\.gradle\1.12\taskArtifacts\taskArtifacts.bin                                                    
...\.idea\workspace.xml                                                                             
...\.idea\libraries\support_v4_21_0_0_rc1.xml                                                       
...\app\app.iml                                                                                     
...\app\build.gradle                                                                                                   
...\app\build\intermediates\incremental\mergeResources\debug\merger.xml                             
...\build\intermediates\model_data.bin  

问候

【问题讨论】:

  • 您尝试更改什么?你真的把compile 'com.android.support:support-v4:20.0.0' 放进去还是你把v7 库改成了那个?希望您更改了 v7
  • 为什么v7 lib会导致v4问题,同步/构建项目时它们之间有什么联系吗?
  • v7 库包括 v4
  • 好的,所以如果我们导入 v7,v4 导入就没用了,是吗?

标签: android gradle android-studio repository android-5.0-lollipop


【解决方案1】:

替换:

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

与:

compile 'com.android.support:appcompat-v7:19.1.0'

一般情况下,不要在顶级版本级别使用+ 通配符。如果你想使用19.1.+,甚至19.+,我不会争论(尽管其他人会)。

【讨论】:

  • AFAIK,进一步的问题主要发生在 :support-v4 而不是 v7 上,但仍然不知道如何解决它..
  • @Kuba:appcompat-v7 依赖于support-v4。因此,引入太新的appcompat-v7 版本将引入太新的support-v4 版本。
猜你喜欢
  • 2019-11-26
  • 2014-12-02
  • 2014-08-24
  • 2014-08-17
  • 2015-07-24
  • 2017-12-18
  • 2017-11-13
  • 1970-01-01
  • 2014-10-12
相关资源
最近更新 更多