2

J'ai ajouté des classements à mon jeu Android en utilisant google games api. Maintenant, je voulais ajouter des bannières publicitaires en utilisant le 'Assistant' Firebase d'Android Studio. Il se construit bien, mais lorsque je tente de créer un apk, je reçois l'erreur suivante:Mixer des jeux Google Play avec Firebase

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

Après avoir utilisé l'assistant, mon fichier build.gradle ressemble à ceci:

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' 

J'ai essayé/lire toutes les choses liées au problème des fichiers dex multiples, mais rien n'a fonctionné pour moi. Quelqu'un a un indice pour moi? Dois-je utiliser Firebase pour les classements? Impossible de trouver comment ...

Merci pour toute aide/allusions Pettersson

+0

Je suis incapable de reproduire le problème en utilisant un fichier build.gradle similaire. Veuillez poster votre build.gradle de haut niveau (projet). Aussi, as-tu essayé de faire un "clean" de ton projet? –

+1

Vérifiez le fichier gradle pour BaseGameUtils - je suppose que vous avez plusieurs versions de play-services- * incluses. BaseGameUtils a une valeur limitée, vous pouvez juste vouloir copier les deux méthodes statiques à partir de là directement dans votre projet. –

Répondre

1

grâce au commentaire de Clayton Wilkinson, je pourrais résoudre mon problème. Le problème était que BaseGameUtils utilisait/référençait toujours une ancienne version de play-services. Ajouté la bonne version, et cela fonctionne maintenant. Je suppose que je vais omettre BaseGameUtils pour mon prochain projet.

Merci beaucoup

0

Bien sûr, il y a des conflits ... Mais, la chose est que si vous parlez en termes généraux, je veux dire, vous utilisez la compilation « com.google.android.gms: Play- services: XXX ', c'est fait.

0

J'ai eu la même erreur, juste travaillé proguard permet à (changer false à true):

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