目录
一、问题
在Android Studio中构建项目时遇到问题:Unable to make field private final java.lang.String java.io.File.path accessible: module java.base does not “opens java.io” to unnamed module @5de92e13
二、问题分析
这个错误是因为在使用 Java 的反射 API 来访问或修改 java.io.File.path 这个私有字段,但是 Java 的模块系统阻止了这种访问。
三、踩坑
我按照其他教程试了,比如更新 Android Studio 和 Gradle,检查第三方库,添加 JVM 参数:在你的 gradle.properties 文件中,添加以下 JVM 参数:
org.gradle.jvmargs=--add-opens java.base/java.io=ALL-UNNAMED
我试了第三种方法,对我的问题,没用。
我出现该问题是因为我导入一个新的工程项目文件,构建时报错:
Unsupported Java.
Your build is currently configured to use Java 17.0.9 and Gradle 5.4.1.
Possible solution:
- Upgrade Gradle wrapper to 7.2 version and re-import the project
如果我点击上面蓝色字体部分,等待漫长的时间后,自动下载了一个Gradle7.2版本,我继续构建,还是继续报错:
Unsupported Java.
Your build is currently configured to use Java 18.0.2 and Gradle 7.2.
不对劲,不可能一直更新grade版本。
下面是我试过的JDK各个版本,死活不兼容,如下:
四、解决办法
将之前打开的工程文件全部删除,解压源码包后,然后重新用Android Studio打开,下载1.8版本的SDK,具体下载过程见下:
4.1 检测效果
五、总结
以上就是解决问题Unable to make field private final java.lang.String java.io.File.path accessible: module java.base does not “opens java.io” to unnamed module @5de92e13的详细方法,希望能帮到有同样问题的你。
感谢您阅读到最后!关注公众号「视觉研坊」,获取干货教程、实战案例、技术解答、行业资讯!