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?
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.
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
....
}
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
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.
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
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é.
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.
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'
}
}
}
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
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
}
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'
}
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
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'
}
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.