Android:没有超类的类型:模块信息

Android: Type without superclass: module-info

自 2 天前以来几乎没有任何变化,我的应用程序根本没有构建。 transformClassesWithDesugarForDebug 在整个项目的每个分支上都失败了。我怀疑 Firebase 或 GCM 有问题,但我没有更改它们的版本。我正在使用 Android Studio 3.2 和 com.android.tools.build:gradle:3.2.0

这是崩溃日志。使缓存无效、清理构建或类似解决方案不起作用。它甚至可以在不同的计算机 运行 不同版本的 Android Studio 和 Mac OS.

上重现
Exception in thread "main" java.lang.IllegalArgumentException: Type without superclass: module-info
at com.google.common.base.Preconditions.checkArgument(Preconditions.java:191)
at com.google.devtools.build.android.desugar.DefaultMethodClassFixer.visit(DefaultMethodClassFixer.java:80)
at org.objectweb.asm.ClassVisitor.visit(ClassVisitor.java:113)
at com.google.devtools.build.android.desugar.InterfaceDesugaring.visit(InterfaceDesugaring.java:97)
at org.objectweb.asm.ClassReader.accept(ClassReader.java:621)
at org.objectweb.asm.ClassReader.accept(ClassReader.java:500)
at com.google.devtools.build.android.desugar.Desugar.desugarClassesInInput(Desugar.java:477)
at com.google.devtools.build.android.desugar.Desugar.desugarOneInput(Desugar.java:361)
at com.google.devtools.build.android.desugar.Desugar.desugar(Desugar.java:314)
at com.google.devtools.build.android.desugar.Desugar.main(Desugar.java:711)

尝试在 app/Build.gradle 中添加:

android {
    aaptOptions {
    cruncherEnabled = false
    }
}

我认为它与 github -> Using latest version with Android, results in broken build

有同样的问题

For documentation, only way to include "classifier" in Gradle build dependencies specification is this

 dependencies {
     implementation group: 'org.joda', name: 'joda-convert', version: '2.0.1', classifier: 'classic' }

问题的发生是因为间接依赖的不同版本与其之前的版本不兼容。我们使用的一些库已经更新到这个特定依赖项的更新版本,而其他库则没有。有他们两个导致崩溃。

解决方案是 运行 androidDependencies,检查不一致发生的地方,然后强制 android 通过将特定库包含在您自己的依赖项中来使用它的单一版本。

我遇到了同样的问题。当我将 Android Studio 升级到 v3.3 并将 gradle 升级到最新版本 (5.1.1) 时解决了。

可能原因:为来自 kotlin 1.4 的标准库工件添加模块信息。 参见:https://youtrack.jetbrains.com/issue/KT-21266