安卓工作室3.0 Beta4中的Dex错误

53
Error:java.lang.RuntimeException: java.lang.RuntimeException: com.android.builder.dexing.DexArchiveMergerException: Unable to merge dex
Error:java.lang.RuntimeException: com.android.builder.dexing.DexArchiveMergerException: Unable to merge dex
Error:com.android.builder.dexing.DexArchiveMergerException: Unable to merge dex
Error:com.android.dex.DexException: Multiple dex files define Lcom/google/zxing/integration/android/IntentResult;

1
@IntelliJAmiya 这不是已经报告的问题的重复。至少对我来说,问题始于AS 3.0 beta 4,而且我已经使用了multidex。 - ADev
怎么办?我没有权限,我想。 - ADev
1
@ADev 是的。谢谢提醒。这是一个 bug 吗?确定吗? - IntelliJ Amiya
1
我还不确定。但是我可以在命令行上运行 ./gradlew assembleRelease,没有任何问题。 - ADev
尝试将以下代码添加到您的Gradle文件中: multiDexEnabled true 这对我有用。 - ManmeetP
显示剩余4条评论
15个回答

0

0

我正在使用 Android Studio 3.0.1 Build #AI-171.4443003,构建于2017年11月9日

我从 libs 文件夹中删除了 jar 文件。这对我来说很好用。


0

我正在使用Studio 3.0.0版本。在我的情况下,唯一的解决方案是:我从项目中的“libs”文件夹中删除了旧的JAR文件:这是带有依赖关系的“ksoap2”包。通常使用Gradle获取的软件包不会相互冲突,至少如果您使用最流行的软件包。但是,如果libs文件夹中有旧的JAR文件并且包含所有自己的依赖项,则可能会破坏您的构建。


0
在我的情况下,罪魁祸首是SendGrid库,添加了它就解决了问题:
compile 'com.github.danysantiago:sendgrid-android:1',{
    exclude group: 'org.apache.httpcomponents', module: 'httpclient'
}

-1
有时候会出现同一个库(jar文件)出现两次或者您的项目已经达到了64k方法限制的情况。
解决方案: 1)如果您的项目使用数据绑定,请删除它 2)从lib文件夹中删除相同类型的库,或者从c//user//your_pc//.gradle中删除.gradle文件 3)在您的build.gradle中应用此解决方案。
android {
    defaultConfig {
       multiDexEnabled true
    }
}

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接