升级JDK8后仍报JDK-8007720错误导致Room库编译失败如何解决
解决方案
你遇到的报错核心是JDK8存在的已知问题触发了Room 2.3.0的增量编译校验逻辑,可按照以下顺序尝试解决:
方案1:切换Android Studio使用的JDK版本(优先推荐)
Android Studio默认使用自带的内嵌JDK,不会读取系统环境变量配置的JDK路径,需手动修改配置:
- 打开Android Studio顶部菜单栏
File > Settings(Mac系统为Android Studio > Preferences) - 依次进入
Build, Execution, Deployment > Build Tools > Gradle - 在
Gradle JDK下拉选项中选择Android Studio自带的内嵌JDK(版本为11及以上即可),或手动指定你本地安装的JDK11+的安装路径 - 保存配置后重新执行编译
方案2:关闭Room增量编译(适合需要保留JDK8的场景)
如果你的项目必须使用JDK8,可以手动关闭Room的增量编译校验,无需升级JDK:
- 打开项目根目录下的
gradle.properties文件 - 添加如下配置:
room.incremental = false
- 保存后重新编译即可,该配置仅会降低Room的编译速度,不会影响功能运行
方案3:检查Java编译版本配置
确认模块级build.gradle文件中Java版本配置正确,避免版本不匹配触发异常:
android { compileOptions { sourceCompatibility JavaVersion.VERSION_1_8 targetCompatibility JavaVersion.VERSION_1_8 } // 项目使用Kotlin时需额外添加以下配置 kotlinOptions { jvmTarget = "1.8" } }
方案4:清理编译缓存
如果上述操作后仍报错,清理Android Studio缓存后重试:
- 点击顶部菜单栏
File > Invalidate Caches / Restart - 选择
Invalidate and Restart等待Android Studio重启后重新编译
内容的提问来源于stack exchange,提问作者WHOATEMYNOODLES
相关产品推荐
相关产品推荐

