android manifest merger failed, gms play services / firebase

ぐ巨炮叔叔 提交于 2019-11-28 19:23:09

I solved the problem by adding:

    configurations.all {
    resolutionStrategy.eachDependency { DependencyResolveDetails details ->
        def requested = details.requested
        if (requested.group == 'com.android.support') {
            if (!requested.name.startsWith("multidex")) {
                details.useVersion '26.0.0'
            }
        }
    }
}

from here.

The tooltip recommended adding tools:replace="android:value"' to meta-data but this throws another error, so im going with the solution above

Mohebifar

I solved it by adding this in AndroidManifest.xml within the <application> tag at the very bottom:

<meta-data 
  tools:node="replace"
  android:name="android.support.VERSION"
  android:value="26.1.0"  // <- The max version you see in the error message. For me it was 26.1.0
/>

Then add these two attributes to the <manifest ... > tag:

xmlns:tools="http://schemas.android.com/tools"
tools:node="replace"
Swetabja Hazra

It's happening because two versions of support libraries are clashing. On top, you have declared

buildToolsVersion "26.0.1"

and in dependencies, the version is 26.0.0

compile 'com.android.support:design:26.0.0'

Just change the support library version to 26.0.1 and it will work fine. I did the same, worked flawlessly in my case.

Syyam Noor

add this line at the end of app level gradle file

apply plugin: 'com.google.gms.google-services'

I was able to solve by hoovering over compile 'com.android.support:appcompat-v7:26.0.0' and adding the libraries manually that it said was wrong such as

compile 'com.android.support:cardview-v7:26.0.0'
compile 'com.android.support:animated-vector-drawable:26.0.0'
compile 'com.android.support:customtabs:26.0.0'

add this line to your manifest

 <meta-data android:name="com.google.android.gms.version" android:value="@integer/google_play_services_version"
        tools:replace="android:value" />

exactly as shown inside the "application" tag.

This type of error has come up because of different libraries added by you. While adding libraries make sure that all of them are of the same version and work flawlessly with one another.

It occurs when you use different versions of the same library for implementation in the build.gradle of app module. You can solve this by implementing same versions of a library.

If the problem still persists then add the following code at the end of build.gradle(app module)

configurations.all {
    resolutionStrategy.eachDependency { DependencyResolveDetails details ->
        def requested = details.requested
        if (requested.group == 'com.android.support') {
            if (!requested.name.startsWith("multidex")) {
                details.useVersion '25.3.0'
            }
        }
    }
}
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!