2017-08-07 4 views
9

Ich versuche, Firebase zu meiner App mit dem FirebaseUI hinzufügen. As the documentations says, I have used the corresponding gms:play-services (11.0.4) with the firebaseUI version (2.2.0) Wenn ich die gradle Dateien synchronisieren, ich folgende Fehlermeldung:Android Manifest Merger fehlgeschlagen, Gms spielen Dienste/Firebase

Error:Execution failed for task ':app:processDebugManifest'. 
> Manifest merger failed : Attribute meta-data#[email protected] value=(26.0.0) from [com.android.support:support-v13:26.0.0] AndroidManifest.xml:28:13-35 
    is also present at [com.android.support:customtabs:25.4.0] AndroidManifest.xml:25:13-35 value=(25.4.0). 
    Suggestion: add 'tools:replace="android:value"' to <meta-data> element at AndroidManifest.xml:26:9-28:38 to override. 

Das ist mein gradle Datei:

android { 
compileSdkVersion 26 
buildToolsVersion "26.0.1" 
defaultConfig { 
    applicationId "com.test.test" 
    minSdkVersion 21 
    targetSdkVersion 25 
    versionCode 1 
    versionName "1.0" 
} 
dependencies { 
compile fileTree(dir: 'libs', include: ['*.jar']) 


compile 'com.android.support:appcompat-v7:26.0.0' 
compile 'com.android.support.constraint:constraint-layout:1.0.2' 
compile 'com.android.support:cardview-v7:26.0.0' 
compile 'com.android.support:support-v13:26.0.0' 
compile 'com.android.support:design:26.0.0' 
compile 'com.android.support:recyclerview-v7:26.0.0' 

//firebase 
compile 'com.google.android.gms:play-services-auth:11.0.4' 
compile 'com.google.firebase:firebase-core:11.0.4' 
compile 'com.google.firebase:firebase-auth:11.0.4' 
compile 'com.google.firebase:firebase-database:11.0.4' 
compile 'com.google.firebase:firebase-storage:11.0.4' 
compile 'com.firebaseui:firebase-ui:2.2.0' 

testCompile 'junit:junit:4.12' 
} 

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

ich sicher gemacht haben, dass alle Versionen auf dem neuesten Stand sind und dass sie sind alle gleich. Kann nicht herausfinden, was das Problem ist?

+0

Wird das Problem durch das Hinzufügen von 'compile 'com.android.support: customtabs: 26.0.0' behoben? –

+1

Nein, es löst das Problem nicht. aber https://StackOverflow.com/a/45559003/5806017 tat –

Antwort

26

ich das Problem gelöst durch Zugabe von:

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.

Der Tooltip-Tools empfohlen Hinzufügen: replace =“ Android: Wert "'zu Meta-Daten, aber dies wirft einen anderen Fehler, so gehe ich mit der Lösung über

+0

Das spart Stunden Arbeit! – Brett

+0

Denken Sie daran, "multidex" mit dem Kommentar Ihres Fehlerprotokolls –

+0

zu ersetzen, aber wo Sie diese – Pranita

0

fügen Sie diese Zeile am Ende der App-Ebene gradle Datei

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

Ich habe vergessen, die letzte Zeile zu kopieren, es war schon da (aktualisierte Frage) – fogx

0

konnte ich durch lösen über compile 'com.android.support:appcompat-v7:26.0.0' hoovering und das Hinzufügen der Bibliotheken von Hand, dass es sagte, war falsch, wie

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' 
8

Es passiert, weil zwei Versionen von Support-Bibliotheken clashing werden. Obendrein haben Sie

buildToolsVersion "26.0.1" 

und auf Abhängigkeiten deklariert, ist die Version 26.0.0

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

einfach die Version 26.0.1 Support-Bibliothek ändern und es wird funktionieren. Ich habe auch das selbe gemacht, funktionierte einwandfrei in meinem Fall.

+0

Der beste Weg für mich! Vielen Dank! – Pierry

+0

Richtige Antwort, danke! –

0

diese Zeile in Ihrem Manifest hinzufügen

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

genau wie in der "Anwendung" Tag gezeigt.

+0

für mich nicht funktioniert – Pranita

+0

Hallo @Pranita leider diese Art von Fehlern haben keine "one size fits all" zu beheben. Deshalb gibt es viele Antworten zu versuchen. Versuchen Sie einige der anderen Antworten, hoffentlich finden Sie die richtige für Ihre Situation. – Sam

Verwandte Themen