Ionic新建项目执行ionic capacitor run真机运行出现Java相关Gradle构建错误
问题根因
该错误是本地Java版本与项目依赖的Gradle版本不兼容导致:你使用的Java版本为16及以上,这类高版本Java新增了模块化访问限制,而项目默认搭载的Gradle 7.x版本未适配该限制,无法反射访问java.io包下的私有字段,进而触发构建失败。
解决方案
你可以任选以下任一方案修复:
方案1:降级Java版本(兼容性最优)
- 卸载本地当前安装的高版本Java,安装Java 11或Java 8两个长期支持版本
- 安装完成后执行
java -version确认版本已生效,重新运行ionic capacitor run即可
方案2:添加JVM启动参数绕过限制(无需修改软件版本)
- 打开项目下的
android/gradle.properties文件 - 在文件末尾追加如下配置:
org.gradle.jvmargs=--add-opens java.base/java.io=ALL-UNNAMED
- 保存文件后重新执行构建命令即可
方案3:升级Gradle版本适配高版本Java
- 打开项目下的
android/gradle/wrapper/gradle-wrapper.properties文件 - 将
distributionUrl字段对应的Gradle版本修改为7.4.2及以上版本,示例如下:
distributionUrl=https\://services.gradle.org/distributions/gradle-7.6-bin.zip
- 保存配置后重新同步项目,再执行运行命令即可
全局生效配置
如果后续新建Ionic项目仍频繁出现该问题,可以直接在用户根目录下的.gradle/gradle.properties文件中添加方案2提到的JVM参数,所有Gradle项目都会默认复用该配置,无需每次单独修改。
内容的提问来源于stack exchange,提问作者someone324443
相关产品推荐
相关产品推荐

