You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Android编译报错:Class module-info缺失父类型(JOML依赖相关)

解决JOML依赖引发的"Illegal class file: Class module-info is missing a super type"错误

这个问题我之前帮朋友排查过,本质是旧版Android构建工具对Java 9+的模块系统(JPMS)支持不完善导致的。

问题原因

你使用的JOML 1.9.9版本已经引入了Java平台模块系统的module-info.java文件,而你的Android Studio 3.1(对应Gradle版本通常是4.4左右)和构建工具27.0.3是基于Java 8的编译环境,无法正确识别和处理Java 9+新增的module-info类文件,因此抛出这个错误。

快速解决方案(推荐)

直接降级JOML到不包含JPMS模块的版本——JOML是从1.9.9开始添加module-info的,所以你可以改用1.9.8版本:
修改你的build.gradle(Module级别)中的依赖配置:

dependencies {
    implementation fileTree(include: '*.jar', dir: 'libs')
    // 替换为1.9.8版本
    implementation 'org.joml:joml:1.9.8'
    // 其他依赖...
}

修改完成后,执行Clean Project -> Rebuild Project,这个错误应该就能消失了。

备选方案(如果需要新版本JOML)

如果你必须使用JOML 1.9.9及以上版本,需要升级你的Android构建环境:

  • 将Android构建工具版本升级到28.0.3或更高
  • 将Gradle版本升级到4.9或更高(对应Android Studio 3.3及以上版本)
  • 同时确保你的项目编译选项设置为Java 8或更高:
android {
    compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_8
        targetCompatibility JavaVersion.VERSION_1_8
    }
}

不过这个方案需要注意,升级构建环境可能会导致其他旧依赖出现兼容性问题,需要逐一排查验证。

内容的提问来源于stack exchange,提问作者AlienJim

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.25 03:37:06