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

一、问题

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

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

  • 39
    点赞
  • 57
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 28
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 28
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

视觉研坊

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值