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

2024-02-27 1120阅读

温馨提示:这篇文章已超过391天没有更新,请注意相关的内容是否还可用!

下载最新的 Android Studio(2023.12)

版本如下

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

运行后错误如下

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 @1130dfcd

百度google一圈发现没有什么线索,然后咨询gpt4得结果如下:

如果您在 Android Studio 中打开一个 GitHub 上的项目并遇到了“Unable to make field private

final java.lang.String java.io.File.path

accessible”这样的错误信息,这通常是因为您的项目中有代码尝试通过反射来访问 java.io.File 类的私有字段

path,但这在 Java 模块系统中是不被允许的。

您可以尝试以下步骤来解决此问题:

  1. 更新 Android Studio 和 Gradle: 确保您的 Android Studio 和 Gradle 插件是最新版本,因为最新版本的工具通常会更好地与 Java 模块系统兼容。

  2. 检查第三方库: 如果您的项目中使用了第三方库,确保它们都是最新版本。有时候,库的旧版本可能不兼容最新的 Java 平台更改。

  3. Gradle 配置: 检查项目的 build.gradle 文件中是否有任何不兼容的配置或者插件,它可能导致了您的问题。尝试更新到最新的配置,并按照官方文档进行设置。

  4. 项目的 JDK 版本: 检查 Android Studio 使用的 JDK 版本是否与项目兼容。通常,Android 项目应该使用 Google 提供的 Android Studio 内置 JDK。

  5. 项目结构设置: 在 Android Studio 中,您可以通过以下步骤检查和更改项目的 JDK 版本:

    • 打开“File”菜单
    • 选择“Project Structure…”
    • 在“Project”选项卡中,查看并设置“Project SDK”为正确的 JDK 版本

如果上述步骤都不奏效,您可能需要考虑以下更具体的解决方案:

  1. VM 选项: 如果问题是由于 Gradle 运行时的 Java 模块系统安全性造成的,您可以尝试修改 Gradle 的 JVM 参数。在项目的 gradle.properties 文件中添加以下行,以便在运行 Gradle 时添加必要的 JVM 参数:

    org.gradle.jvmargs=--add-opens java.base/java.io=ALL-UNNAMED
    
  2. 代码更改: 如果问题出现在您控制的代码中,修改代码以避免反射访问 File 类的私有字段 path。如果您无法修改代码(比如它是第三方库的一部分),您可能需要联系库的维护者以获取帮助或者查找替代的库。

如果仍然遇到问题,请提供更多的上下文信息,如错误发生时的具体情况,以及您正在使用的 Android Studio

的版本,这将有助于提供更具体的解决方案。

一条条来看,

1、更新 Android Studio 和 Gradle, 这个都是自动下的最新的,跳过

2、检查第三方库,显然我 clone 一个项目是没法去做代码改造的,不实际、跳过

3、Gradle 配置,这个粗略看一下,也不太好发现问题,跳过

4、5、项目的 JDK 版本,这个可以看看项目配置里的 Java 有没有设置对,clone 的项目是 jdk1.8 查看项目配置是一致的,跳过

目前没有发现能实质性推进的改动。往下看有 VM 选项修改,尝试在 gradle.properties 文件中添加如下代码

org.gradle.jvmargs=--add-opens java.base/java.io=ALL-UNNAMED

再 clean、run,项目运行起来了!被迫使用 gradle 根本不想关心 why it works.

本文仅做记录,供他人参考,结案。

VPS购买请点击我

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

目录[+]