我在新的苹果 M1 Max 芯片的 MacBook 上使用 Android Studio 和命令行运行“./gradlew assembleDebug”都遇到了这个错误。但是在我的老款 Intel Mac 上构建该项目没有问题。
> Task :app:kaptGenerateStubsDebugKotlin FAILED
e: java.lang.IllegalAccessError: class org.jetbrains.kotlin.kapt3.base.KaptContext (in unnamed module @0x4d1ecff7) cannot access class com.sun.tools.javac.util.Context (in module jdk.compiler) because module jdk.compiler does not export com.sun.tools.javac.util to unnamed module @0x4d1ecff7
at org.jetbrains.kotlin.kapt3.base.KaptContext.<init>(KaptContext.kt:28)
at org.jetbrains.kotlin.kapt3.KaptContextForStubGeneration.<init>(KaptContextForStubGeneration.kt:40)
at org.jetbrains.kotlin.kapt3.AbstractKapt3Extension.contextForStubGeneration(Kapt3Extension.kt:287)
at org.jetbrains.kotlin.kapt3.AbstractKapt3Extension.analysisCompleted(Kapt3Extension.kt:171)
at org.jetbrains.kotlin.kapt3.ClasspathBasedKapt3Extension.analysisCompleted(Kapt3Extension.kt:102)
类 org.jetbrains.kotlin.kapt3.base.KaptContext(在未命名模块 @0x4d1ecff7 中)无法访问类 com.sun.tools.javac.util.Context(位于模块 jdk.compiler 中),因为模块 jdk.compiler 未将 com.sun.tools.javac.util 导出到未命名模块 @0x4d1ecff7 中
通过谷歌搜索,错误消息看起来很像这里的错误消息:“Kapt 与 JDK 16+ 不兼容”。但问题是,我正在使用 JDK 11。(在 Android Studio 的默认JDK(11.0.10)和从 www.oracle.com 下载的“11.0.13 2021-10-19 LTS”上都有相同的结果。)
有什么办法可以在 M1 Mac 上使其正常工作吗?