Android Studio3.0错误:Unable to merge dex几种解决办法

android studio 教程 | 2018-10-24 04:51

用Android Studio 3.0编译gradle文件如下:

dependencies {    implementation fileTree(include: ['*.jar'], dir: 'libs')    implementation 'com.android.support:appcompat-v7:26.1.0'    implementation 'com.android.support.constraint:constraint-layout:1.1.3'     androidTestImplementation 'com.android.support.test:runner:1.0.2'    androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'    implementation files('libsolley.jar')}

结果出错:

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

很明显的错误提示是:Unable to merge dex;

翻译过来就是:无法合并dex。

再找出问题根源之前要再gradle console运行它提示的trace命令找出问题的根源,这里提示重复的包。

Run with --stacktrace option to get the stack trace.有几种解决办法供参考:

gradle加入下面这行:

multiDexEnabled true defaultConfig {        applicationId "com.xx.xxx"        minSdkVersion 15        targetSdkVersion 27        versionCode 1        versionName "1.0"        multiDexEnabled true //Add this        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"    }  3.找到重复的jar包去掉

4. 去掉dependencies 下面这行,只加入自己需要的包,避免重复,    implementation fileTree(include: ['*.jar'], dir: 'libs')

这里采用第4中方法搞定。