Ionic Gradle构建使用旧JAVA_HOME值导致报错的问题排查
修复Gradle读取失效旧JDK路径导致Capacitor构建失败
问题根因
Windows环境下Gradle读取Java路径的优先级为:项目local.properties配置 > 项目gradle.properties配置 > 用户目录全局gradle.properties配置 > Android Studio全局Gradle JDK配置 > 系统环境变量JAVA_HOME。你之前安装JDK18时,路径被硬编码写入了上述高优先级配置文件中,仅修改系统环境变量、清理缓存、重装软件都不会自动修正这些硬编码值,因此Gradle会持续读取已删除的旧路径。
分步解决操作
- 修复全局Gradle配置
打开资源管理器进入当前用户目录下的.gradle文件夹(默认路径为C:\Users\你的Windows用户名\.gradle),找到gradle.properties文件用文本编辑器打开,搜索org.gradle.java.home字段,你会看到该字段值为已删除的JDK18路径C:\Program Files\Java\jdk-18.0.1.1,你可以选择将值修改为当前Java8的JDK完整安装路径(路径中反斜杠需要写双反斜杠转义,例:org.gradle.java.home=C:\\Program Files\\Java\\jdk1.8.0_381),也可以直接删除整行配置,让Gradle读取下层优先级的配置。 - 修复Android Studio全局JDK配置
打开Android Studio,进入Settings > Build, Execution, Deployment > Build Tools > Gradle设置页,找到Gradle JDK下拉选项,当前选中项一定是标注为无效路径的JDK18,将其切换为你安装的Java8版本对应的JDK路径,点击Apply保存后关闭Android Studio。 - 修复项目级配置
进入Ionic项目下的android目录,首先打开gradle.properties文件,搜索org.gradle.java.home字段,存在旧路径则修改或删除;再打开local.properties文件,查找是否存在org.gradle.java.home配置项,旧版本Capacitor生成Android项目时会将首次检测到的JDK路径硬编码在该文件中,存在旧路径则修改或直接删除整行。 - 校验配置后重新构建
打开全新的命令提示符窗口(不要用之前打开的旧CMD窗口,旧窗口会留存之前的环境变量缓存),依次执行java -version、echo %JAVA_HOME%确认输出为Java8版本及对应安装路径,再执行ionic capacitor run android即可正常完成Gradle构建。
避坑提示:完成上述配置前不要执行
ionic capacitor add android重建android目录,否则Capacitor会读取当前残留的错误缓存,再次将旧JDK路径写入新生成的配置文件,导致问题复现。
内容的提问来源于stack exchange,提问作者Schmank
相关产品推荐
相关产品推荐

