2

Ich habe Leaderboards zu meinem Android-Spiel mit Google Games API hinzugefügt. Jetzt wollte ich Werbebanner mit dem Firebase "Wizard" von Android Studio hinzufügen. Es baut in Ordnung, aber wenn ich versuche, eine apk zu erstellen, erhalte ich folgende Fehlermeldung:Mischen von Google Play-Spielen mit Firebase

Error:Error converting bytecode to dex: Cause: com.android.dex.DexException: Multiple dex files define Lcom/google/android/gms/internal/zzqv;

Nachdem Sie den Assistenten verwenden, sieht meine build.gradle-Datei wie folgt:

apply plugin: 'com.android.application' 

    android { 
     compileSdkVersion 22 
     buildToolsVersion "22.0.1" 
     defaultConfig { 
     applicationId "xxx" 
     minSdkVersion 15 
     targetSdkVersion 22 
     versionCode 1 
     versionName "1.0" 
     testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" 
    } 
    buildTypes { 
     release { 
      minifyEnabled false 
      proguardFiles getDefaultProguardFile('proguard-android.txt'),'proguard-rules.pro' 
     } 
    } 
    } 

    dependencies { 

     compile fileTree(dir: 'libs', include: ['*.jar']) 


     compile project(':BaseGameUtils') 

     androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2',  { 
    exclude group: 'com.android.support', module: 'support-annotations' 
}) 

     compile 'com.google.android.gms:play-services-games:10.0.1' 
     compile 'com.google.firebase:firebase-ads:10.0.1' 

     testCompile 'junit:junit:4.12' 
    } 


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

Ich versuchte/lese alle Dinge, die mit dem Problem multiple dex files zusammenhängen, aber nichts hat für mich funktioniert. Hat jemand einen Tipp für mich? Muss ich Firebase auch für Bestenlisten verwenden? Konnte nicht gefunden werden, wie ...

Vielen Dank für jede Hilfe/Hinweise pettersson

+0

Ich bin nicht in der Lage, das Problem mit einer ähnlichen build.gradle Datei zu reproduzieren. Bitte posten Sie Ihre (Build-) Entwickler auf oberster Ebene. Haben Sie auch versucht, Ihr Projekt "sauber" zu machen? –

+1

Überprüfen Sie die Gradle-Datei für BaseGameUtils - ich nehme an, dass Sie mehrere Versionen von Play-Services * enthalten haben. BaseGameUtils hat nur noch einen begrenzten Wert. Vielleicht möchten Sie einfach die paar statischen Methoden von dort direkt in Ihr Projekt kopieren. –

Antwort

1

dank Clayton Wilkinson-Kommentar, konnte ich mein Problem beheben. Das Problem war, dass BaseGameUtils immer noch eine ältere Version von Play-Services verwendete/referenzierte. Die richtige Version hinzugefügt, und es funktioniert jetzt. Ich denke, ich werde BaseGameUtils für mein nächstes Projekt weglassen.

Vielen Dank

0

Sicher gibt es einige Konflikte ... Aber die Sache ist, dass, wenn Sie im Allgemeinen sprechen, ich meine, Sie kompilieren verwenden ‚com.google.android.gms: Play- Dienste: XXX ', es ist fertig.

0

Ich hatte den gleichen Fehler, nur ermöglicht proguard gearbeitet (auf true false ändern):

buildTypes { 
    release { 
     minifyEnabled true //Here change false to true 
     proguardFiles getDefaultProguardFile('proguard-android-optimize.txt') 
    } 
}