无法构建旧版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()
}
}
答案 0 :(得分:0)
尝试注释掉以下几行(我不确定这是否会导致依赖关系冲突或意外错误):
// 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'