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

当前回答

解决方案:Manifest合并失败属性application@ppComponentFactory…

如果你正在使用最新最好的Firebase库或其他库,它们实际上是在使用AndroidX而不是android。支持的话,你可能会遇到Manifest合并失败的问题!!因此,在这种情况下,您的项目需要迁移到AndroidX。所以请点击链接: https://firebase.google.com/support/release-notes/android#update_-_june_17_2019

或者看看这个视频。 https://youtu.be/RgveQ4AY1L8 谢谢你!

其他回答

对于那些在Android Studio测试版中遇到这个问题的人来说,公认的答案并不能解决我的问题。导入一个从GitHub下载的项目,在我的构建中有以下内容。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级别的库和项目。

解决方案:Manifest合并失败属性application@ppComponentFactory…

如果你正在使用最新最好的Firebase库或其他库,它们实际上是在使用AndroidX而不是android。支持的话,你可能会遇到Manifest合并失败的问题!!因此,在这种情况下,您的项目需要迁移到AndroidX。所以请点击链接: https://firebase.google.com/support/release-notes/android#update_-_june_17_2019

或者看看这个视频。 https://youtu.be/RgveQ4AY1L8 谢谢你!

唯一对我有用的是:

在项目。属性,我改变:

cordova.system.library.1 = com.android.support: support-v4: + 来 cordova.system.library.1 = com.android.support: support-v4:20。+

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

解决方案1:

将uses-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:+' to 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重复相同的操作