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