'compileDebugJavaWithJavac' task (current target is 1.8) and 'kaptGenerateStubsDebugKotlin' task ...

1

有的说修改sourceCompatibilitytargetCompatibility的值,试了,然并卵。新建了个项目看了一下配置,sourceCompatibilitytargetCompatibility配置的还是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'
    }

sourceCompatibilitytargetCompatibility的值呢?

不需要修改,保持java1.8.

    compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_8
        targetCompatibility JavaVersion.VERSION_1_8
    }
    kotlinOptions {
        jvmTarget = '1.8'
    }
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容