代码之家  ›  专栏  ›  技术社区  ›  dimas

无法合并dex gradle build fail

  •  0
  • dimas  · 技术社区  · 6 年前

    无法生成旧版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()
        }
    }
    
    1 回复  |  直到 6 年前
        1
  •  0
  •   nhp    6 年前

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

       // 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"

    还有一件事,因为 minSdk 是>=21,因此不需要添加此依赖项

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