Android Studio更新到最新版本,升级jdk时出现的Butterknife问题

问题描述 投票:0回答:1

我更新了android studio。 我像往常一样运行该项目。

在我的项目中,我使用 butterknife 库。

构建项目时,出现此错误。

Cause: superclass access check failed: class butterknife.compiler.ButterKnifeProcessor$RScanner (in unnamed module @0x46be592) 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 @0x46be592

当我寻找解决方案时, butterknife 问题,使用最新的 gradle 插件更新到最新版本的 android studio 后

找到文章了,

在应用程序级 build.gradle 代码的 android 部分

android
    {
     tasks.withType(JavaCompile).configureEach {
     options.fork = true
     options.forkOptions.jvmArgs += [
     '--add-opens=jdk.compiler/com.sun.tools.javac.tree=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.main=ALL-UNNAMED',
     '--add-opens=jdk.compiler/com.sun.tools.javac.model=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.util=ALL-UNNAMED',
     '--add-opens=jdk.compiler/com.sun.tools.javac.jvm=ALL-UNNAMED',
     ]
      
}

当我添加以下内容时,项目正常构建,就像一个谎言。

但是,我知道这种方法是一种 hacky 方法。

除了这些方法还有正常的方法吗?

谢谢你

java android butterknife
1个回答
0
投票

更好的选择是使用 JDK-8 或 JDK-11。

© www.soinside.com 2019 - 2024. All rights reserved.