java.lang.IllegalStateException: Dex archives: le réglage .DEX extension uniquement pour .Les fichiers de CLASSE
- Je construire le projet à gitlab ci
./gradlew assembleDebug --stacktrace
et parfois, il renvoie une erreur:
FAILURE: Build failed with an exception.
* What went wrong:
Execution failed for task ':app:transformClassesWithDexBuilderForDebug'.
> com.android.build.api.transform.TransformException: java.lang.IllegalStateException: Dex archives: setting .DEX extension only for .CLASS files
À mon pc local il fonctionne correctement.
kotlin version 1.2
multidex est activé
Quelle est la raison de cette erreur?
avez-vous permet mutlidex vrai et ajout d'une bibliothèque pour mutlidex?
oui, j'ai édité la question
Trouvé de solution?
non, exception ne semble pas plusieurs jours
Je vois ce problème sur buddybuild mais sur mon développement local de la machine, il fonctionne très bien. Toutes les idées sont les bienvenues. J'ai essayé activation multidexing mais ça n'a rien changé.
oui, j'ai édité la question
Trouvé de solution?
non, exception ne semble pas plusieurs jours
Je vois ce problème sur buddybuild mais sur mon développement local de la machine, il fonctionne très bien. Toutes les idées sont les bienvenues. J'ai essayé activation multidexing mais ça n'a rien changé.
OriginalL'auteur m.myalkin | 2017-12-13
Vous devez vous connecter pour publier un commentaire.
./gradlew clean
fixé de la même erreur pour moi.Le demandeur mentionne qu'ils sont bâtiment par gitlab ci, de sorte que Android Studio est hors de propos ici.
dans un cordova projet de l'utilisation de
./platforms/android/gradlew clean
Ou dans un cordova projet de l'utilisation de
cordova clean
- Je nettoyer l' ./gradlew dossier et fonctionne très bien!
OriginalL'auteur mixel
Il semble que j'ai trouvé la solution.
Sur le moment gradle été à l'affiche des avertissements pour moi:
J'ai fait une faute d'orthographe et j'ai oublié de supprimer les annotationProcessor pour la bibliothèque:
J'ai donc enlevé la première ligne.
Après que j'ai appliqué kapt plugin
apply plugin: 'kotlin-kapt'
et la correction de quelques erreurs lors de la génération de code après.Après tout, j'ai réalisé que j'avais oublié de remplacer
compile
àimplementation
dans certains endroits. C'est bizarre, mais sans construire n'a pas fonctionné.Cela change réparer mon erreur construire.
OriginalL'auteur m.myalkin
La réponse ci-dessus est surtout à droite, mais dans mon cas, j'obtiens cette erreur quand je caisse même nom java et kotlin fichier supprime ensuite l'un d'eux.
Solutions sont: juste Build -> Nettoyage de Projet mon projet et il fonctionne. Et mon projet a également permis multiDex.
OriginalL'auteur Md Imran Choudhury
Comme mentionné ci-dessus par @mixel nettoyage fait le travail. Mais comme une possibilité de ne pas le faire manuellement, il suffit d'ajouter le gradle "propre" d'une tâche en application de fonctionner de configuration de sorte qu'il sera fait tout le temps avant le lancement. De cource, il peut ralentir l'ensemble du processus un peu.
OriginalL'auteur oshurmamadov
J'ai été en mesure d'obtenir le problème de s'en aller par la fermeture et le redémarrage Android Studio. Peut-être même un Projet de Reconstruction aurait aussi bien fait (n'essayez pas que si).
OriginalL'auteur dazed
Configuration pour multidexing ne permet pas de résoudre ce problème pour moi.
Cependant je suis venu avec une résolution...de toutes sortes. Fondamentalement, il a impliqué la création d'une pull request pour une deuxième branche sur la même livraison que la génération qui a été un échec. La construction de ce pull request réussi, et puis Bitbucket pensé que l'original de la demande d'extraction était ok et nous a permis de fusionner, même si l'on n'a apporté aucune modification à la branche. Il y a quelques inexpliquée étrangeté là, mais la technique a travaillé.
Voici comment je l'ai fait:
Supposer que la branche qui est de l'échec, est appelé
bad-branch
.J'ai créé une nouvelle branche appelée
bad-branch-copy
sur le commit qui était commun entrebad-branch
etdevelop
. Puis j'ai fusionnébad-branch
enbad-branch-copy
. Le résultat de ce était une avance rapide tels quebad-branch-copy
fini sur la même livraison quebad-branch
. Je m'attendais à une distincte commettre si ce résultat m'a surpris, mais j'étais à saisir les pailles de toute façon donc j'ai continué.J'ai ensuite poussé
bad-branch-copy
à GitHub et créé une demande d'extraction debad-branch-copy
àdevelop
. Cela a déclenché un build surbad-branch-copy
->develop
, qui a été couronnée de succès.À ce point, buddybuild a montré une construction réussie sur
bad-branch-copy
->develop
et toujours a montré une défaillance surbad-branch
->develop
. Cependant, Bitbucket a montré une construction réussie sur le pull request pourbad-branch
. Oui, c'est vrai: buddybuild a montré un échec, mais Bitbucket a dit que c'était ok.Nous étions alors en mesure de fusionner les
bad-branch
pull request et tout allait bien avec le monde. S'il vous plaît ne me demandez pas pourquoi, je ne répondrai pas. 🙂Je pense que la même chose peut être accompli grâce à
suivie par la création d'une pull request for bad-compilation-copie.
OriginalL'auteur roobyroo
Ce qui a résolu le problème pour moi a été d'ajouter manuellement tous les conflits les fichiers manuellement. Par exemple dans mon gradle fichier que j'avais :
il a été souligné à lire. Je planait au-dessus de la ligne et android studio dit qu'il y avait un conflit avec un autre fichier à l'aide d'une moindre version. L'erreur a été similaire à
Il m'a donné les noms des fichiers et j'ai ajouté manuellement avec la version correspondante de sorte qu'ils correspondent tous
OriginalL'auteur JenniferG
veuillez trouver ici la solution de ce problème,
Avez-vous ajouté multidex dépendances, comme je l'ai écrit dans le code?
oui, bien sûr, j'ai utilisé
com.android.support:multidex:1.0.2
Ok, merci de suivre ces étapes, developer.android.com/studio/build/multidex.html
OriginalL'auteur Fenil Patel