web-dev-qa-db-ja.com

Android Studio 3.0 Unable to merge dex

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

私は見上げた:

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

did google/stack overflowを介して解決策を提供する、より説明的なエラーメッセージが表示されました。

私の場合

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をより高い値に戻すことができますが、値を小さくすると、より説明的な(またはよりグーグルが可能な)問題(および解決策)が得られるようです

乾杯、

S.

4
Bamboomy

ファイルbuild.gradle(プロジェクト:XXX)には、このスニペットがあります

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

以前は、これは2.3.3でしたが、Android Studioを更新したときに3.0.0になりました。2.3.3に戻してから再同期して、Android StudioでGradleおよびgradleプラグインを3.0.0に更新するように求められますが、現時点では、Merge Dexに関連するビルドの問題は発生していません。

1
Adrian Borja

私の場合、次の依存関係を追加した後に発生し始めました。

implementation 'com.getbase:floatingactionbutton:1.9.0'

ここや他の場所で公開されているすべての提案を試しましたが、何もうまくいきませんでした。

その後、他の多くの場合に役立つ一般的なソリューションを試しましたが、うまくいきました。 [ツール]にある次のメニューの[プロジェクトをgradleファイルと同期する]を使用しました。 enter image description here

0
Oleg Gryb

「設定」->「Android SDK」->「SDKツール」をご覧ください。v.46でGoogle Playサービスがチェックされ、インストールされています。新しいAndroidバージョン。

プロジェクトをクリーンして再ビルドします。問題が解決するはずです。そうでない場合は、.gradleフォルダーを削除して、再度クリーンアップして再構築してみてください。

私にとっても、すべてのAndroidプロジェクトを閉じて、Android studioを再度開く必要があり、スムーズに機能しました。

幸運を、

0
SHAI86

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

最小SDKを16に、ターゲットSDKを25に変更し、multidexenabled=true in default.config。に以下を追加しますapp/build.gradle

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