maohieng
maohieng

Reputation: 1736

Android Studio 4.0.0 Java 8 library desugaring in D8 and R8 Build Error

I start using new update Android Studio 4.0.0 and following the enable support java 8 library desugaring in D8 and R8:

compileOptions {
        // Flag to enable support for the new language APIs
         coreLibraryDesugaringEnabled true
        // Sets Java compatibility to Java 8
        sourceCompatibility JavaVersion.VERSION_1_8
        targetCompatibility JavaVersion.VERSION_1_8
    }
    kotlinOptions {
        jvmTarget = "1.8"
    }

and

dependencies {
    coreLibraryDesugaring 'com.android.tools:desugar_jdk_libs:1.0.6'
    ...
}

I end up unable to build my application with the following error:

Unsupported desugared library configuration version, please upgrade the D8/R8 compiler.

For more over:

> Task :app:compileNoExtensionsDebugSources UP-TO-DATE

> Transform artifact desugar_jdk_libs_configuration-0.12.0.jar (com.android.tools:desugar_jdk_libs_configuration:0.12.0) with L8DexDesugarLibTransform
Error: Unsupported desugared library configuration version, please upgrade the D8/R8 compiler.

> Transform artifact databinding-common-4.0.0.jar (androidx.databinding:databinding-common:4.0.0) with DexingWithClasspathTransform
AGPBI: {"kind":"error","text":"Unsupported desugared library configuration version, please upgrade the D8/R8 compiler.","sources":[{}],"tool":"D8"}

> Transform artifact multidex-2.0.1.aar (androidx.multidex:multidex:2.0.1) with DexingWithClasspathTransform
Unsupported desugared library configuration version, please upgrade the D8/R8 compiler.

AGPBI: {"kind":"error","text":"Unsupported desugared library configuration version, please upgrade the D8/R8 compiler.","sources":[{}],"tool":"D8"}

> Transform artifact kotlin-android-extensions-runtime-1.3.72.jar (org.jetbrains.kotlin:kotlin-android-extensions-runtime:1.3.72) with DexingWithClasspathTransform
AGPBI: {"kind":"error","text":"Unsupported desugared library configuration version, please upgrade the D8/R8 compiler.","sources":[{}],"tool":"D8"}
Unsupported desugared library configuration version, please upgrade the D8/R8 compiler.

Do I missed any configuration here? How to fix this?

Upvotes: 39

Views: 52294

Answers (11)

Sattar
Sattar

Reputation: 2632

I used the current latest version

coreLibraryDesugaring 'com.android.tools:desugar_jdk_libs:2.0.3'

and it was enabled in one of the modules but it didn't work also until I added it also to app gradle.

  compileOptions {
    // Flag to enable support for the new language APIs
    coreLibraryDesugaringEnabled true
}

and it works fine for me

Upvotes: 3

Khoshnaw
Khoshnaw

Reputation: 11

For me, the desugaring library was added, but the project had other compile-time errors; however, it showed this message instead.

I tried to open the files I thought might cause compile-time errors based on my changes. After fixing the compile errors, it started building again.

Upvotes: 0

Suraj Rao
Suraj Rao

Reputation: 51

I hade the same issue it occurred because I enabled Desugaring in build.gradle (app level)

compileOptions {
        // for flutter_local_notification
        coreLibraryDesugaringEnabled true
    }

dependencies {
    
    // for flutter_local_notification
    coreLibraryDesugaring 'com.android.tools:desugar_jdk_libs:1.2.2'
}

the version 1.2.2 was not compatible with my gradle I guess, so I changed it to

dependencies {
    coreLibraryDesugaring 'com.android.tools:desugar_jdk_libs:2.0.4'
}

then it worked

Upvotes: 1

Noman Karimi
Noman Karimi

Reputation: 131

the problem is with the desugar_jdk version for me 1.1.5 works although there is the latest version 2.0.4 but it depends. see the versions of desugar_jdk. enter link description here i suggest to try any version and check which one works with your android version.

Upvotes: 0

Binh Ho
Binh Ho

Reputation: 4954

My case. Error happened when update to 2.0.0

Change to 1.1.5 works for me

coreLibraryDesugaring("com.android.tools:desugar_jdk_libs:1.1.5")

Updated 02/2023

Tried to change to 2.0.1 and above error is resolve but new error related to OkHttpClient happened.

java.lang.VerifyError: Verifier rejected class j$.util.concurrent.ConcurrentLinkedQueue

Updated 04/2023

2.0.3 works fine now.

Upvotes: 7

Javad Vatan
Javad Vatan

Reputation: 93

It seems this library has some issues with other libs versions.

At this time the latest version is 2.0.2 but I got the same error with these (Android Studio Dolphin | 2021.3.1 Patch 1, compileSdk 33).

So I found out I can use this version instead:

coreLibraryDesugaring 'com.android.tools:desugar_jdk_libs:1.1.8'

I hope it will help others.

Upvotes: 1

kallis
kallis

Reputation: 133

Use this dependency for API 33 support. It is stable

dependencies {
    coreLibraryDesugaring 'com.android.tools:desugar_jdk_libs:1.2.2'
}

Although there is a newer version 2.0.0, but I having build issues with it.

Visit this link if you are interested in version 2.0.0 google/desugar_jdk_libs

Upvotes: 6

Dmitriy Marchenko
Dmitriy Marchenko

Reputation: 109

coreLibraryDesugaring 'com.android.tools:desugar_jdk_libs:1.0.9' stable available

Upvotes: 10

Miguel Tomás
Miguel Tomás

Reputation: 1911

I encountered the same error after updating to Android 11 and the following worked for me

dependencies {
    coreLibraryDesugaring 'com.android.tools:desugar_jdk_libs:1.0.9'
}

Upvotes: 5

Royce Pacibe
Royce Pacibe

Reputation: 546

I encountered the same issue after I upgraded the coreLibraryDesugaring in build.gradle to com.android.tools:desugar_jdk_libs:1.0.6. My app was building fine until I did that dependency update. A suggestion popped up two hours ago when I passed by build.gradle and I just followed suit.

dependencies {
    coreLibraryDesugaring 'com.android.tools:desugar_jdk_libs:1.0.6'
}

I reverted the dependency back to com.android.tools:desugar_jdk_libs:1.0.5 and the issue magically disappeared.

dependencies {
    //noinspection GradleDependency
    coreLibraryDesugaring 'com.android.tools:desugar_jdk_libs:1.0.5'
}

From this, I think that it is likely a bug with the compatibility of the new version of the dependency with the IDE (maybe an IDE update may follow up to resolve the issue, I don't know). Maybe we need to report it as an issue to Google, I have not tried that yet. :D

Actually, I created this Stack Overflow account just now to share this after I saw your post when I searched for a solution to my problem. :)

Update

As mentioned by @sgjesse from the R8 team, the changes from 1.0.5 to 1.0.6 are already reverted in the release of 1.0.7 to fix this issue, so 1.0.5 and 1.0.7 are just the same. See @sgjesse's answer for more details.

dependencies {
    coreLibraryDesugaring 'com.android.tools:desugar_jdk_libs:1.0.7'
}

I moved to 1.0.7 to remove the warning on outdated dependency version. :)

P.S. I can't comment because I don't have 50 reputation yet. Thanks, @sgjesse! :)

Upvotes: 43

sgjesse
sgjesse

Reputation: 4628

[tl:dr] Version 1.0.6 does not work with AGP 4.0.0. Use 1.0.7 or 1.0.5 instead - they are the same.

Version 1.0.6 was released to address issue 158502561, as there was an error in a dependent POM file, only affecting certain tools. However, I made a mistake, and 1.0.6 ended up being incompatible with Android Studio 4.0.0, which is why 1.0.7 was released. 1.0.5 and 1.0.7 are identical, and 1.0.8 will be released later to address the POM issue in the dependent artifact.

Upvotes: 6

Related Questions