web-dev-qa-db-fra.com

Erreur Dex sur Android Studio 3.0 Beta4

Error:Java.lang.RuntimeException: Java.lang.RuntimeException: com.Android.builder.dexing.DexArchiveMergerException: Unable to merge dex
Error:Java.lang.RuntimeException: com.Android.builder.dexing.DexArchiveMergerException: Unable to merge dex
Error:com.Android.builder.dexing.DexArchiveMergerException: Unable to merge dex
Error:com.Android.dex.DexException: Multiple dex files define Lcom/google/zxing/integration/Android/IntentResult;
50
Ankita-user3449434

J'ai le même problème avec Android Studio 3.0 beta 4. J'ai trouvé une solution.

1. Dans le menu Build, appuyez sur la touche Clean Project.

Clean Project

2. Une fois la tâche terminée, appuyez sur la touche Rebuild Project dans le menu Build.

enter image description here

54
Y.E.S.

Pour Android Studio 3.0, j'ai ajouté ceci à mon diplôme:

multiDexEnabled true

Et ça a marché!

Exemple

Android {
    compileSdkVersion 25
    buildToolsVersion '26.0.2'
    defaultConfig {
        applicationId "com.xx.xxx"
        minSdkVersion 15
        targetSdkVersion 24
        versionCode 9
        versionName "1.0"
        multiDexEnabled true //Add this
        testInstrumentationRunner "Android.support.test.runner.AndroidJUnitRunner"
    }
    buildTypes {
        release {
            shrinkResources true
            minifyEnabled true
            proguardFiles getDefaultProguardFile('proguard-Android-optimize.txt'), 'proguard-rules.pro'
        }
    }
}
28
Prodigy

J'ai donc résolu ce problème en procédant comme suit:

  • Supprimez le dossier ./gradle à l'intérieur de votre projet.
  • Supprimer tous les les dossiers de construction et le cache gradle. J'ai lancé la commande suivante:

Comment ?

 cd ~/[your project root folder] && find . -name build -exec rm -rf {} \; && rm -rf $HOME/.gradle/caches/

En supposant que vos fichiers de configuration de gradle se trouvent dans le dossier $HOME/.gradle.

  • À l'intérieur de Android Studio, allez dans File > Invalidate caches / Restart..., invalide les caches et le redémarre.
18
ADev

Vous devriez pouvoir trouver la cause de cette erreur en inspectant vos dépendances avec gradle et en recherchant les doublons comme celui-ci: ./gradlew -q app:dependencies

Dans mon cas, l’erreur suivante se produisait au moment de la construction:

_Duplicate Zip entry [httpcore-4.4.1.jar
_

et cela a été résolu en faisant ceci dans mon _build.gradle_:

_implementation ('me.dlkanth:stetho-volley:1.0') {
    exclude group: 'org.Apache.httpcomponents'
}
_
9
IgorGanapolsky

Si votre minSdkVersion est 21 ou supérieur

   Android {
        defaultConfig {
           multiDexEnabled true
        }
    }

si votre minSdkVersion est de 20 ou moins

1) vous devez ajouter la bibliothèque suivante dans les dépendances

dependencies {
  compile 'com.Android.support:multidex:1.0.1'
}

2) Créez une classe Java, puis étendez-la à partir de Application et substituez la méthode attachBaseContext.

 public class MyApplication extends Application {
    @Override
    protected void attachBaseContext(Context base) {
        super.attachBaseContext(base);
        MultiDex.install(this);
    }
}

) Mentionnez la classe créée à l'intérieur du manifeste dans la balise d'application.

    <application
        Android:name=".MyApplication"
.
.
.
    </application>
7
Opriday

Vérifiez la dernière version de vos dépendances. Il s'agit généralement d'une incohérence avec la version de vos dépendances.

1.Construisez> Nettoyez le projet 2. Reconstruisez votre projet

Recherchez dans le journal détaillé la dépendance à l'origine du problème de fusion et mettez-le à jour. Répétez la même chose pour chaque dépendance.

6
Wills

J'ai rencontré le même problème dans Android Studio 3.0.1, j'ai essayé tous les cas possibles, mais rien ne fonctionnait pour moi, comme mentionné ci-dessus, enfin je l'ai résolu par

Solution1:

  • Fermez Android Studio
  • Supprimez le dossier .gradle situé dans C:\Users\YourComputerName\.gradlepas à partir de .gradle de l'application) _
  • Redémarrer Android studio

Il téléchargera tous les fichiers nécessaires et les ajoutera à votre chemin de construction

Solution2:

  • Supprimer le fichier jar en double du dossier libs dans app/libs
  • Relancez l'application

En effet, s’il existe un fichier jar en double déjà défini dans le fichier build.gradle, le problème est résolu.

Cela a résolu le problème pour moi. Cela peut aider les autres ..

3
Shylendra Madda

Cette erreur peut avoir plusieurs raisons. Pas de nettoyage et de reconstruction ou quelque chose comme ça a fait le travail pour moi.

Pour moi le problème était la dépendance:

compile 'org.jetbrains:annotations-Java5:15.0'

Je l'ai enlevé et tout a bien fonctionné.

1
Palm

Changer "compiler" en "compileOnly" c'est ce qui a fonctionné pour moi.

1

J'ai essayé d'autres commentaires sur l'élimination de Gradle et de Bla Bla Bla, mais en ajoutant multiDexEnabled true en résolvant mon problème, j'ai découvert que mon apk avait atteint la méthode Over 64K.

enter image description here

Réf.: https://developer.Android.com/studio/build/multidex.html )

0
Putra Purba

Dans mon cas, le coupable était SendGrid lib, a ajouté ceci et cela a été corrigé:

compile 'com.github.danysantiago:sendgrid-Android:1',{
    exclude group: 'org.Apache.httpcomponents', module: 'httpclient'
}
0
Zohar

J'utilise Android Studio 3.0.1 et je rencontrais le même problème. Si les autres ne répondent pas, essayez ceci:

Outils -> Android -> Synchroniser un projet avec des fichiers Gradle

Cela a fonctionné pour moi projet de synchronisation avec Gradle Files

0
jgodinez

J'utilise la version 3.0.0 de Studio. Dans mon cas, il n'y avait que la solution: j'ai supprimé les anciens JAR du dossier "libs" de mon projet: il s'agissait du paquet "ksoap2" avec dépendances. Les paquets obtenus avec gradle n'entrent généralement pas en conflit, du moins si vous utilisez les plus populaires. Mais un ancien JAR dans le dossier libs peut écraser votre construction s'il inclut toutes ses dépendances.

0
Almaz

J'utilise Android Studio 3.0.1 Build # AI-171.4443003, créé le 9 novembre 2017.

Je supprime le fichier jar du dossier libs. Et ça marche bien pour moi

0
IceCreamVan