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
}