Gradleビルドメッセージ:
エラー:タスク ':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'
}
このエラーは一般的なもので、多くの原因で発生する可能性があります
Java.lang.RuntimeException:com.Android.builder.dexing.DexArchiveMergerException:dexをマージできません
まず、あなたが持っているエラーを知る必要があります。したがって、2つの選択肢があります。
次に、原因が表示されている部分に移動する必要があります(uは複数のエラーが発生する可能性があるため、最後の時点)。
あなたが持っている場合:
原因:com.Android.dex.DexIndexOverflowException:[0、0xffff]にないメソッドID:65536
次に、前述のコメントのようにこれを配置する必要がありますが、mindSdkVersion> = 21
Android {
defaultConfig
{
multiDexEnabled true
}
}
あなたのminSdkVersion <21の場合、これも置く必要があります
compile 'com.Android.support:multidex:1.0.3'
詳細 こちら
私の場合、問題は重複パッケージでした。反応ネイティブリンクを使用しましたが、アプリはパッケージがリンクされていることを認識しなかったため、パッケージの複製を作成しました。
重複パッケージがMainApplication.Javaで生成されました-インポートとクラスの初期化。
また、settings.gradleとbuild.gradle/appを確認してください-アプリケーションを壊す重複パッケージが存在する可能性があります。
build.gradle(Module: app)
ファイルでこれを試してください:
Android {
defaultConfig
{
...
multiDexEnabled true
}
}