web-dev-qa-db-fra.com

application: transformDexArchiveWithExternalLibsDexMergerForDebug dans Android studio 3.0.1

Messages Gradle build:

Erreur: l'exécution a échoué pour la tâche ': app: transformDexArchiveWithExternalLibsDexMergerForDebug'.

Java.lang.RuntimeException: com.Android.builder.dexing.DexArchiveMergerException: impossible de fusionner dex

Voici les fichiers de construction gradle:

apply plugin: 'com.Android.application'

    Android {

        compileSdkVersion 26
        defaultConfig {

            minSdkVersion 26
            targetSdkVersion 26
            versionCode 1
            versionName "1.0"
            testInstrumentationRunner "Android.support.test.runner.AndroidJUnitRunner"
            multiDexEnabled true

        }
        buildTypes {
            release {
                minifyEnabled false
                proguardFiles getDefaultProguardFile('proguard-Android.txt'), 'proguard-rules.pro'
            }
        }
    }

    dependencies {

        implementation fileTree(include: ['*.jar'], dir: 'libs')
        implementation 'com.Android.support:appcompat-v7:26.1.0'
        implementation 'com.Android.support.constraint:constraint-layout:1.0.2'
        testImplementation 'junit:junit:4.12'
        androidTestImplementation 'com.Android.support.test:runner:1.0.1'
        androidTestImplementation 'com.Android.support.test.espresso:espresso 
        core:3.0.1'
        implementation files('libs/bsh-core-2.0b4.jar')
        implementation files('libs/Selenium-Java-2.3.0.jar')
        implementation files('libs/Selenium-remote-driver-3.0.0.jar')
        // https://mvnrepository.com/artifact/io.appium/Java-client
        implementation  group: 'io.appium', name: 'Java-client', version: '5.0.4'

    }
7
sanjay sen

Cette erreur est générique, peut être causée par de nombreuses choses

Java.lang.RuntimeException: com.Android.builder.dexing.DexArchiveMergerException: impossible de fusionner dex

Tout d'abord, vous devez savoir quelle erreur vous avez. Vous avez donc deux choix:

  • CMD: allez dans Android espaces de travail et mettez gradlew installDebug --stacktrace (facultatif --info --debug)
  • Exécutez ou générez le projet: allez dans Fichier> Paramètres> Générer, exécution, déploiement> Compilateur et écrivez dans les options de ligne de commande: - stacktrace --debug

Ensuite, vous devez aller dans la partie où dit Cause par (Last of then car u peut avoir plus d'une erreur).

Si tu as:

Causée par: com.Android.dex.DexIndexOverflowException: l'ID de méthode n'est pas dans [0, 0xffff]: 65536

Ensuite, vous devez mettre cela, comme les commentaires précédents, mais si votre mindSdkVersion> = 21

Android {
    defaultConfig 
    {
        multiDexEnabled true
    }
}

Si votre minSdkVersion <21, vous devez également mettre ceci

compile 'com.Android.support:multidex:1.0.3'

Plus d'infos ici

1
Alejandro Burdío

Dans mon cas, le problème était lié à des packages en double. J'ai utilisé un lien natif de réagir et l'application n'a pas reconnu que les packages sont liés, il en a donc fait des doublons.

Des packages en double ont été générés dans MainApplication.Java - importations et initialisation de classe.

Vérifiez également settings.gradle et build.gradle/app - il peut y avoir des packages en double qui briseront également votre application.

0
Celestial

Essayez ceci sur votre fichier build.gradle(Module: app):

Android {
    defaultConfig 
    {
        ...
        multiDexEnabled true
    }
}
0
user1791389