Android:没有超类的类型:module-info

时间:2018-10-01 11:15:28

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

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

5 个答案:

答案 0 :(得分:1)

发生此问题的原因是间接依赖项的不同版本与其先前版本不兼容。我们正在使用的某些库已经更新为该特定依赖项的较新版本,而其他库则没有。两者都造成崩溃。

解决方案正在运行androidDependencies,检查出现不一致的地方,然后通过将其包含在自己的依赖项中来迫使android使用特定库的单个版本。

答案 1 :(得分:0)

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

android {
    aaptOptions {
    cruncherEnabled = false
    }
}

答案 2 :(得分:0)

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

  

对于文档,唯一的方法是将 “分类器” 包含在Gradle构建中   依赖关系规范是这个

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

答案 3 :(得分:0)

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

答案 4 :(得分:0)

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