【问题标题】:Android: Type without superclass: module-infoAndroid:没有超类的类型:模块信息
【发布时间】:2019-03-06 11:49:29
【问题描述】:

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

【问题讨论】:

  • 目前还删除 FirebasePerformancePlugin 并没有解决任何问题
  • 它对任何人都有效吗?

标签: android android-studio google-play-services build.gradle


【解决方案1】:

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

android {
    aaptOptions {
    cruncherEnabled = false
    }
}

【讨论】:

  • 我也是,我正在使用带有 Gradle 3.2.0 和 GradleWrapper 4.10.2 的 Android Studio 3.2
【解决方案2】:

我认为它与 github 有同样的问题 -> Using latest version with Android, results in broken build

对于文档,在 Gradle 构建中包含 "classifier" 的唯一方法 依赖规范是这样的

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

【讨论】:

    【解决方案3】:

    由于间接依赖的不同版本与其先前版本不兼容,因此出现此问题。我们使用的一些库已经更新到此特定依赖项的更新版本,而其他库则没有。让他们两个都导致了崩溃。

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

    【讨论】:

    • 我在运行该任务时要寻找什么样的不一致?
    • @FutureShocked 对我们来说,这是不同版本的 Byte Buddy。
    • 但是您是如何确定这些不一致的呢?只需手动检查每个依赖项的版本?
    • 遗憾的是。您可以尝试查找构建开始崩溃的时间,看看是否有任何库在此时间左右更新。
    【解决方案4】:

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

    【讨论】:

      【解决方案5】:

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2020-02-10
        • 1970-01-01
        • 2017-09-16
        • 1970-01-01
        • 2018-11-21
        • 1970-01-01
        • 2021-08-11
        • 2017-07-11
        相关资源
        最近更新 更多