如何解决错误:无法合并dex

时间:2018-03-18 10:15:12

标签: android android-studio gradle android-gradle

我正在关注youtube的教程,现在我遇到了一个问题。当我同步构建文件时。构建完成没有任何错误,但当我运行应用程序连接我的设备时,它给我错误

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

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

但是当我删除该行

 implementation 'com.theartofdev.edmodo:android-image-cropper:2.6.+'

它工作正常,但我需要这个库。那么我该如何解决呢。

我的app build.gradle文件是

apply plugin: 'com.android.application'

android {
    compileSdkVersion 26
    buildToolsVersion "26.0.2"
    defaultConfig {
        applicationId "com.nepalpolice.cdp"
        minSdkVersion 21
        targetSdkVersion 26
        versionCode 2
        versionName "2.0"
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"

    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}

dependencies {
    implementation 'com.google.firebase:firebase-auth:11.0.4'
    implementation 'com.google.firebase:firebase-storage:11.0.4'
    compile fileTree(include: ['*.jar'], dir: 'libs')
    androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {
        exclude group: 'com.android.support', module: 'support-annotations'
    })
    implementation 'com.android.support:appcompat-v7:26.+'
    implementation 'com.android.support:support-v4:26.+'
    implementation 'com.android.support:cardview-v7:26.+'
    implementation 'com.google.firebase:firebase-messaging:11.0.4'
    implementation 'com.google.gms:google-services:3.1.0'
    implementation 'com.android.support:design:26.+'
    implementation 'de.hdodenhof:circleimageview:2.2.0'
    implementation 'com.android.support:multidex:1.0.1'
    implementation 'com.theartofdev.edmodo:android-image-cropper:2.6.+'
    implementation 'com.android.support:gridlayout-v7:26.+'
    implementation 'com.android.support.constraint:constraint-layout:1.0.2'
    testCompile 'junit:junit:4.12'
    implementation 'com.google.android.gms:play-services-maps:11.0.4'


}
apply plugin: 'com.google.gms.google-services'

在我的lib文件夹中,我有一个volley jar文件。

我尝试了以下解决方案,但它对我不起作用。

android {     defaultConfig {        multiDexEnabled是的     } }

并且还使用

compile 'com.android.support:multidex:1.0.1'

我也删除了.gradle文件并清理和重建项目,但也没有帮助。 我怎么解决这个?提前谢谢。

1 个答案:

答案 0 :(得分:1)

这个问题发生在我身上,解决方案是关于图片裁剪器库的发布。

就我而言,你的SDK也是26,所以你需要编译2.5.1版本,而不是2.6.0:

implementation 'com.theartofdev.edmodo:android-image-cropper:2.5.1'

Android Image Cropper releases