Android Studio 3.0 DexArchiveBuilderException

I'm having this error whilst compiling Instrumentation tests.

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

I tried to enable/disable multiDexEnabled in my build.gradle but nothing helped.

My android of 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
    }
}

Answers


In gradle.properties add android.enableD8=true This should work.

Please note that there is a known bug when you export and upload the apk to play store with d8 enable. The app will not run on some devices when downloaded from play store.

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


If you're using guava, tou can try to upgrade it to the latest android-specific build

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

This fixed the error for me when I was using the non-android guava build.


I just have the same error for me, it was because of okhttp and I downgrade implementation of it form:

to this:

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

With latest android studio 3.2 and gradle, we can also resolve it via

implementation 'com.android.support:multidex:1.0.3' in app build.gradle

add these line to your gradle:

compileOptions {
    sourceCompatibility JavaVersion.VERSION_1_8
    targetCompatibility JavaVersion.VERSION_1_8
}

Need Your Help

Python: using 4 spaces for indentation. Why?

python indentation conventions pep8

While coding python I'm using only 2 spaces to indent, sure PEP-8 really recommend to have 4 spaces, but historically for me it's unusual.

Entity Framework defaultconnectionfactory

asp.net entity-framework entity-framework-4.3

I've recently created a new web project using entity framework 4.3. I'm using database first design.