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' 

Solutions Collecting From Web of "Android Studio 3.0无法合并dex"

我抬头:

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

com.android.builder.dexing.DexArchiveMergerException:无法合并dex

昨天并没有发现有用的东西,

我的问题现在解决了,

这种方法可能会让你朝着一个解决scheme(它为我工作,不保证它适合你)

我有:

 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 

我得到了一个更具描述性的错误消息,通过谷歌/堆栈溢出提供解决scheme。

在我的情况

 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)问题(和解决scheme)

干杯,

S.

在你的文件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。 到目前为止,没有任何构build问题应该与Merge Dex有关。

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

看看“设置” – >“Android SDK” – >“SDK工具”谷歌播放服务已检查和安装V.46,而你在那里检查是否需要更新其他任何新的Android版本。

清理并重build项目。 它应该解决问题,如果不是,你可以尝试删除.gradle文件夹,然后再次清理和重build。

对我来说,我也不得不closures所有的Android项目,并再次打开android工作室,它工作顺利。

祝你好运,