Android Studio构建报错:无法访问java.io.File.path字段求助(Gradle7.2)
解决Gradle 7.2构建Android应用的模块访问错误
错误原因
该错误源于Java 9及以上版本的模块系统(JPMS)限制:java.base模块未向未命名模块开放java.io包,而Gradle 7.2运行时需要访问java.io.File的内部字段,触发了权限限制。
解决方案
1. 添加JVM参数开放模块访问
在项目根目录的gradle.properties文件中,添加或修改以下配置:
org.gradle.jvmargs=--add-opens java.base/java.io=ALL-UNNAMED
如果已有org.gradle.jvmargs配置,直接在原有参数后追加上述内容即可(多个参数用空格分隔)。
2. 切换兼容的Java版本
Gradle 7.2官方支持Java 8至Java 11,若当前使用Java 12及以上版本,可切换到Java 8或Java 11:
- Android Studio操作路径:
File > Project Structure > SDK Location,在JDK location选择对应版本的JDK。 - 或在
gradle.properties中指定JDK路径:
org.gradle.java.home=/你的JDK8或JDK11路径
3. 升级Gradle版本
Gradle 7.2的兼容性问题在后续版本中已修复,可升级到Gradle 7.5及以上版本(需匹配对应Android Gradle Plugin版本):
- 修改项目根目录
build.gradle中的插件版本:
buildscript { dependencies { classpath 'com.android.tools.build:gradle:7.4.2' // 对应Gradle 7.5 } }
- 同步修改
gradle/wrapper/gradle-wrapper.properties的下载地址:
distributionUrl=https\://services.gradle.org/distributions/gradle-7.5-bin.zip
内容的提问来源于stack exchange,提问作者WOLFERSER
相关产品推荐
相关产品推荐

