解决问题:Unable to make field private final java.lang.String java.io.File.path accessible: module java.b

avatar
作者
筋斗云
阅读量:0

目录

一、问题

在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的详细方法,希望能帮到有同样问题的你。

感谢您阅读到最后!关注公众号「视觉研坊」,获取干货教程、实战案例、技术解答、行业资讯!

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!