Plusieurs dex fichiers de définir l'icom/google/android/gms/interne/zzau

j'ai l'erreur com.android.dex.DexException: Multiple dex files define Lcom/google/android/gms/internal/zzau; quand je lance mon application Le gradle fichiers sont

app.gradle

dependencies {
compile fileTree(include: ['*.jar'], dir: 'libs')
compile 'com.android.support:support-v4:21.0.3'
compile 'com.android.support:appcompat-v7:21.0.3'
compile 'com.android.support:recyclerview-v7:21.0.0'
compile 'com.android.support:cardview-v7:21.0.0'
compile 'com.google.android.gms:play-services:7.0.+'
compile 'com.android.support:mediarouter-v7:21.0.3'
compile 'com.squareup:otto:1.3.5'
compile 'com.squareup.picasso:picasso:2.3.4'
compile 'com.squareup.okhttp:okhttp:2.2.0'
compile 'com.squareup.okhttp:okhttp-urlconnection:2.2.0'
compile 'com.squareup.retrofit:retrofit:1.9.0'
compile 'com.github.ksoichiro:android-observablescrollview:1.4.0'
compile 'com.astuetz:pagerslidingtabstrip:1.0.1'
compile 'com.facebook.android:facebook-android-sdk:4.1.0'
compile 'com.parse.bolts:bolts-android:1.+'
compile 'com.edmodo:rangebar:1.0.0'
compile 'com.melnykov:floatingactionbutton:1.3.0'
compile project(':library_viewpager')
compile project(':androidHorizontalListView')
compile project(':CastCompanionLibrary')
compile project(':mobihelp_sdk_android_v1.4')
compile fileTree(include: 'Parse-*.jar', dir: 'libs')
compile files('libs/Parse-1.9.2.jar')
compile files('libs/GoogleConversionTrackingSdk-2.2.2.jar')
}

Castocionlibrary

dependencies {
compile 'com.android.support:appcompat-v7:22.+'
compile 'com.android.support:mediarouter-v7:22.+'
compile 'com.google.android.gms:play-services-cast:7.5.0'
}

comment je répare ça? je suppose que l'erreur se produit car j'ai utiliser google play services dans le module et l'application. mais les versions sont différentes. est-ce causer un problème?

38
demandé sur Tchinmai 2015-07-04 22:11:02

14 réponses

j'ai eu le même problème et votre question m'a aidé à résoudre le mien et vous aidera probablement à résoudre le vôtre. Le problème est que vous avez défini:

dependencies {
...
  compile 'com.google.android.gms:play-services-cast:7.5.0'
}

et

dependencies {
...
  compile 'com.google.android.gms:play-services:7.0.+'
...
}

depuis google services 7.5.0, si vous utilisez des modules individuels à partir de services de lecture, vous ne pouvez pas utiliser l'ensemble des services de lecture comme dépendance simultanément. La Solution consiste à ne sélectionner que les services dont vous avez besoin au lieu de l'ensemble du paquet, par exemple:

au lieu

dependencies {
...
  compile 'com.google.android.gms:play-services:7.0.+'
...
}

utiliser

dependencies {
...
  compile 'com.google.android.gms:play-services-maps:7.0.+'
  compile 'com.google.android.gms:play-services-location:7.0.+'
  compile 'com.google.android.gms:play-services-gcm:7.0.+'
...
}

en outre, Je ne suis pas sûr, mais il serait probablement bon d'utiliser la même version des services google dans les deux configurations Grad.

29
répondu Krystian P. 2015-07-16 09:11:17

j'ai eu un problème similaire après avoir construit en utilisant phonegap / cordova: COM.Android.dex.DexException: plusieurs fichiers dex définissent Lcom / google / android/gms/internal / zzsk;

Je l'ai corrigé en éditant build.gradle (module Android), car j'avais 2 bibliothèques qui devraient avoir la même version avec des numéros de version différents (8.4.0 et 9.2.1 dans mon cas)

dependencies{
....
//make sure are both same version (8.4.0 or 9.2.1 in my case)
compile 'com.google.android.gms:play-services-gcm:9.2.1'
// this is the one I changed:  compile 'com.google.android.gms:play-services-location:8.4.0'
compile 'com.google.android.gms:play-services-location:9.2.1' // it was 8.4.0
....
}
16
répondu rafahoro 2016-07-28 05:07:07

mettez à jour toutes vos dépendances Firebase vers la dernière version (à partir du 2 mai 2018):

 Firebase Core          com.google.firebase:firebase-core:15.0.2
    Ads                 com.google.firebase:firebase-ads:15.0.0
  Analytics             com.google.firebase:firebase-analytics:15.0.2
 App Indexing           com.google.firebase:firebase-appindexing:15.0.0
 Authentication         com.google.firebase:firebase-auth:15.1.0
Cloud Firestore         com.google.firebase:firebase-firestore:16.0.0
Cloud Functions         com.google.firebase:firebase-functions:15.0.0
Cloud Messaging         com.google.firebase:firebase-messaging:15.0.2
Cloud Storage           com.google.firebase:firebase-storage:15.0.2
Crash Reporting         com.google.firebase:firebase-crash:15.0.2
Crashlytics             com.crashlytics.sdk.android:crashlytics:2.9.1
Invites                 com.google.firebase:firebase-invites:15.0.2
Performance Monitoring  com.google.firebase:firebase-perf:15.1.0
Realtime Database       com.google.firebase:firebase-database:15.0.0
Remote Config           com.google.firebase:firebase-config:15.0.2
https://firebase.google.com/support/release-notes/android

5
répondu Gurjap singh 2018-05-03 08:01:31

j'ai rencontré le même problème après avoir ajouté manuellement Firebase à mon application.

Pour moi, la solution était en train de changer:

classpath 'com.google.gms:google-services:3.2.0'

à:

classpath 'com.google.gms:google-services:3.0.0'

au niveau de la racine construire.gradle fichier.

4
répondu Roses 2018-03-02 09:08:59

si cela se produit avec react-native-device-info, vous ne pouvez changer que de:

compile(project(':react-native-device-info'))

compile(project(':react-native-device-info')) {
  exclude group: 'com.google.android.gms'
}

Comme décrit ici: https://github.com/rebeccahughes/react-native-device-info/blob/81b0c20fab8a10ccf0341dbd6710d7a5915b06a6/README.md#troubleshooting

4
répondu Estevão Lucas 2018-03-13 20:47:15

avait le même problème en intégrant firebase. Dans mon cas, ça a été causé par un problème de version.

ext {
    PLAY_SERVICES_VERSION = '10.2.0'
}
dependencies {
    compile "com.google.android.gms:play-services-maps:$PLAY_SERVICES_VERSION"
    compile "com.google.android.gms:play-services-location:$PLAY_SERVICES_VERSION"
    compile "com.google.android.gms:play-services-places:$PLAY_SERVICES_VERSION"
    compile 'com.google.firebase:firebase-database:10.0.1'
}

firebase dependancy a été ajouté à travers le plugin firebase intégré dans Android studio. Quand j'ai fait correspondre les versions, ça a marché.

3
répondu Irshu 2017-05-05 17:10:15

j'ai eu ce problème récemment, la raison en est la version la différence:

'com.google.firebase:firebase-ads:9.0.6'

'com.google.firebase:firebase-crash:11.0.2'

alors assurez-vous d'avoir la même version.

2
répondu Ege Kuzubasioglu 2017-07-16 08:36:25

j'ai eu le même problème mais le mien a été causé par firebase-ui la plus récente version 2.0.0. J'ai donc rétrogradé à 1.2.0 et j'ai ajouté la ligne suivante à la construction au niveau du projet.gradle fichier:

allprojects {
    repositories {
        jcenter()

        // Add the following code
        maven {
            url 'https://maven.fabric.io/public'
        }
    }
}
1
répondu Darush 2017-07-06 07:38:24

mon projet est un projet cordova ionic1, j'ai passé une nuit et une matinée entières à résoudre ce problème, c'est ce que j'ai fait beacuse j'avais des dépendances firebase et des services google: Aller à ce fichier : les plates-formes\android\cordova-plugin-firebase\cordova-plugin-firebase\app-construire.gradle

buildscript {
    repositories {
        mavenCentral()
    }
    dependencies {
        // classpath 'com.google.gms:google-services:3.0.0'
        // i changed the above line from 3.0.0 to 3.1.1
        classpath 'com.google.gms:google-services:3.1.1'
    }
}
repositories {
    mavenCentral()
}
dependencies {
    compile 'me.leolin:ShortcutBadger:1.1.4@aar'
    //compile 'com.google.firebase:firebase-crash:+'
    // i changed the above line from + to 11.0.2
    compile 'com.google.firebase:firebase-crash:11.0.2'
}

alors allez à ce fichier: les plates-formes\android\projet.propriété À l'origine, j'avais eu ce

target=android-26
android.library.reference.1=CordovaLib
cordova.gradle.include.1=cordova-plugin-firebase/app-build.gradle
cordova.system.library.1=com.google.gms:google-services:+
cordova.system.library.2=com.google.firebase:firebase-core:+
cordova.system.library.3=com.google.firebase:firebase-messaging:+
cordova.system.library.4=com.google.firebase:firebase-crash:+
cordova.system.library.5=com.google.firebase:firebase-config:+
cordova.system.library.6=com.android.support:support-v4:24.1.1+
cordova.system.library.7=com.google.android.gms:play-services-auth:11.+
cordova.system.library.8=com.google.android.gms:play-services-identity:11.+

puis j'ai commenté les services google car nous avons besoin de dépendances et j'ai aussi mis les versions de firebase et gms pour le même numéro de version 11.0.2 donc après mon dossier ressemble à ceci

target=android-26
android.library.reference.1=CordovaLib
cordova.gradle.include.1=cordova-plugin-firebase/app-build.gradle
# cordova.system.library.1=com.google.gms:google-services:+
cordova.system.library.2=com.google.firebase:firebase-core:11.0.2
cordova.system.library.3=com.google.firebase:firebase-messaging:11.0.2
cordova.system.library.4=com.google.firebase:firebase-crash:11.0.2
cordova.system.library.5=com.google.firebase:firebase-config:11.0.2
cordova.system.library.6=com.android.support:support-v4:24.1.1+
cordova.system.library.7=com.google.android.gms:play-services-auth:11.0.2
cordova.system.library.8=com.google.android.gms:play-services-identity:11.0.2
1
répondu Nyola Mike 2018-04-07 09:04:47

j'ai eu ce problème et aucune des solutions n'a fonctionné. Ce qui a fonctionné pour moi était d'ajouter ce plugin

 cordova plugin add cordova-android-play-services-gradle-release --save

puis, dans les deux /plates-formes/android/cordova-plugin-fcm/ et /plates-formes/android/cordova-plugin-ouvert/ remplacez

apply plugin: com.google.gms.googleservices.GoogleServicesPlugin

avec:

ext.postBuildExtras = {
  apply plugin: com.google.gms.googleservices.GoogleServicesPlugin
}
0
répondu marshy101 2018-04-18 20:01:00

si quelqu'un avait les mêmes problèmes que moi, j'ai enlevé la dépendance firebase-core et ça a fonctionné comme un charme.

dependencies{
    implementation 'com.google.firebase:firebase-core:15.0.0'
    implementation 'com.google.android.gms:play-services-ads:15.0.0'
    implementation 'com.google.firebase:firebase-crash:15.0.0'
    implementation 'com.google.firebase:firebase-messaging:15.0.0'
}

dependencies{
    implementation 'com.google.android.gms:play-services-ads:15.0.0'
    implementation 'com.google.firebase:firebase-crash:15.0.0'
    implementation 'com.google.firebase:firebase-messaging:15.0.0'
}
0
répondu Irshad P I 2018-05-06 05:17:40

Si quelqu'un d'autre vient à travers cette question Ionique, de suppression et re-ajout de la plate-forme a fonctionné pour moi:

> ionic cordova rm platform android
> ionic cordova add platform android
0
répondu ajcurtis 2018-05-12 00:10:08

Pour toute personne vous demandez-vous comment résoudre ce problème pour Apache Cordova plugins, j'ai corrigé ce problème en assurant tout plugin.xml les fichiers incluent le même version majeure et mineure, mais Dernière révision, comme ceci:

<framework src="com.google.firebase:firebase-auth:15.0.+" />
<framework src="com.google.firebase:firebase-messaging:15.0.+" />

en utilisant 15.0.0 ci-dessus, le com.android.dex.DexException l'erreur a été soulevée pour une raison quelconque. À l'aide de + pour le numéro de révision (ce qui signifie, le plus récent), tout a fonctionné parfaitement avec cordova 7.1.0 et cordova-android 6.3.0.

n'oubliez pas de supprimer et de rajouter la plate-forme android après avoir édité plugin.xml plugins, sinon vos modifications ne seront pas appliquées à tous!

aussi: assurez-vous qu'un seul fichier gradle applique ceci, juste au cas où:

dependencies {
    classpath 'com.android.tools.build:gradle:+'
    classpath 'com.google.gms:google-services:3.0.0'
}
0
répondu andreszs 2018-07-02 02:24:35

j'avais aussi ce problème, j'ai essayé de nombreuses façons de le résoudre. Ce qui a marché pour moi, c'est d'enlever la ligne suivante de mon Grad.

compile 'com.google.firebase:firebase-core:16.0.3'

Au début, j'ai les deux firebase-core et firebase-ml-vision (ce dont j'avais besoin était seulement firebase-ml-vision) comme suit.

compile 'com.google.firebase:firebase-ml-vision:17.0.0'
compile 'com.google.firebase:firebase-core:16.0.3'

Après j'ai supprimer la ligne j'ai eu d'avertissement suivant,

attention: le fichier app gradle doit avoir une dépendance sur COM.Google.firebase: firebase-core pour que les services de Firebase fonctionnent comme destiné.

mais, selon les docs officiels, la dépendance de base peut être absente (https://firebase.google.com/docs/ml-kit/android/detect-faces), de sorte qu'on peut l'ignorer.

0
répondu Rurouni 2018-09-07 06:44:09