消息Gradle build:
错误:任务执行失败':app:transformDexArchiveWithExternalLibsDexMergerForDebug'。
java.lang.RuntimeException:com.android.builder.dexing.DexArchiveMergerException:无法合并dex
以下是gradle构建文件:
apply plugin: 'com.android.application'
android {
compileSdkVersion 26
defaultConfig {
minSdkVersion 26
targetSdkVersion 26
versionCode 1
versionName "1.0"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
multiDexEnabled true
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
implementation fileTree(include: ['*.jar'], dir: 'libs')
implementation 'com.android.support:appcompat-v7:26.1.0'
implementation 'com.android.support.constraint:constraint-layout:1.0.2'
testImplementation 'junit:junit:4.12'
androidTestImplementation 'com.android.support.test:runner:1.0.1'
androidTestImplementation 'com.android.support.test.espresso:espresso
core:3.0.1'
implementation files('libs/bsh-core-2.0b4.jar')
implementation files('libs/selenium-java-2.3.0.jar')
implementation files('libs/selenium-remote-driver-3.0.0.jar')
// https://mvnrepository.com/artifact/io.appium/java-client
implementation group: 'io.appium', name: 'java-client', version: '5.0.4'
}
答案 0 :(得分:0)
在“build.gradle(Module:app)”文件中尝试此操作:
android {
defaultConfig
{
multiDexEnabled true
}
}
答案 1 :(得分:0)
此错误是通用错误,可能是由许多原因引起的
java.lang.RuntimeException:com.android.builder.dexing.DexArchiveMergerException:无法合并dex
首先,您需要知道遇到什么错误。因此,您有两种选择:
接下来,您需要转到原因原因部分(最后一次,因为u可能有多个错误)。
如果您有:
原因:com.android.dex.DexIndexOverflowException:方法ID不在[0,0xffff]中:65536
然后,您需要像前面所说的评论一样放置它,但是如果您的mindSdkVersion> = 21
tap(myMobileElement);
如果您的mindSdkVersion <21,您还需要输入此
android {
defaultConfig
{
multiDexEnabled true
}
}
更多信息here
答案 2 :(得分:0)
就我而言,问题是重复的软件包。我使用了react-native链接,但该应用程序无法识别出已链接的软件包,因此重复了这些软件包。
重复的软件包在MainApplication.java中生成-导入和类初始化。
还要检查settings.gradle和build.gradle / app-可能有重复的软件包也会破坏您的应用程序。
答案 3 :(得分:0)
在您的gradle中添加两条重要的代码:multidex易用性和实现。
android {
defaultConfig {
...
minSdkVersion 15
targetSdkVersion 28
multiDexEnabled true
}
...
}
dependencies {
implementation 'com.android.support:multidex:1.0.3'
}
答案 4 :(得分:0)
我在使用 react-native 和 android 4.4 kit-kat 时遇到了这个问题,不仅我必须添加:
android {
defaultConfig {
...
minSdkVersion 15
targetSdkVersion 28
multiDexEnabled true
...
}
}
dependencies {
implementation 'com.android.support:multidex:2.0.1'
}
但也必须添加到我的 MainAplication.java 中:
import androidx.multidex.MultiDexApplication; // <-- THIS IMPORT
并改变:
public class MainApplication extends Application implements ReactApplication
到:
public class MainApplication extends MultiDexApplication implements ReactApplication
您可以在这里找到更多信息: https://developer.android.com/studio/build/multidex
答案 5 :(得分:-1)
我有一个类似的问题,这就是原因:
java.lang.RuntimeException: com.android.builder.dexing.DexArchiveMergerException:时出错 合并dex归档文件:
原因: com.android.builder.dexing.DexArchiveMergerException:时出错 合并dex归档文件:在上了解如何解决该问题 https://developer.android.com/studio/build/dependencies#duplicate_classes。 程序类型已经存在:org.apache.http.HeaderElementIterator
原因:com.android.tools.r8.utils.AbortException: 错误:程序类型已存在: org.apache.http.HeaderElementIterator