如何在Android Studio中使用ButterKnife修复此错误?

vjhs03f7  于 2022-11-16  发布在  Android
关注(0)|答案(3)|浏览(226)

生成成功,但在仿真程序上运行失败,并在控制台中显示以下消息:

原因:超类访问检查失败:类butterknife.compiler.ButterKnifeProcessor$RScanner(在未命名模块@0x65e8e2f6中)无法访问类com.sun.tools.javac.tree.TreeScanner(在模块jdk.compiler中),因为模块jdk.compiler未将com.sun.tools.javac.tree导出到未命名模块@0x65e8e2f6

**我尝试过的:**从Gradle中删除Butterknife,同步,添加回,再次同步。完全删除Butterknife库,这不会在编译时产生此错误,但显然由于缺少Butterknife而无法编译。
**我的环境:**Butterknife 10.2.3 Android等级插件版本:7.1.2 - Gradle版本:7.2 -Android Studio 大黄蜂

我已经读到这个错误发生在一些罕见的情况下,似乎与我无关的其他库,我仍然没有找到一个解决方案。我知道Butterknife是不赞成的,我应该迁移到ViewBinding,但这是一个大的任务,以转换这整个项目的时刻。谢谢!

p3rjfoxz

p3rjfoxz1#

请使用JDK 11。虽然我们将Gradle JDK设置为jdk11或correto 11,但Android Studio无法识别。
解决方法:
1.在终端中键入java --version,查看是否显示为JDK 11
1.如果版本不是JDK 11,则设置JAVA_HOME env变量export JAVA_HOME=/Users/${echo $USER}/documents/Android\Studio.app/Contents/jre/Contents/Home
1.在终端中键入java --version,查看是否显示为JDK 11。

mfuanj7w

mfuanj7w2#

你应该用不同的jdk编译,我用的jdk太高级了,把它恢复成jdk11就解决了

hm2xizp9

hm2xizp93#

使用上述答案中的想法并使用Android Studio:档案|设定|构建、执行、部署|构建工具|Android Studio 默认JDK(版本11.0.13)

相关问题