美文网首页
'compileDebugJavaWithJavac' task

'compileDebugJavaWithJavac' task

作者: WangKiven | 来源:发表于2023-04-18 16:48 被阅读0次

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'
    }

相关文章

网友评论

      本文标题:'compileDebugJavaWithJavac' task

      本文链接:https://www.haomeiwen.com/subject/tsohjdtx.html