kaptGenerateStubsDebugKotlin не работает на Macbook Apple M1 (JDK 11)

Я получаю этот сбой как в Android Studio, так и при запуске ./gradlew assembleDebugв командной строке нового Macbook с чипом Apple M1 Max. На моем старом 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. (Тот же результат для JDK по умолчанию для Android Studio (11.0.10) и «11.0.13 2021-10-19 LTS», загруженный с www.oracle.com.)

Есть идеи, как заставить это работать на M1 Mac?

3 ответа

Как писал @Jake, перезагрузка компьютера каким-то образом устранила проблему.

Из ссылки, которой поделилась mcomella — https://youtrack.jetbrains.com/issue/KT-45545, они исправили это в Kotlin 1.6.x.

Так что переход на Kotlin 1.6.x сработал в моем случае (Apple M1 Pro).

Я решаю это в своем MacBook Air M1, обновляя версию Kotlin и всю другую библиотеку для последней версии, вам также необходимо обновить compileSDKVersion и targetSDKVersion для последней версии.

Другие вопросы по тегам