it-swarm.com.de

Android Studio 3.0 Dex kann nicht zusammengeführt werden

Gerade aktualisiertes Android Studio von 2.3.3 auf 3.0, jetzt habe ich den Fehler

Error:Execution failed for task ':app:transformDexArchiveWithExternalLibsDexMergerForDebug'. Java.lang.RuntimeException: Java.lang.RuntimeException: com.Android.builder.dexing.DexArchiveMergerException: Unable to merge dex

Hier ist meine Gradle-Datei:

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'
10
Cody Kolbert

Ich habe nachgeschlagen:

Error:Execution failed for task ':memDicez:transformDexArchiveWithExternalLibsDexMergerForDebug'.

com.Android.builder.dexing.DexArchiveMergerException: Dex kann nicht zusammengeführt werden

gestern und nichts nützlich gefunden,

mein Problem ist jetzt gelöst,

diese Methode könnte Sie zu einer Lösung führen (es hat für mich funktioniert, keine Garantie, dass es für Sie funktioniert)

Ich hatte:

Android {
    compileSdkVersion 25
    buildToolsVersion '26.0.2'

    defaultConfig {
        applicationId "(my secret applicationId)"
        minSdkVersion 21
        targetSdkVersion 25
        multiDexEnabled true
    }

    ...

}

und 

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'
}

und wenn ich mich geändert habe:

        minSdkVersion 21

zu

        minSdkVersion 16

Ich habe eine aussagekräftigere Fehlermeldung erhalten, die habe Lösungen über Google/Stack-Überlauf geben.

in meinem Fall 

compile group: 'com.googlecode.json-simple', name: 'json-simple', version: '1.1.1'

sollte in geändert werden

compile('com.googlecode.json-simple:json-simple:1.1.1') {
    exclude group: 'org.hamcrest', module: 'hamcrest-core'
}

Sie können die minSdkVersion später wieder auf einen höheren Wert zurücksetzen, aber wenn Sie sie verringern, scheint dies ein beschreibenderes (oder besseres) Problem (und eine Lösung) zu geben.

prost,

S.

4
Bamboomy

In Ihrer Datei build.gradle (Project: XXX) befindet sich dieses Snippet

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

Zuvor waren das 2.3.3 und dann 3.0.0, als Sie Ihr Android Studio aktualisiert haben. Versuchen Sie es auf 2.3.3 zurückzusetzen, dann Resync und warten Sie, bis Ihr Android Studio Sie auffordert, Ihr Gradle und Gradle Plugin auf 3.0.0 zu aktualisieren. Zu diesem Zeitpunkt sollten keine Build-Probleme im Zusammenhang mit Merge Dex angezeigt werden.

1
Adrian Borja

Es begann in meinem Fall nach dem Hinzufügen der folgenden Abhängigkeit. 

implementation 'com.getbase:floatingactionbutton:1.9.0'

Ich habe alle hier und an anderen Orten veröffentlichten Vorschläge ausprobiert, aber nichts hat funktioniert. 

Ich habe dann eine gemeinsame Lösung ausprobiert, die in vielen anderen Fällen geholfen hat, und es hat funktioniert. Ich habe einfach "Sync-Projekt mit Gradle-Dateien" aus dem folgenden Menü verwendet, das in Tools ..__ gefunden werden kann.  enter image description here

0
Oleg Gryb

Werfen Sie einen Blick auf "Einstellungen" -> "Android SDK" -> "SDK-Tools". Die Google Play-Dienste werden v.46 überprüft und installiert, während Sie überprüfen, ob Sie für die neue Android-Version weitere Updates benötigen.

Reinigen Sie das Projekt und erstellen Sie es neu. Das Problem sollte behoben sein. Andernfalls können Sie versuchen, den .gradle-Ordner zu entfernen und zu reinigen und erneut zu erstellen.

Für mich musste ich auch alle Android-Projekte schließen und das Android-Studio wieder öffnen, und es funktionierte reibungslos.

Viel Glück,

0
SHAI86

multiDexEnabled true

Beispiel

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'
        }
    } }
0
Youness

Mein Problem wurde behoben, indem das minimale SDK in 16 und das Ziel-SDK in 25 geändert und multidexenabled=true in default.config hinzugefügt wurde. Fügen Sie folgendes in app/build.gradle hinzu:

compile 'com.Android.support:appcompat-v7:25.+'
compile 'com.Android.support:design:25.+'
0
Varun Chandran