2017-11-06 4 views
8

Ich habe diesen Fehler beim Kompilieren von Instrumentierungstests.Android Studio 3.0 DexArchiveBuilderException

Error:com.android.builder.dexing.DexArchiveBuilderException: Failed to process /Users/rafaelruizmunoz/SourceTree/Weather/app/build/intermediates/transforms/desugar/androidTest/debug/1.jar

Error:com.android.builder.dexing.DexArchiveBuilderException: Error while dexing org/assertj/core/api/LongPredicateAssert.class

Error:com.android.dx.cf.code.SimException: default or static interface method used without --min-sdk-version >= 24

Ich versuchte multiDexEnabled in meinem build.gradle aber nichts half aktivieren/deaktivieren.

Mein android von 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 
    } 
} 
+0

Haben Sie nachgesehen? - 'Fehler: com.android.dx.cf.code.SimException: Standard oder statische Interface-Methode ohne --min-sdk-version> = 24' Was hast du für deinen' min-sdk' check 'build.gradle ' – Dayan

+0

Ich aktualisiere meine Frage –

+0

in' gradle.properties' add 'android.enableD8 = true'. – Sunny

Antwort

13

In gradle.propertiesandroid.enableD8=true hinzufügen Das sollte funktionieren.

Bitte beachten Sie, dass ein bekannter Fehler beim Exportieren und Hochladen der apk zu spielen Store mit D8 aktivieren. Die App wird auf einigen Geräten nicht ausgeführt, wenn sie aus dem Play Store heruntergeladen werden.

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

+1

Nun, ich verstehe, das Problem ist nicht mit der Bereitstellung von Apk Play Store, es ist eher über resultierende App wird nicht auf einigen Geräten ausgeführt werden. Aus diesem Grund empfehlen sie nicht, die mit D8 kompilierte App zu veröffentlichen. – user1209216

+1

Für diejenigen, die wissen möchten, was android.enableD8 = true heißt, lesen Sie hier: https://android-developers.googleblog.com/2017/08/next-generation -dex-Compiler-jetzt-in.html – abhiank

2

Wenn Sie Guave verwenden, kann tou versuchen, es auf den neuesten Android-spezifischen Build-Upgrade

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

Diese den Fehler für mich festgelegt, wenn ich mit war der Nicht-Android Guave bauen.