安装Java JDK 11无rt.jar导致Android Studio构建报错问题问询
问题核心原因
Java 9及以上版本引入模块化系统后,官方已彻底移除传统的rt.jar、tools.jar等运行时核心库归档文件,JDK 11属于Java 9之后的长期支持版本,安装目录下不存在rt.jar属于正常现象,并非JRE安装异常。你遇到的java.util.Objects类找不到报错,是Android Studio项目配置未适配JDK 11的模块化结构导致的。
排查步骤
- 确认Android Studio版本兼容性
低于Android Studio Arctic Fox (2020.3.1)的版本对JDK 11的兼容性存在缺陷,部分旧版本构建工具默认仍会检索rt.jar文件加载核心类
- 检查项目构建工具版本
版本低于30.0.3的Android Build Tools未适配JDK 11的模块化结构,会导致核心类检索失败
- 验证项目JDK路径配置
在Android Studio内置终端执行命令java -version,确认返回版本与本地安装的JDK 11一致,避免IDE内置JDK与本地JDK冲突。
解决方法
方案1:适配JDK 11(推荐)
- 升级Android Studio到Arctic Fox (2020.3.1)及以上版本
- 将项目的buildToolsVersion升级到30.0.3及以上,compileSdk升级到30及以上
- 在项目根目录的
gradle.properties文件中添加如下配置,指定JDK路径和兼容模块:
org.gradle.java.home=C:/Program Files/java/jdk-11.0.12 org.gradle.jvmargs=-Xmx2048m --add-modules java.se
- 同步Gradle配置后重新构建项目即可解决报错
方案2:临时兼容方案(无需升级IDE)
若暂时无法升级Android Studio和构建工具,可在项目级build.gradle文件的dependencies闭包中手动引入JDK 11的核心模块:
dependencies { compileOnly files("${org.gradle.java.home}/jmods/java.base.jmod") // 原有其他依赖保持不变 }
内容的提问来源于stack exchange,提问作者Kurt
相关产品推荐
相关产品推荐

