错误:任务':app:transformDexArchiveWithExternalLibsDexMergerForDebug'的执行失败。 java.lang.RuntimeException:com.android.builder.dexing.DexArchiveMergerException:无法合并dex
此错误自从更新到android 3.0后出现
build.gradle(模块:应用):
apply plugin: 'com.android.application'
android {
compileSdkVersion 26
buildToolsVersion '27.0.0'
defaultConfig {
multiDexEnabled true
applicationId "com.example.samue.radiostatus"
minSdkVersion 21
targetSdkVersion 26
versionCode 1
versionName "1.0"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}
dexOptions {
javaMaxHeapSize "4g"
}
}
dependencies {
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'
})
testCompile 'junit:junit:4.12'
implementation 'com.android.support:multidex:1.0.2'
implementation 'com.android.support:appcompat-v7:26.+'
implementation 'com.android.support.constraint:constraint-layout:1.0.2'
implementation 'com.google.code.gson:gson:2.8.1'
implementation 'com.loopj.android:android-async-http:1.4.9'
implementation 'com.github.snowdream.android:smartimageview:0.0.2'
implementation 'org.jbundle.util.osgi.wrapped:org.jbundle.util.osgi.wrapped.org.apache.http.client:4.1.2'
implementation 'com.mcxiaoke.volley:library-aar:1.0.1'
implementation 'com.android.support:design:26.+'
implementation 'com.android.support:support-v4:26.+'
testCompile 'junit:junit:4.12'
implementation files('libs/httpmime-4.3.jar')
implementation files('libs/android-smart-image-view-1.0.0.jar')
implementation files('libs/activation.jar')
implementation files('libs/additionnal (1).jar')
implementation files('libs/android-async-http-1.4.9.jar')
implementation files('libs/javamail-mailapi-1.4.2.jar')
implementation files('libs/javamail-smtp-1.4.2.jar')
implementation files('libs/mail (1).jar')
}
构建gradle(项目):
buildscript {
repositories {
jcenter()
google()
}
dependencies {
classpath 'com.android.tools.build:gradle:3.0.0'
classpath 'com.google.gms:google-services:3.0.0'
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}
}
allprojects {
repositories {
jcenter()
google()
}
}
task clean(type: Delete) {
delete rootProject.buildDir
}
答案 0 :(得分:0)
这是因为您有重复的依赖项。您无法从存储库和本地jar文件中混合相同的依赖项。因此,您需要清理应用 z
。此外,请勿使用 build.gradle
作为依赖项。使用确切版本的依赖项。这是因为如果您不知道其确切的版本,则无法为库指定问题。
您需要将build.gradle清理为以下内容:
+
答案 1 :(得分:0)
要删除此Dex问题,只需实现一个依赖项。 当我们从同一服务器使用多个不同的服务时,会发生此问题。假设我们在项目中使用广告和Firestore,并且都有一个存储库maven。所以我们需要在存储库上调用不同的数据,我们需要dex依赖来实现。 新的更新依赖关系: -
implementation 'com.android.support:multidex:1.0.3'
我确定它会永久解决您的问题!