zzwp - multiple dex files define lcom google android gms common api zzf
Varios archivos dex definen Lcom/google/android/gms/internal/zzau (14)
Los SDK de Firebase para Android ahora tienen números de versión independientes, lo que permite actualizaciones más frecuentes y flexibles.
Actualice todas sus dependencias de Firebase a la última versión (a partir del 2 de mayo de 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
Nota de la versión: https://firebase.google.com/support/release-notes/android
Recibo el error
com.android.dex.DexException: Multiple dex files define Lcom/google/android/gms/internal/zzau;
cuando ejecuto mi aplicación Los archivos gradle son
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'')
}
CastCompanionLibrary
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''
}
¿Cómo puedo solucionar esto? Supongo que el error ocurre porque uso los servicios de Google Play tanto en el módulo como en la aplicación. Pero las versiones son diferentes. ¿eso está causando un problema?
Encontré el mismo problema después de agregar manualmente Firebase a mi aplicación.
Para mí la solución estaba cambiando:
classpath ''com.google.gms:google-services:3.2.0''
a:
classpath ''com.google.gms:google-services:3.0.0''
en el archivo build.gradle de nivel raíz .
Estaba teniendo este problema y ninguna de las soluciones funcionó. Lo que funcionó para mí fue agregar este complemento
cordova plugin add cordova-android-play-services-gradle-release --save
y luego en ambas plataformas / android / cordova-plugin-fcm / y / plataformas / android / cordova-plugin-open / replace
apply plugin: com.google.gms.googleservices.GoogleServicesPlugin
con:
ext.postBuildExtras = {
apply plugin: com.google.gms.googleservices.GoogleServicesPlugin
}
Mi proyecto es un proyecto cordova ionic1, pasé toda la noche y la mañana para resolver este problema, esto es lo que hice porque tenía dependencias de Firebase y servicios de Google: vaya a este archivo: plataformas / android / cordova-plugin-firebase / cordova-plugin-firebase / app-build.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''
}
Luego vaya a este archivo: plataformas / android / project.properties Originalmente estaba teniendo esto
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.+
Luego comenté los servicios de Google, ya que necesitamos dependencias específicas y también puse las versiones para firebase y gms en el mismo número de versión de 11.0.2, así que después de que mi archivo se vea así
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
Para cualquiera que se pregunte cómo solucionar esto para
los complementos
de
Apache Cordova
, solucioné este problema asegurándome de que todos los archivos
plugin.xml
incluyen la
misma versión principal y menor, pero la última revisión
, como esta:
<framework src="com.google.firebase:firebase-auth:15.0.+" />
<framework src="com.google.firebase:firebase-messaging:15.0.+" />
Cuando se usa
15.0.0
arriba, el error
com.android.dex.DexException
se generó por alguna razón.
Al usar
+
para el número de revisión (lo que significa, último), todo funcionó perfectamente con cordova 7.1.0 y cordova-android 6.3.0.
Recuerde
eliminar y volver a agregar la plataforma de Android
después de editar
plugin.xml
de los complementos, de lo contrario sus cambios no se aplicarán en absoluto.
Además: asegúrese de que solo UN archivo gradle esté aplicando esto, por si acaso:
dependencies {
classpath ''com.android.tools.build:gradle:+''
classpath ''com.google.gms:google-services:3.0.0''
}
Si alguien más se encuentra con este problema en Ionic, eliminar y volver a agregar la plataforma funcionó para mí:
> ionic cordova rm platform android
> ionic cordova add platform android
Si alguien tuvo los mismos problemas que el mío, eliminé la dependencia de Firebase-Core y funcionó de maravilla.
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''
}
a
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 esto sucede con react-native-device-info, solo puede cambiar de:
compile(project('':react-native-device-info''))
a
compile(project('':react-native-device-info'')) {
exclude group: ''com.google.android.gms''
}
Como se describe aquí: https://github.com/rebeccahughes/react-native-device-info/blob/81b0c20fab8a10ccf0341dbd6710d7a5915b06a6/README.md#troubleshooting
También tenía este problema, intenté muchas formas de resolverlo. Lo que funcionó para mí fue eliminar la siguiente línea de mi gradle.
compile ''com.google.firebase:firebase-core:16.0.3''
Al principio tengo tanto
firebase-core
como
firebase-ml-vision
(lo que necesitaba era solo
firebase-ml-vision
) como los siguientes.
compile ''com.google.firebase:firebase-ml-vision:17.0.0''
compile ''com.google.firebase:firebase-core:16.0.3''
Después de eliminar la línea, recibí la siguiente advertencia,
Advertencia: El archivo gradle de la aplicación debe tener una dependencia en com.google.firebase: firebase-core para que los servicios de Firebase funcionen según lo previsto.
Pero, según los documentos oficiales, la dependencia central puede estar ausente ( https://firebase.google.com/docs/ml-kit/android/detect-faces ), por lo que puede ignorarse.
Tuve el mismo problema al integrar firebase. Para mi caso, fue causado por una discrepancia de versión.
en la aplicación gradle, tuve:
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''
}
La dependencia de
firebase
se agregó a través del complemento Firebase integrado en Android Studio.
Cuando emparejé las versiones, funcionó.
Tuve el mismo problema, pero el mío fue causado por la nueva versión 2.0.0 de firebase-ui. Así que bajé a 1.2.0 y agregué la siguiente línea al archivo build.gradle de nivel de proyecto:
allprojects {
repositories {
jcenter()
// Add the following code
maven {
url ''https://maven.fabric.io/public''
}
}
}
Tuve este problema recientemente, la razón fue la diferencia de versión:
''com.google.firebase:firebase-ads:9.0.6''
''com.google.firebase:firebase-crash:11.0.2''
así que asegúrese de tener la misma versión.
Tuve un problema similar después de construir usando phonegap / cordova: com.android.dex.DexException: Varios archivos dex definen Lcom / google / android / gms / internal / zzsk;
Lo arreglé editando build.gradle (módulo Android), ya que tenía 2 bibliotecas que deberían tener exactamente la misma versión con diferentes números de versión (8.4.0 y 9.2.1 en mi caso)
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
....
}
Tuve un problema similar y tu pregunta me ayudó a resolver la mía y probablemente te ayudará a resolver la tuya. El problema es que has definido:
dependencies {
...
compile ''com.google.android.gms:play-services-cast:7.5.0''
}
y
dependencies {
...
compile ''com.google.android.gms:play-services:7.0.+''
...
}
Desde los servicios de Google 7.5.0, si está utilizando módulos individuales de los servicios de reproducción, no puede utilizar los servicios de reproducción completa como dependencia simultáneamente. La solución es seleccionar solo aquellos servicios que necesita en lugar de todo el paquete, por ejemplo:
en vez de
dependencies {
...
compile ''com.google.android.gms:play-services:7.0.+''
...
}
utilizar
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.+''
...
}
Además, no estoy seguro, pero probablemente sería una buena idea usar la misma versión de los servicios de Google en ambas configuraciones de Gradle.