清单合并失败:使用-sdk:minSdkVersion 14

 黄晓敏3023 发布于 2023-01-07 14:36

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

loeschg.. 312

注意:这已经更新,以反映API 21,Lollipop的发布.请务必下载最新的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:support-v4:+任何位置进行一般性包含或任何其他支持库(v7,v13,appcompat等).

我认为问题是v4:+获得发布候选版本(21.0.0-rc1)最新的L版本,显然需要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/)

另一个编辑

请务必查看下面关于appcompat-v7和upvote的@ murtuza答案,如果有帮助的话!

12 个回答
  • 解决方案1:

    更改使用-SDK来<uses-sdk tools:node="replace" />,并添加 xmlns:tools="http://schemas.android.com/tools"AndroidManifest.xml

     <?xml version="1.0" encoding="utf-8"?>
    <manifest xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:tools="http://schemas.android.com/tools"
        package="com.demo.android"
        android:versionCode="16"
        android:versionName="3.3.1">
        .
        .
        <uses-sdk tools:node="replace" />
        .
        .
    </manifest>
    

    确保使用gradle 0.11及更高版本来使用Manifest合并.

    解决方案2:

    更改 compile 'com.android.support:support-v4:+'compile 'com.android.support:support-v4:20.+'build.gradle.这将阻止gradle使用 v4:21.0.0需要版本L.

    但是,如果您的任何外部依赖项使用相同的.您可能需要等待他们更新相同的内容.

    解决方案3:

    删除/评论<version>21.0.0-rc1</version>您的文件<android-sdk>/extras/android/m2repository/com/android/support-v4/maven-metadata.xml

    对support-v7重复相同的操作

    2023-01-07 14:37 回答
  • <uses-sdk tools:node="replace" />
    

    不再有效.

    改变uses-sdk

    <uses-sdk tools:overrideLibrary="com.packagename.of.libary.with.conflict" />
    

    并添加
    xmlns:tools="http://schemas.android.com/tools" AndroidManifest.xml文件

    2023-01-07 14:37 回答
  • 注意:这已经更新,以反映API 21,Lollipop的发布.请务必下载最新的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:support-v4:+任何位置进行一般性包含或任何其他支持库(v7,v13,appcompat等).

    我认为问题是v4:+获得发布候选版本(21.0.0-rc1)最新的L版本,显然需要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/)

    另一个编辑

    请务必查看下面关于appcompat-v7和upvote的@ murtuza答案,如果有帮助的话!

    2023-01-07 14:37 回答
  • 添加上面的正确答案,由于库嵌套,问题仍然可能发生.在这种情况下,请尝试以下示例:

    compile 'com.android.support:support-v4:20.+'
    compile ('com.github.chrisbanes.actionbarpulltorefresh:extra-abs:+') { // example
        exclude group: 'com.android.support', module:'support-v4'
        exclude group: 'com.android.support', module:'appcompat-v7'
    }
    

    2023-01-07 14:37 回答
  • 传递依赖性仍然会出现问题.Gradle提供了一种强制使用特定版本依赖项的方法.

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

    configurations.all {
        resolutionStrategy {
            force 'com.android.support:support-v4:20.+'
            force 'com.android.support:appcompat-v7:20.+'
        }
    }
    

    到你的build.gradle.

    如果您想了解有关gradle解决策略的更多信息,请参阅本指南http://www.gradle.org/docs/current/dsl/org.gradle.api.artifacts.ResolutionStrategy.html

    我在阅读相关问题时发现了这一点,我将在此处链接

    2023-01-07 14:37 回答
  • 在build.gradle文件中,默认情况下编译'com.android.support:support-v4:+'所以当你构建gradle项目时会考虑com.android.support:support-v4:21.0.0-rc1因为最近的L开发者预览版.

    在以下行中进行更改,它将解决此问题.更改

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

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

    同样,在使用v7-appcompat支持库时,请进行更改

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

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

    2023-01-07 14:37 回答
  • 此外,如果您要导入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版本修复了问题.

    2023-01-07 14:38 回答
  • 对于在Android Studio测试版中遇到此问题的人来说,接受的答案并没有解决我的问题.导入从GitHub下载的项目,我在app的build.gradle文件中有以下内容,给出了一个错误:

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

    但在我的外部库文件夹中,我有这个文件夹:

    support-v4-21.0.0-rc1 //note the 21
    

    我通过将依赖项更改为:解决了上述问题:

    dependencies {
    compile 'com.android.support:support-v4:20.+' //20 used less than available strange but works
    }
    

    注意:您可能还需要为某些库和项目下载比Android Studio中当前可用的api级别更低的api级别,以使其正常工作.

    2023-01-07 14:38 回答
  • 我通过在build.gradle中编辑下面的行解决了这个问题,它可以正常工作!:-)

    添加版本 20. +'

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

    dependencies {
        compile 'com.android.support:appcompat-v7:20.+'
    }
    

    2023-01-07 14:39 回答
  • 对于使用cordova CLI构建混合应用程序的人,此命令将有助于:

    cordova build android -- --minSdkVersion=15
    

    是的,你看到它时使用双双破折号.

    2023-01-07 14:39 回答
  • 我也有同样的问题,改变跟随帮助了我:

    从:

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

    至:

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

    2023-01-07 14:40 回答
  • compile('com.android.support:support-v4:19.1.0'){
        force = true
    }
    

    帮帮我,从这里开始

    2023-01-07 14:40 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有