Android Studio 3.0 DexArchiveBuilderException
У меня возникает эта ошибка при компиляции тестов Instrumentation.
Ошибка: com.android.builder.dexing.DexArchiveBuilderException: не удалось обработать /Users/rafaelruizmunoz/SourceTree/Weather/app/build/intermediates/transforms/desugar/androidTest/debug/ 1.jar
Ошибка: com.android.builder.dexing.DexArchiveBuilderException: ошибка при использовании dexing org/assertj/core/api/LongPredicateAssert.class
Ошибка: com.android.dx.cf.code.SimException: метод по умолчанию или статический интерфейс, используемый без --min-sdk-version >= 24
Я попытался включить/отключить multiDexEnabled
в моем build.gradle
, но ничего не помогло.
Мой android
из build.gradle
:
android {
compileSdkVersion 27
defaultConfig {
applicationId "com.**.weather"
minSdkVersion 16
targetSdkVersion 27
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'
}
}
compileOptions {
targetCompatibility 1.8
sourceCompatibility 1.8
}
}
Ответы
Ответ 1
В gradle.properties
add android.enableD8=true
Это должно работать.
Обратите внимание, что при экспорте и загрузке apk для воспроизведения в магазине с поддержкой d8 существует известная ошибка. Приложение не будет запускаться на некоторых устройствах при загрузке из магазина воспроизведения.
https://issuetracker.google.com/issues/64740479
Ответ 2
Если вы используете guava, tou может попытаться обновить его до последней сборки, зависящей от Android
implementation 'com.google.guava:guava:23.0-android'
Это фиксировало ошибку для меня, когда я использовал сборку не-android guava.
Ответ 3
С последним Android Studio 3.2 и Gradle, мы также можем решить это через
implementation 'com.android.support:multidex:1.0.3' in app build.gradle
Ответ 4
У меня просто та же самая ошибка для меня, это было из-за ohttp, и я понижаю реализацию этой формы:
к этому:
implementation "com.squareup.okhttp3:okhttp:3.12.1"
Ответ 5
добавьте эти строки в ваш gradle:
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}