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

2024-04-27 1572阅读

目录

  • 一、问题
  • 二、问题分析
  • 三、踩坑
  • 四、解决办法
    • 4.1 检测效果
    • 五、总结

      一、问题

      在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

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

      二、问题分析

      这个错误是因为在使用 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
      • 解决问题:Unable to make field private final java.lang.String java.io.File.path accessible: module java.b

        如果我点击上面蓝色字体部分,等待漫长的时间后,自动下载了一个Gradle7.2版本,我继续构建,还是继续报错:

        Unsupported Java.

        Your build is currently configured to use Java 18.0.2 and Gradle 7.2.

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

        不对劲,不可能一直更该grade版本。

        下面是我试过的JDK各个版本,死活不兼容,如下:

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

        四、解决办法

        将之前打开的工程文件全部删除,解压源码包后,然后重新用Android Studio打开,下载1.8版本的SDK,具体下载过程见下:

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

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

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

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

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

        4.1 检测效果

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

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

        五、总结

        以上就是解决问题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的详细方法,希望能帮到有同样问题的你。

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

VPS购买请点击我

免责声明:我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自自研大数据AI进行生成,内容摘自(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供学习参考,不准确地方联系删除处理! 图片声明:本站部分配图来自人工智能系统AI生成,觅知网授权图片,PxHere摄影无版权图库和百度,360,搜狗等多加搜索引擎自动关键词搜索配图,如有侵权的图片,请第一时间联系我们,邮箱:ciyunidc@ciyunshuju.com。本站只作为美观性配图使用,无任何非法侵犯第三方意图,一切解释权归图片著作权方,本站不承担任何责任。如有恶意碰瓷者,必当奉陪到底严惩不贷!

目录[+]