2017-03-23 1 views
1

Erreur: L'exécution a échoué pour la tâche ': app: transformClassesWithDexForStagingDebug'.Plusieurs fichiers dex définissent Landroid/support/v4/content/res/TypedArrayUtils

com.android.build.api.transform.TransformException: com.android.ide.common.process.ProcessException: java.util.concurrent.ExecutionException: com.android.dex.DexException: Multiple dex files define Landroid/support/v4/content/res/TypedArrayUtils;

J'ai vu des questions similaires sur SO comme le mien, par exemple: Multiple dex files define Landroid/support/v4/accessibilityservice/AccessibilityServiceInfoCompat.

Cependant, j'ai beaucoup de bibliothèques incluses donc la sortie de mes dépendances est énorme et je ne peux pas comprendre avec la dépendance qui cause le problème. Je pensais que la question a été com.google.firebase: firebase messagerie: 10.0.1 donc j'ajouté:

compile ('com.google.firebase:firebase-messaging:10.0.1'){ 
     exclude module: 'support-v4' 
    } 

mais n'a pas résolu le problème.

Je vois aussi dans ma sortie de dépendance:

com.android.databinding:library:1.2.1 
| +--- com.android.databinding:baseLibrary:2.2.0-dev -> 2.2.2 
| \--- com.android.support:support-v4:21.0.3 -> 25.3.0 (*) 

qu'est-ce que 21.0.3 -> 25.3.0 (*) signifie exactement? Cela signifie-t-il que ma bibliothèque de liaison de données utilise 21.0.3 OU 25.3.0? Doit-il être mis à jour, si oui, comment? Peut-être que quelqu'un peut regarder ma sortie de dépendance et me diriger dans la bonne direction. Les problèmes d'Android comme ceux-ci me rendent fou.

My dependency output

+0

Dans votre sortie de dépendances, recherchez "support-v4". Je peux voir plusieurs modules ont des versions différentes de support-v4. Exclure de tous les autres modules et inclure uniquement le dernier. – Nizam

+0

Exécutez './gradlew: app: dependencies', recherchez l'importation de dépendances dupliquées et excluez-les. – azizbekian

+0

@Nizam dont vous parlez exactement? – Mike6679

Répondre

0

Cette question m'a bit quelques fois. Tout a commencé quand j'ai mis à jour ma bibliothèque com.android.support:support à: -v4: 25.3.0 '. Je pense avoir une bonne façon de résoudre le problème:

  1. Assurez-vous que tous vos composants sont à jour à savoir: « Android SDK Platform 25 », etc. Pour moi, il y avait un ballon à chaque fois que j'ai ouvert Android dit studio moi de le faire et je cliqué sur ce point:

enter image description here

  1. Ensuite, je créé un nouveau projet Android (ne pas ajouter de fichiers supplémentaires/classes - c'est juste une coquille)

  2. J'ai ensuite copié les définitions de ma bibliothèque du fichier gradle de mon projet principal (dans la section dépendance) vers le gradle du nouveau projet un par un. Après chacun d'eux j'ai ajouté, j'ai essayé de lancer le nouveau projet.

  3. Finalement, vous obtiendrez votre erreur d'origine dans le nouveau nouveau projet. Pour moi, ce fut cette bibliothèque:

    VIEUX: compilation 'com.android.support:recyclerview-v7:+' NOUVEAU: la compilation 'com.android.support:recyclerview-v7:25.3.0'