AGP 升级8.0之后 module java.base does not "opens java.lang.ref" to unnamed module

1,214 阅读1分钟

解决方案:在gradle.properties中新增以下配置

org.gradle.jvmargs=-Xmx4g -XX:+UseParallelGC -Dfile.encoding=UTF-8 \  
--add-exports=java.base/sun.nio.ch=ALL-UNNAMED\  
--add-exports=jdk.unsupported/sun.misc=ALL-UNNAMED \  
--add-opens=java.base/java.io=ALL-UNNAMED \  
--add-opens=java.base/java.lang=ALL-UNNAMED \  
--add-opens=java.base/java.lang.reflect=ALL-UNNAMED \  
--add-opens=java.base/java.lang.ref=ALL-UNNAMED \  
--add-opens=jdk.compiler/com.sun.tools.javac.api=ALL-UNNAMED \  
--add-opens=jdk.compiler/com.sun.tools.javac.code=ALL-UNNAMED \  
--add-opens=jdk.compiler/com.sun.tools.javac.comp=ALL-UNNAMED \  
--add-opens=jdk.compiler/com.sun.tools.javac.file=ALL-UNNAMED \  
--add-opens=jdk.compiler/com.sun.tools.javac.jvm=ALL-UNNAMED \  
--add-opens=jdk.compiler/com.sun.tools.javac.main=ALL-UNNAMED \  
--add-opens=jdk.compiler/com.sun.tools.javac.parser=ALL-UNNAMED \  
--add-opens=jdk.compiler/com.sun.tools.javac.processing=ALL-UNNAMED \  
--add-opens=jdk.compiler/com.sun.tools.javac.tree=ALL-UNNAMED \  
--add-opens=jdk.compiler/com.sun.tools.javac.util=ALL-UNNAMED

kotlin.daemon.jvmargs=-Dfile.encoding=UTF-8 \  
--add-exports=java.base/sun.nio.ch=ALL-UNNAMED\  
--add-exports=jdk.unsupported/sun.misc=ALL-UNNAMED \  
--add-opens=java.base/java.io=ALL-UNNAMED \  
--add-opens=java.base/java.lang=ALL-UNNAMED \  
--add-opens=java.base/java.lang.reflect=ALL-UNNAMED \  
--add-opens=java.base/java.lang.ref=ALL-UNNAMED \  
--add-opens=jdk.compiler/com.sun.tools.javac.api=ALL-UNNAMED \  
--add-opens=jdk.compiler/com.sun.tools.javac.code=ALL-UNNAMED \  
--add-opens=jdk.compiler/com.sun.tools.javac.comp=ALL-UNNAMED \  
--add-opens=jdk.compiler/com.sun.tools.javac.file=ALL-UNNAMED \  
--add-opens=jdk.compiler/com.sun.tools.javac.jvm=ALL-UNNAMED \  
--add-opens=jdk.compiler/com.sun.tools.javac.main=ALL-UNNAMED \  
--add-opens=jdk.compiler/com.sun.tools.javac.parser=ALL-UNNAMED \  
--add-opens=jdk.compiler/com.sun.tools.javac.processing=ALL-UNNAMED \  
--add-opens=jdk.compiler/com.sun.tools.javac.tree=ALL-UNNAMED \  
--add-opens=jdk.compiler/com.sun.tools.javac.util=ALL-UNNAMED

--add-opens 是为了任意访问没有在 module 当中声明公开的 API