1
有的说修改sourceCompatibility
、targetCompatibility
的值,试了,然并卵。新建了个项目看了一下配置,sourceCompatibility
、targetCompatibility
配置的还是java1.8,是能够运行起来的。好吧,根据这个新建项目配置gradle插件吧,配置好后能够正常运行了。下面是我的相关配置:
- Android Studio 版本:Android Studio Flamingo | 2022.2.1
- 项目根目录下build.gradle
plugins {
id 'com.android.application' version '8.0.0' apply false
id 'com.android.library' version '8.0.0' apply false
id 'org.jetbrains.kotlin.android' version '1.7.20' apply false
}
- gradle版本是8.0:
distributionUrl=https\://services.gradle.org/distributions/gradle-8.0-bin.zip
2
一般的情况下上面的步骤完成就好了,但是我的项目不行。
- 我的项目使用了ksp,需要使用对应的kotlin的版本, 在对应module下的build.gradle修改配置:
// 配置插件版本
id 'com.google.devtools.ksp' version '1.8.10-1.0.9'
......
// 使用ksp的是room库,使用kapt运行异常,使用ksp到是正常了
// kapt("androidx.room:room-compiler:$room_version")
ksp("androidx.room:room-compiler:$room_version")
- 使用了
buildConfigField
,据说被禁用了。需要添加一个配置,使其可用,在build.gradle中配置:
android {
......
buildFeatures {
buildConfig true
}
}
是不是感觉kotlin的版本不是最新的?
我在新建的demo项目中配置成了koltlin 1.8.10,是可以正常运行的。但是,在我原有项目是不能正常运行,提示的错误就是这篇文章的标题!!!
'kaptGenerateStubsDebugKotlin', kapt
?好吧,应该是kotlin还没适配吧!后面又试了一下ksp
,也不行,等以后适配了再弄吧!好像'kapt'快不被维护了,推荐使用ksp
。
- 为什么不要koltlin 1.8.20呢?
因为项目使用了compose
,其最新版本适配的是koltlin 1.8.10,可查看compose 预发布 Kotlin 兼容性。要记得修改compose
版本:
buildFeatures {
compose true
}
composeOptions {
kotlinCompilerExtensionVersion '1.4.3'
}
sourceCompatibility
、targetCompatibility
的值呢?
不需要修改,保持java1.8.
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
kotlinOptions {
jvmTarget = '1.8'
}
网友评论