web-dev-qa-db-fra.com

DexArchiveMergerException avec Android Studio 3.0

Avoir une erreur de compilation avec les détails build.gradle suivants: 

Niveau supérieur build.gradle

buildscript {
repositories {
    google()
    jcenter()
    mavenCentral()
 }
dependencies {
    classpath 'com.Android.tools.build:gradle:3.0.0'
 }
}

allprojects {
    repositories {
        google()
        jcenter()
        mavenCentral()
        maven { url 'https://maven.google.com' }
    }
}

task clean(type: Delete) {
         delete rootProject.buildDir
     }

Niveau d'application build.gradle

    apply plugin: 'com.Android.application'

    Android {
        compileSdkVersion 27
        defaultConfig {
            applicationId "com.abc"
            minSdkVersion 15
            targetSdkVersion 27
            versionCode 1
            versionName "1.0"
            testInstrumentationRunner "Android.support.test.runner.AndroidJUnitRunner"
            multiDexEnabled true

            dataBinding {
                enabled true
            }

            dexOptions {
                javaMaxHeapSize "4g"
            }
        }
        buildTypes {
            release {
                minifyEnabled false
                proguardFiles getDefaultProguardFile('proguard-Android.txt'), 'proguard-rules.pro'
            }
        }

        compileOptions {
            sourceCompatibility JavaVersion.VERSION_1_8
            targetCompatibility JavaVersion.VERSION_1_8
        }
    }

    dependencies {
        implementation fileTree(dir: 'libs', include: ['*.jar'])
        testImplementation 'junit:junit:4.12'
        androidTestImplementation 'com.Android.support.test.espresso:espresso-core:3.0.1'

        // Android
        implementation 'com.Android.support:appcompat-v7:27.+'
        implementation 'com.Android.support:support-v4:27.+'
        implementation 'com.Android.support:support-annotations:27.+'

        // RxJava & RxAndroid
        implementation 'io.reactivex.rxjava2:rxandroid:2.+'
        implementation 'io.reactivex.rxjava2:rxjava:2.+'
        implementation 'com.tbruyelle.rxpermissions2:rxpermissions:0.9.4@aar'


        //Glide for images
        implementation 'com.github.bumptech.glide:glide:4.+'
        annotationProcessor 'com.github.bumptech.glide:compiler:4.+'

        // Retrofit : Network
        implementation 'com.squareup.retrofit2:retrofit:2.+'
        implementation 'com.squareup.retrofit2:converter-jackson:2.+'
        implementation 'com.google.code.gson:gson:2.+'

        // Multidex
        implementation 'com.Android.support:multidex:1.+'

    }

C'est l'erreur

Erreur: L'exécution a échoué pour la tâche ': app: transformDexArchiveWithExternalLibsDexMergerForDebug' . com.Android.builder.dexing.DexArchiveMergerException: com.Android.tools.r8.errors.CompilationError: Type de programme déjà présent: Android.support.v4.app.ActionBarDrawerToggle $ DelegateProvider

5
BST Kaal

d'abord, essayez ceci 

  • nettoie ton projet 
  • puis reconstruire

si le problème persiste 

  • invalider catch et redémarrer à partir du menu Fichier.

et enfin si reste le problème reste essayer ceci 

effacer
\construire
.idée
. gradle
app\build
 

puis reconstruire. espérons cette aide;).

4
max

Résolu ce problème en ajoutant: Implementation "com.google.firebase: firebase-analytics: 15.0.0"

Si étrange que cela puisse paraître, toutefois, conformément à la documentation de Firebase, Firebase-Analytics est inclus dans Firebase-Core.

1

Cette erreur survient lorsque nous mettons à niveau la version studio ou graduée d'Android. La solution est:

Assurez-vous que vous ajoutez des versions stables des bibliothèques Firebase et des bibliothèques de services de lecture.

J'ai rencontré le même problème lorsque je suis passé à studio 3.1.2 et résolu en vérifiant toutes les versions sur ces liens. Assurez-vous que si vous utilisez les modules de la bibliothèque, vous devez avoir la même version que l'application.

https://firebase.google.com/support/release-notes/Android#latest_sdk_versions

https://developers.google.com/Android/guides/setup

1
Sayali

Vous ne devriez pas travailler avec des bibliothèques qui se terminent par +. Vous devez spécifier votre versionIl sera:

        // Android
        implementation 'com.Android.support:appcompat-v7:27.0.0'
        implementation 'com.Android.support:support-v4:27.0.0'
        implementation 'com.Android.support:support-
         annotations:27.0.0'

        // RxJava & RxAndroid
        implementation 'io.reactivex.rxjava2:rxandroid:2.0.1'
        implementation 'io.reactivex.rxjava2:rxjava:2.0.1'
        implementation 'com.tbruyelle.rxpermissions2:rxpermissions:0.9.4@aar'


        //Glide for images
        implementation 'com.github.bumptech.glide:glide:4.3.0'
        annotationProcessor 'com.github.bumptech.glide:compiler:4.3.0'

        // Retrofit : Network
        implementation 'com.squareup.retrofit2:retrofit:2.3.0'
        implementation 'com.squareup.retrofit2:converter-jackson:2.3.0'
        implementation 'com.google.code.gson:gson:2.8.1'

        // Multidex
        implementation 'com.Android.support:multidex:1.0.1'
0
Nawrez