Je sais que plusieurs problèmes de dex ont déjà été signalés auparavant, mais aucune des solutions ne semble fonctionner dans mon cas.
Console:
Unable to execute dex: Multiple dex files define Lbolts/AggregateException;
Conversion to Dalvik format failed: Unable to execute dex: Multiple dex files define Lbolts/AggregateException;
L'une des solutions les plus courantes consiste à désélectionner le conteneur «Bibliothèques privées Android» dans buildpath. Je ne peux pas faire cela parce que j'ai besoin de plus de bibliothèques dans ce conteneur.
Une autre solution consiste à désélectionner toute bibliothèque dupliquée explicitement ajoutée au format .jar. Je n'ai pas de telles bibliothèques.
La bibliothèque en double dans mon cas est: Android-support-v7-appcompat.jar
Je l'ai (directement référencée à partir du dossier sdk) dans ces deux conteneurs:
1.) Bibliothèques privées Android
2.) Dépendances Android
Le problème est que je ne peux tout simplement pas désélectionner complètement l'un de ces deux conteneurs, car ils contiennent tous les deux les autres bibliothèques nécessaires. Mais je ne parviens pas non plus à supprimer uniquement ce fichier .jar en double des conteneurs.
EDIT: N.B. Lorsque j'ajoute le projet de bibliothèque Android-support-v7-appcompat à mon projet, il entre dans les deux conteneurs. Il doit y avoir un moyen pour que cela entre dans un seul.
Quelqu'un peut-il m'aider comment je peux le faire?
RÉSOLU QUELQUE FAIT
La bibliothèque bolts-Android
était le vrai problème ici. Il y avait deux versions différentes provoquant un conflit. La bibliothèque FacebookSDK
apporte bolts-Android-1.1.2
et Android-support-v7-appcompat
apporte bolts-Android-1.1.4
.
J'ai désélectionné le conteneur Bibliothèques privées Android dans le projet FacebookSDK
library, qui contenait bolts-Android-1.1.2
. En conséquence, mon projet ne dispose désormais que d’une seule version, bolts-Android-1.1.4
, qui règle le conflit. Cela fonctionne bien maintenant.
En outre, les entrées Android-support-v7-appcompat
en double n'étaient pas un problème.
je l'ai rencontré récemment sur mon projet natif de réaction, vous pouvez accéder à votre dossier Android de votre projet. et dans le terminal, tapez cette commande "./gradlew app: dependencies" pour voir l’arborescence des dépendances. J'ai trouvé deux paquets pour les boulons Android sous Facebook SDK. si vous excluez ce paquet de facebook sdk les choses fonctionneront à nouveau correctement
compile ('com.facebook.react:react-native:+') {
exclude group: 'com.parse.bolts', module: 'bolts-tasks'
}
Cela peut arriver lors de l'ajout de Facebook SDK à Android, vous pouvez le résoudre avec:
compile ("com.facebook.Android:facebook-Android-sdk:4.1.0") {
exclude group: 'com.parse.bolts', module: 'bolts-Android'
}
comme la version de réaction a été mise à jour à la version 0.31.0, lorsque vous souhaitez intégrer com.facebook.fresco:animated-gif:0.10.0
qui a com.parse.bolts
, vous pouvez procéder comme suit:
compile ('com.facebook.react:react-native:+') {
exclude group: 'com.parse.bolts', module: 'bolts-tasks'
}
compile ('com.facebook.fresco:animated-gif:0.10.0'){
exclude group: 'com.parse.bolts', module: 'bolts-tasks'
}