android - 无法合并dex gradle构建失败

标签 android gradle

无法构建旧版android应用。每当我尝试在Android Studio 3.0.1中构建它时,都会在下面引发错误。我尝试过这里可用的各种解决方案,但无济于事。感谢发现错误配置的任何帮助或解决此问题的技巧。提前致谢。

错误代码

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

这是项目的构建配置。
app/build.gradle
apply plugin: 'com.android.application'

android {
    compileSdkVersion 28
    buildToolsVersion "27.0.3"
    useLibrary 'org.apache.http.legacy'

    defaultConfig {
        applicationId "com.app.one"
        minSdkVersion 21
        targetSdkVersion 28
        multiDexEnabled true
    }

    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
        }
    }
    dependencies {
        implementation 'org.apache.httpcomponents:httpclient-android:4.3.5.1'
        implementation 'com.google.zxing:core:3.2.0'
        implementation 'com.journeyapps:zxing-android-embedded:3.0.2@aar'
        implementation files('src/main/libs/apache-mime4j-0.6.jar')
        implementation files('src/main/libs/commons-ssl-0.3.11.jar')
        implementation files('src/main/libs/core-2.2.jar')
        implementation files('src/main/libs/httpmime-4.0.1.jar')
    }
    repositories {
        jcenter()
    }
}


ProjectOne/gradle.build
buildscript {
    repositories {
        jcenter()
        google()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:3.0.1'
    }
}

allprojects {
    repositories {
        jcenter()
        google()
    }
}

最佳答案

尝试注释掉这些行(我不确定这是否会导致依赖关系冲突或意外错误):

   // implementation files('src/main/libs/apache-mime4j-0.6.jar')
   // implementation files('src/main/libs/commons-ssl-0.3.11.jar')
   // implementation files('src/main/libs/core-2.2.jar')
   // implementation files('src/main/libs/httpmime-4.0.1.jar')

将此compileSdkVersion 28编辑为compileSdkVersion 'android-P'

删除buildToolsVersion "27.0.3"以避免版本冲突。 Gradle将知道要编译哪个合适的版本

还有一件事,因为您的minSdk是> = 21,所以您不需要添加此依赖项
      implementation 'com.android.support:multidex:1.0.3'

关于android - 无法合并dex gradle构建失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53848337/

相关文章:

android - 适用于 Android 的 elm327

Android: build.properties 排除

android - 我应该为 Android 使用 OpenGL ES 1 还是 2

Gradle 配置集成

spring - 无法在离线环境中使用 gradle bootBuildImage 构建镜像

android - Android Studio 中的意外顶级异常

android - 切换到替代布局时,LoaderManager restartLoader 无法按预期工作

android - 如何在android中为工具栏的appcompat Activity 设置导航主页按钮?

spring-boot - 如何在Heroku上的Docker构建之前执行gradle构建?

java - Android Gradle 的依赖缓存可能已损坏且 gradle 构建无法正常工作