Android Studio 4.0.0 Java 8库在D8和R8中取消糖化构建错误

gopyfrb3  于 2022-11-27  发布在  Android
关注(0)|答案(6)|浏览(1287)

我开始使用新的更新Android Studio 4.0.0,并在D8和R8中启用支持java 8库反糖:

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"
    }

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

我最终无法生成我的应用程序,并出现以下错误:

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

欲了解更多信息,请访问:

> 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.

我是否遗漏了任何配置?如何修复?

nzkunb0c

nzkunb0c1#

在我将build.gradle中的coreLibraryDesugaring升级到com.android.tools:desugar_jdk_libs:1.0.6后,我遇到了同样的问题。在我进行依赖项更新之前,我的应用程序构建得很好。两个小时前,当我经过build.gradle时,弹出了一个建议,我只是照着做了。

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

我将依赖关系恢复为com.android.tools:desugar_jdk_libs:1.0.5,问题神奇地消失了。

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

从这一点来看,我认为这可能是一个bug,与新版本的依赖项与IDE的兼容性有关(也许IDE更新可能会解决这个问题,我不知道)。也许我们需要向Google报告这个问题,我还没有尝试过。:D
事实上,我创建了这个堆栈溢出帐户刚刚分享后,我看到你的帖子,当我搜索解决我的问题.:)

更新

正如R8团队的@sgjesse所提到的,从1.0.51.0.6的更改已经在1.0.7版本中恢复以修复此问题,因此1.0.51.0.7是相同的。请参见@sgjesse的回答以了解更多详细信息。

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

我转移到1.0.7以删除关于过时依赖版本的警告。:)
附言:我不能发表评论,因为我还没有50点声望。谢谢,@sgjesse!:)

55ooxyrt

55ooxyrt2#

  • [tl:dr]* 1.0.6版本无法与AGP 4.0.0搭配使用。请改用1.0.71.0.5-它们是相同的。

发布1.0.6版本是为了解决issue 158502561问题,因为在一个依赖的POM文件中有一个错误,只影响某些工具。但是,我犯了一个错误,1.0.6最终与Android Studio 4.0.0不兼容,这就是为什么发布1.0.71.0.51.0.7是相同的,和1.0.8将在以后发布,以解决相关工件中的POM问题。

noj0wjuj

noj0wjuj3#

coreLibraryDesugaring 'com.android.tools:desugar_jdk_libs:1.0.9'稳定可用

gwbalxhn

gwbalxhn4#

将此依赖项用于API 33支持。它是稳定的

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

虽然有一个较新的版本2.0.0,但我有构建问题与它。
如果您对版本2.0.0 google/desugar_jdk_libs感兴趣,请访问此链接

pxq42qpu

pxq42qpu5#

我在更新到Android 11后遇到了同样的错误,以下方法对我有效

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

q9rjltbz6#

我的案例,更新到2.0.0出错
更改为1.1.5对我有效

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

相关问题