Android Studio工程提示报错

967 阅读1分钟

错误1:superclass access check failed

很多时候as去打开往期的工程就会出现下面提示。

错误信息

Cause: superclass access check failed: class butterknife.compiler.ButterKnifeProcessor$RScanner (in unnamed module @0x65e8e2f6) cannot access class com.sun.tools.javac.tree.TreeScanner (in module jdk.compiler) because module jdk.compiler does not export com.sun.tools.javac.tree to unnamed module @0x65e8e2f6

解决方法

编辑gradle.propertiesorg.gradle.jvmargs的后面添加--add-exports相关参数 比如上面的报错,将报错的包名按照下面的格式进行添加

--add-exports=jdk.compiler/com.sun.tools.javac.tree=ALL-UNNAMED

gradle.properties中的样子

org.gradle.jvmargs=-Xmx4096m -XX:MaxPermSize=512m \
--add-exports=jdk.compiler/com.sun.tools.javac.tree=ALL-UNNAMED 

当编译器提示还有其他的错误,如

because module jdk.compiler does not export com.sun.tools.javac.code to unnamed module @0x65e8e2f6

则在后面继续添加

--add-exports=jdk.compiler/com.sun.tools.javac.code=ALL-UNNAMED

完整内容

org.gradle.jvmargs=-Xmx4096m -XX:MaxPermSize=512m \
--add-exports=jdk.compiler/com.sun.tools.javac.tree=ALL-UNNAMED \
--add-exports=jdk.compiler/com.sun.tools.javac.code=ALL-UNNAMED \
--add-exports=jdk.compiler/com.sun.tools.javac.code=ALL-UNNAMED