Je viens de mettre à jour le studio Android 2.3.3 à 3.0 maintenant
Error:Execution failed for task ':app:transformDexArchiveWithExternalLibsDexMergerForDebug'. Java.lang.RuntimeException: Java.lang.RuntimeException: com.Android.builder.dexing.DexArchiveMergerException: Unable to merge dex
Voici mon fichier de classement:
apply plugin: 'com.Android.application'
Android {
compileSdkVersion 25
buildToolsVersion '26.0.2'
defaultConfig {
applicationId "d91.compassacademy"
minSdkVersion 19
targetSdkVersion 25
versionCode 3
versionName "1.0"
testInstrumentationRunner
"Android.support.test.runner.AndroidJUnitRunner"
vectorDrawables.useSupportLibrary = true
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-Android.txt'), 'proguard-rules.pro'
}
debug {
debuggable true
}
}
}
repositories {
mavenCentral()
google()
}
dependencies {
compile fileTree(include: ['*.jar'], dir: 'libs')
compile 'com.Android.support:multidex:1.0.2'
compile('com.google.api-client:google-api-client-Android:1.22.0') {
exclude group: 'org.Apache.httpcomponents'
}
compile 'pub.devrel:easypermissions:0.2.1'
compile project(path: ':mapviewpager')
androidTestCompile('com.Android.support.test.espresso:espresso-core:2.2.2',
{
exclude group: 'com.Android.support', module: 'support-annotations'
})
compile 'com.Android.support:appcompat-v7:25.4.0'
compile 'com.Android.support:recyclerview-v7:25.4.0'
compile 'com.Android.support:cardview-v7:25.4.0'
compile 'com.google.firebase:firebase-database:11.4.2'
compile 'com.google.Android.gms:play-services-auth:11.4.2'
compile 'com.google.Android.gms:play-services-places:11.4.2'
compile 'com.google.Android.gms:play-services:11.4.2'
compile 'com.google.firebase:firebase-storage:11.4.2'
compile 'com.google.firebase:firebase-auth:11.4.2'
compile 'com.firebaseui:firebase-ui-database:1.1.1'
compile 'com.squareup.picasso:picasso:2.5.2'
compile 'com.theartofdev.edmodo:Android-image-cropper:2.3.1'
compile 'com.roughike:bottom-bar:2.1.1'
compile 'com.Android.support:support-v4:25.4.0'
compile 'com.squareup.retrofit:retrofit:1.9.0'
compile 'com.Android.support:support-vector-drawable:25.4.0'
compile 'pub.devrel:easypermissions:0.2.1'
compile 'com.google.code.findbugs:jsr305:2.0.1'
compile 'com.jakewharton:butterknife:8.4.0'
compile 'com.getbase:floatingactionbutton:1.10.1'
compile 'com.Android.support:multidex:1.0.2'
compile 'com.Android.support.constraint:constraint-layout:1.1.0-beta3'
testCompile 'junit:junit:4.12'
}
apply plugin: 'com.google.gms.google-services'
J'ai levé les yeux:
Error:Execution failed for task ':memDicez:transformDexArchiveWithExternalLibsDexMergerForDebug'.
com.Android.builder.dexing.DexArchiveMergerException: impossible de fusionner dex
hier et rien trouvé utile,
mon problème est maintenant résolu,
cette méthode peut vous amener vers une solution (cela a fonctionné pour moi, aucune garantie que cela fonctionne pour vous)
J'ai eu:
Android {
compileSdkVersion 25
buildToolsVersion '26.0.2'
defaultConfig {
applicationId "(my secret applicationId)"
minSdkVersion 21
targetSdkVersion 25
multiDexEnabled true
}
...
}
et
dependencies {
compile 'com.Android.support:appcompat-v7:25.3.1'
compile 'com.Android.support:support-v4:25.3.1'
compile 'ch.acra:acra:4.9.2'
//compile 'com.google.Android.gms:play-services-auth:9.0.0'
compile 'com.loopj.Android:android-async-http:1.4.9'
compile 'com.koushikdutta.ion:ion:2.+'
compile group: 'com.googlecode.json-simple', name: 'json-simple', version: '1.1.1'
}
et quand j'ai changé:
minSdkVersion 21
à
minSdkVersion 16
J'ai reçu un message d'erreur plus descriptif qui a fait a donné des solutions via google/stack overflow.
dans mon cas
compile group: 'com.googlecode.json-simple', name: 'json-simple', version: '1.1.1'
devrait être changé en
compile('com.googlecode.json-simple:json-simple:1.1.1') {
exclude group: 'org.hamcrest', module: 'hamcrest-core'
}
Vous pouvez modifier la valeur minSdkVersion à une valeur supérieure ultérieurement, mais sa diminution semble donner un problème plus descriptif (ou plus facile à définir).
à votre santé,
S.
Dans votre fichier build.gradle (Project: XXX), il y a cet extrait
buildscript {
repositories {
jcenter()
}
dependencies {
classpath 'com.Android.tools.build:gradle:3.0.0'
}
}
Auparavant, il s’agissait de 2.3.3, puis est devenu 3.0.0 lorsque vous avez mis à jour votre Android Studio. Essayez de revenir à la version 2.3.3 puis à la resynchronisation, puis attendez que votre Android Studio vous demande de mettre à jour votre plug-in Gradle and gradle vers la version 3.0.0. À ce stade, aucun problème de génération ne devrait apparaître lié à Fusionner Dex.
Cela a commencé dans mon cas après l'ajout de la dépendance suivante.
implementation 'com.getbase:floatingactionbutton:1.9.0'
J'ai essayé toutes les suggestions publiées ici et ailleurs, mais rien n'a fonctionné.
J'ai alors essayé une solution commune qui a aidé dans de nombreux autres cas et cela a fonctionné. J'ai simplement utilisé "Projet de synchronisation avec des fichiers de gradation" dans le menu suivant, que vous pouvez trouver dans Outils .
Jetez un coup d'oeil dans "Paramètres" -> "SDK Android" -> "Outils du SDK", les services Google Play sont vérifiés et installés v.46, pendant que vous vérifiez si vous devez mettre à jour la dernière version Android.
Nettoyer et reconstruire le projet . Il devrait résoudre le problème, sinon vous pouvez essayer de supprimer le dossier .gradle et nettoyer et reconstruire à nouveau.
Pour moi, je devais également fermer tous les projets Android et rouvrir Android Studio, et tout se passait bien.
Bonne chance,
multiDexEnabled true
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'
}
} }
Mon problème a été résolu en remplaçant le SDK minimal par 16 et le cible par 25, et en ajoutant multidexenabled=true
dans default.config
. Ajoutez ce qui suit dans app/build.gradle
:
compile 'com.Android.support:appcompat-v7:25.+'
compile 'com.Android.support:design:25.+'