在将Android Studio更新到3.0.1之前,我从未遇到过dex merge错误。在我更新到3.0.1后,我开始面临以下错误
Error:Execution failed for task ':app:transformDexArchiveWithExternalLibsDexMergerForDebug'.
> com.android.builder.dexing.DexArchiveMergerException: Unable to merge dex
为了解决这个问题,我在stackoverflow和google中尝试了很多解决方案,但我没有得到任何解决方法。
例如:
我尝试添加defaultConfig
multiDexEnabled
true并更新了Myapplication.java
文件。
我试图清理并重建。
我尝试Invalidate catch / Restart然后重建。
构建应用程序时出现以下错误:
Error:Error converting bytecode to dex:
Cause: com.android.dex.DexException: Multiple dex files define Lnet/sourceforge/zbar/SymbolSet;
Error:com.android.dex.DexException: Multiple dex files define Lnet/sourceforge/zbar/SymbolSet;
Error: at com.android.dx.merge.DexMerger.readSortableTypes(DexMerger.java:661)
Error: at com.android.dx.merge.DexMerger.getSortedTypes(DexMerger.java:616)
Error: at com.android.dx.merge.DexMerger.mergeClassDefs(DexMerger.java:598)
Error: at com.android.dx.merge.DexMerger.mergeDexes(DexMerger.java:171)
Error: at com.android.dx.merge.DexMerger.merge(DexMerger.java:198)
Error: at com.android.builder.dexing.DexArchiveMergerCallable.call(DexArchiveMergerCallable.java:61)
Error: at com.android.builder.dexing.DexArchiveMergerCallable.call(DexArchiveMergerCallable.java:36)
Error: at java.util.concurrent.ForkJoinTask$AdaptedCallable.exec(ForkJoinTask.java:1424)
Error: at java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:289)
Error: at java.util.concurrent.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1056)
Error: at java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1692)
Error: at java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:157)
Error:Execution failed for task ':project_name:transformDexArchiveWithDexMergerForDebug'.
> com.android.build.api.transform.TransformException: com.android.dex.DexException: Multiple dex files define Lnet/sourceforge/zbar/SymbolSet;
Build.gradle(项目)包含以下内容:
buildscript {
repositories {
jcenter()
google()
}
dependencies {
classpath 'com.android.tools.build:gradle:3.0.1'
classpath 'com.getkeepsafe.dexcount:dexcount-gradle-plugin:0.8.2'
classpath 'com.google.gms:google-services:3.1.1'
}
}
allprojects {
repositories {
jcenter()
google()
maven {
url "https://maven.google.com"
}
}
}
Build.gradle(module:project)包含以下内容:
apply plugin: 'com.android.application'
apply plugin: 'com.getkeepsafe.dexcount'
android {
compileSdkVersion 27
buildToolsVersion '26.0.2'
defaultConfig {
applicationId “<—appID—>”
minSdkVersion 16
targetSdkVersion 27
versionCode 1
versionName "1.16.1"
multiDexEnabled true
}
dexOptions {
preDexLibraries = false
}
packagingOptions {
exclude 'META-INF/DEPENDENCIES.txt'
exclude 'META-INF/DEPENDENCIES'
exclude 'META-INF/dependencies.txt'
exclude 'META-INF/LICENSE.txt'
exclude 'META-INF/LICENSE'
exclude 'META-INF/license.txt'
exclude 'META-INF/LGPL2.1'
exclude 'META-INF/NOTICE.txt'
exclude 'META-INF/NOTICE'
exclude 'META-INF/notice.txt'
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
}
debug {
debuggable true
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
}
}
}
repositories {
mavenCentral()
maven { url "https://jitpack.io" }
maven { url "https://oss.sonatype.org/content/repositories/snapshots/" }
}
dependencies {
def supportLibrariesVersion = '27.0.2'
compile fileTree(dir: 'libs', include: ['*.jar'])
compile fileTree(include: ['*.jar'], dir: 'libs')
// compile 'cn.bingoogolapple:zbar:1.0.1'
compile 'cn.bingoogolapple:bga-qrcodecore:1.1.9@aar'
compile 'cn.bingoogolapple:bga-zbar:1.1.9@aar'
compile "com.android.support:design:$supportLibrariesVersion"
compile 'com.google.firebase:firebase-messaging:10.2.1'
compile 'com.android.support:multidex:1.0.2'
compile 'it.sephiroth.android.library.imagezoom:imagezoom:+'
compile "com.android.support:support-v4:$supportLibrariesVersion"
compile "com.android.support:appcompat-v7:$supportLibrariesVersion"
compile 'com.google.code.gson:gson:2.4'
compile 'joda-time:joda-time:2.2'
compile 'com.michaelpardo:activeandroid:3.1.0-SNAPSHOT'
compile("com.github.hotchemi:permissionsdispatcher:3.0.1") {
// if you don't use android.app.Fragment you can exclude support for them
// exclude module: "support-v13"
}
annotationProcessor "com.github.hotchemi:permissionsdispatcher-processor:3.0.1"
}
apply plugin: 'com.google.gms.google-services'
Android studio版本 - 3.0.1
Android插件版本 - 3.0.1
gradle版本 - 4.1