web-dev-qa-db-fra.com

Android Studio 3.0 DexArchiveBuilderException

Je rencontre cette erreur lors de la compilation des tests d'instrumentation.

Erreur: com.Android.builder.dexing.DexArchiveBuilderException: Impossible de traiter /Users/rafaelruizmunoz/SourceTree/Weather/app/build/intermediates/transforms/desugar/androidTest/debug/1.jar

Erreur: com.Android.builder.dexing.DexArchiveBuilderException: erreur lors du transfert d'org/assertj/core/api/LongPredicateAssert.class

Erreur: com.Android.dx.cf.code.SimException: méthode d'interface par défaut ou statique utilisée sans --min-sdk-version> = 24

J'ai essayé d'activer/désactiver multiDexEnabled dans mon build.gradle mais rien n'y fait.

Ma Android de 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
    }
}
13

Dans gradle.properties add Android.enableD8=true Cela devrait fonctionner.

Veuillez noter qu'il existe un bogue lorsque vous exportez et téléchargez l'apk sur Play Store avec d8 enable. L'application ne fonctionnera pas sur certains appareils lors du téléchargement à partir du Play Store.

https://issuetracker.google.com/issues/64740479

21
Sunny

Si vous utilisez la goyave, vous pouvez essayer de la mettre à niveau vers la dernière version spécifique à Android.

implementation 'com.google.guava:guava:23.0-Android'

Cela a corrigé l'erreur lorsque j'utilisais la version de goyave non Android.

3
Diego Plentz

Avec les derniers Android studio 3.2 et gradle, nous pouvons également le résoudre via

implémentation 'com.Android.support:multidex:1.0.3' dans l'application build.gradle

0
manish

J'ai juste la même erreur pour moi, c'est à cause de okhttp et de son implémentation de grade:

à ceci: implementation "com.squareup.okhttp3: okhttp: 3.12.1"

0
AmirahmadAdibi