android studio 3.0.1显示无法合并dex为什么?

时间:2017-11-24 05:05:13

标签: android android-gradle dex

导入项目gradle构建成功后,我将android studio 2.x.x升级到android studio 3.0.1。但是在安装显示错误消息的应用程序时

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

我的app grdle在下面给出

为什么它会显示此错误以及如何解决此问题?无法在模拟器上安装应用程序。

已经在android studio中尝试过清理和重建选项,但它没有解决问题

2 个答案:

答案 0 :(得分:4)

尝试使用以下

如果你的minSdkVersion设置为21或更高

android {
    defaultConfig {
        ...
        minSdkVersion 21 
        targetSdkVersion 26
        multiDexEnabled true
    }
    ...
}

如果你的minSdkVersion设置为20或更低,

android {
    defaultConfig {
        ...
        minSdkVersion 15 
        targetSdkVersion 26
        multiDexEnabled true
    }
    ...
}

dependencies {
  compile 'com.android.support:multidex:1.0.1'
}

如果仍未解决此问题,请尝试完成以下帖子post 1android_devpost 2

答案 1 :(得分:0)

要删除此Dex问题,只需实现一个依赖项。 当我们从同一服务器使用多个不同的服务时,会发生此问题。假设我们在项目中使用广告和Firestore,并且都有一个存储库maven。所以我们需要在存储库上调用不同的数据,我们需要dex依赖来实现。 新的更新依赖关系: -

 implementation 'com.android.support:multidex:1.0.3'

或在编译中使用testCompile如:

implementation 'com.google.android.gms:play-services-ads:15.0.1'
    testCompile 'com.google.firebase:firebase-firestore:17.0.1'

并制作multiDexEnabled true; 100%它会起作用!

相关问题