我刚刚更新到Android Studio Flamingo | 2022.2.1
。现在我遇到了这个错误:
Execution failed for task ':app:kaptGenerateStubsDebugKotlin'.
> 'compileDebugJavaWithJavac' task (current target is 1.8) and 'kaptGenerateStubsDebugKotlin' task (current target is 17) jvm target compatibility should be set to the same Java version.
Consider using JVM toolchain: https://kotl.in/gradle/jvm/toolchain
我正在使用AS包含的Kotlin,版本为1.8.0
,但是在AGP 7.4.2
和Gradle 7.5
下可以正常工作 - 只有在从AS Flamingo更新Gradle和AGP后才会出现问题。此外:
- 如果我将Kotlin降级到
1.7.20
,它就能再次正常工作 - 如果我将Kotlin升级到
1.8.20
,它就会出现上述错误
我确实有编译选项:
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
kotlinOptions {
jvmTarget = '1.8'
}
我也尝试了示例AS应用程序,但它们使用的是Kotlin 1.7.20
。它们也可以与Kotlin 1.8.0
一起使用 - 除非您在依赖项中引入kapt
!(例如Dagger)
那么,应该使用哪种组合才能正常工作 - 包括kapt - 并具有Android Studio推荐的最新稳定版本?
- Android Studio版本?
- AGP版本?
- Gradle版本?
- Kotlin版本?
请不要提供未经测试的答案。我知道它“应该”可以工作,但实际上并不行。