Plusieurs dex fichiers de définir l'icom/google/firebase/FirebaseException
J'ai rencontré un problème avec le Firebase intégration. Tout d'abord, j'ai ajouté des règles au niveau de la racine build.gradle
fichier:
buildscript {
repositories {
maven { url "http://dl.bintray.com/populov/maven" }
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:2.1.2'
classpath 'com.google.gms:google-services:3.0.0'
}
}
allprojects {
repositories {
maven { url "http://dl.bintray.com/populov/maven" }
jcenter()
}
}
task clean(type: Delete) {
delete rootProject.buildDir
}
Et le module de Gradle fichier:
apply plugin: 'com.android.application'
android {
compileSdkVersion 24
buildToolsVersion "24"
defaultConfig {
applicationId "com.example.app"
minSdkVersion 14
targetSdkVersion 24
versionCode 2
versionName "0.9"
}
buildTypes {
///
}
}
dependencies {
compile fileTree(include: ['*.jar'], dir: 'libs')
compile 'com.google.firebase:firebase-core:9.0.2'
compile 'com.google.firebase:firebase-crash:9.0.2'
}
apply plugin: 'com.google.gms.google-services'
Lors de la compilation du projet, j'obtiens l'erreur:
D'erreur:Erreur lors de la conversion du bytecode à dex: Cause:
com.android.dex.DexException: Plusieurs dex fichiers de définir
L'icom/google/firebase/FirebaseException;
Erreur raison en est claire, mais je n'ai pas de compiler une bibliothèque à deux reprises. Dois-je exclure FirebaseException
classe à partir du processus de construction manuellement? Si oui, comment? C'est peut-être un bug dans le Firebase dépendances?
Grâce.
Vous devez vous connecter pour publier un commentaire.
J'ai eu ce problème avec
react-native-google-signin
module. Comme les instructions sur la façon de modifierbuild.gradle
sont souvent pas à jour, incomplètes ou simplement défini dans plusieurs projets indépendants le projet compilé seulement après la copie des paramètres de lareact-native-google-signin
exemple de projet. Il s'avère que l'ordre des instructions est importante ainsi queexclude group
de commande. Le résultat final ressemble à ceci (enapp/build.gradle
):Haut
build.gradle
comprenaitgms
classpath comme d'habitude:Après ces changements construire terminé, sans aucun
Multiple dex
erreurs.react-native-maps
de AirBnB.FireBase est une immense bibliothèque, de sorte que vous devez activer multidex de soutien dans votre application.
Semble que vous avez atteint les méthodes de limite de nombre de. Essayez de supprimer
firebase
dépendances et vérifier les méthodes de comptage pour votre application (par exemple, avec ce plugin gradle (si vous ne retirez pas ces dépendances, vous ne serez pas en mesure de construire votre projet à tous, donc, à utiliser les méthodes de comptage plugin).Firebase est une ÉNORME bibliothèque - 17k+ méthodes. Cela dépend des tonnes de trucs. Une chose que vous pouvez faire est de vérifier les dépendances de la liste en cliquant sur ce bouton sur "methodscount.com":
Si vous possédez déjà certains de ces dans votre projet, vous pouvez essayer de les exclure:
Si cela ne vous aide pas, alors vous pourriez vouloir configurer multidex pour votre projet.
Dans le cas où il peut aider n'importe qui, j'ai été frappé d'un problème similaire, il a été causé par le plugin Gradle pour les services Google apportant une dépendance qui était en conflit avec Firebase.
Dans mon top niveau construire.gradle j'ai eu, en buildscript:
Qui était d'amener de l' (automatiquement) les dépendances qui ont été en conflit avec, dans mon application construire.gradle:
Peu de confusion que je n'avais qu'une compilation de dépendance et a me gratter la tête à ce qui pourrait être conflicing.
J'ai enlevé le google-services plugin gradle et il a résolu le problème. Je suppose que je pourrais aussi juste trouver la bonne version 🙂
Je suis en utilisant réagir-native-cartes et réagir-native-google-signin.
Et, j'ai eu Plusieurs dex fichiers de définir l'icom/google/firebase/FirebaseException
Soufflet ma solution.
Une construction ouverte.gradle (réaction de-native-cartes)
La version 10.2.4
Continuer à construction ouverte.gradle (réaction de-native-google-signin)
Il utilise la version 9.2.1, et c'est la raison.
Changer de version 10.2.4 sera
Prochain, une construction ouverte.gradle (app) et en ajouter un nouveau
Vous avez maintenant.
Commande exécuter
cd android & gradlew clean & cd ..
util pas d'erreur puis exécutezreact-native run-android
.L'espoir peut vous aider.
J'ai rencontré cette erreur lorsque j'ai été en utilisant firebase-ui:2.0.0. J'ai réussi à le résoudre par la dégradation de
'com.firebaseui:firebase-ui:1.2.0'
et ajouté la ligne suivante au niveau du Projet de construction.gradle:Grâce à ce post, il suffit de vérifier et de mettre à niveau votre google dépendances versions de la dernière version.
C'est parce que certains de vos bibliothèques à l'utilisation de différentes versions d'une autre bibliothèque.
Découvrez votre dernier ajout d'une bibliothèque et d'exclure.
Pour mon projet qui était "réagissent-native-firestack'.
Veuillez ajouter ce code à l'intérieur d'android dans la construction.gradle