Unable to make field private final java.lang.String java.io.File.path accessible Qt Android

Viewed 1809

I am trying to run my android program in Qt however I am getting the following error:

Execution failed for task ':processDebugManifest'.
> 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 @13d72a22

I tried different versions of jdk and gradle however nothing helps.

Gradle version: 7.4.2 JDK version: 18

1 Answers

Adding --add-opens=java.base/java.io=ALL-UNNAMED to your JAVA_OPTS environment variable or the org.gradle.jvmargs gradle property will resolve this issue with Java 18.

Here is the full org.gradle.jvmargs gradle property value that I'm using:

org.gradle.jvmargs = -Xmx2048M -Dkotlin.daemon.jvm.options\="-Xmx2048M" --add-exports=java.base/sun.nio.ch=ALL-UNNAMED --add-opens=java.base/java.lang=ALL-UNNAMED --add-opens=java.base/java.lang.reflect=ALL-UNNAMED --add-opens=java.base/java.io=ALL-UNNAMED --add-exports=jdk.unsupported/sun.misc=ALL-UNNAMED

Another option is to downgrade to JDK 17. I downgraded to openjdk version "17.0.3" 2022-04-19 and did not get the error.

Related