【发布时间】:2022-10-03 00:20:55
【问题描述】:
在 Cordova (11.0.0) 项目中,为 Android (\"cordova-android\": \"^10.1.2\") 平台构建时,我从 gradle(7.4.2) 收到此错误: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。
根据this answer 和this answer,它与Java 18 有关,可以通过向gradle.properties 添加一些属性来解决该问题。
需要编辑的文件是platforms/android/gradle.properties,使用before_build 挂钩脚本修改此文件是recommended。
我已经这样做了,并确认我的脚本正确地复制了我的 gradle.properties 版本。然而,随后有些东西会用文件的默认版本覆盖它。
如何防止我的文件版本被默认版本覆盖?
-
对于因 Java 错误而发现此问题的任何人。解决这个问题只会揭示更多与 Java 和 Gradle 版本相关的问题,而我可以解决这个问题的唯一方法是恢复到以前的 Java 版本。我不得不回到 Java 15。