Android Studio 3.0 Невозможно объединить dex

Просто обновленная студия Android от 2.3.3 до 3.0 теперь у меня ошибка

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

Вот мой файл gradle:

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'

Ответ 1

Я поднял глаза:

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

com.android.builder.dexing.DexArchiveMergerException: невозможно слить dex

вчера и не нашел ничего полезного,

моя проблема теперь решена,

этот метод может привести вас к решению (это сработало для меня, не гарантирует, что оно работает для вас)

У меня было:

android {
    compileSdkVersion 25
    buildToolsVersion '26.0.2'

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

    ...

}

и

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

и когда я изменил:

        minSdkVersion 21

к

        minSdkVersion 16

У меня появилось более подробное сообщение об ошибке, которое давало решения через переполнение google/stack.

в моем случае

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

следует изменить на

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

Впоследствии вы можете изменить значение minSdkVersion на более высокое значение, но при уменьшении он, кажется, дает более описательную (или более googleable) проблему (и решение)

веселит,

S.

Ответ 2

В файле build.gradle(Project: XXX) есть этот фрагмент

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

Раньше это 2.3.3, а затем 3.0.0 при обновлении Android Studio. Попробуйте вернуть его на 2.3.3, затем Resync, а затем подождите, пока ваша Android-студия попросит обновить ваш плагин Gradle и Gradle до 3.0.0. К этому времени не возникнут проблемы с компоновкой, связанные с Merge Dex.

Ответ 3

multiDexEnabled true

Пример

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

Ответ 4

Взгляните в "Настройки" → "Android SDK" → "SDK Tools". Проверяются и устанавливаются службы Google Play v.46, а там вы проверяете, нужно ли обновлять что-либо еще для новой версии Android.

Очистить и перестроить проект. Это должно устранить проблему, если вы не можете попытаться удалить папку .gradle и снова очистить и перестроить.

Для меня мне также пришлось закрыть все проекты Android и открыть андроид-студию еще раз, и это сработало гладко.

Удачи,

Ответ 5

Моя проблема была исправлена ​​путем изменения минимального SDK до 16 и целевого SDK до 25 и добавления multidexenabled=true в default.config. Добавьте follwing в app/build.gradle:

compile 'com.android.support:appcompat-v7:25.+'
compile 'com.android.support:design:25.+'

Ответ 6

Это началось в моем случае после добавления следующей зависимости.

implementation 'com.getbase:floatingactionbutton:1.9.0'

Я пробовал все предложения, опубликованные здесь и в других местах, но ничего не сработало.

Я пробовал тогда общее решение, которое помогло во многих других случаях, и это сработало. Я просто использовал "Sync project with gradle files" из следующего меню, которое можно найти в "Инструменты".  введите описание изображения здесь