在内置的Kotlin中不允许使用kotlin.sourceSets DSL来添加Kotlin源文件
我是尝试更新Gradle依赖并使用android.sourceSets DSL。我似乎找不出配置中出错的地方。我应该如何修改Gradle文件,以便不再使用kotlin.sorceSets DSL?
这是app模块的build.gradle.kts文件:
plugins {
alias(libs.plugins.android.application)
alias(libs.plugins.compose.compiler)
}
android {
...
defaultConfig {
...
ksp {
arg("room.schemaLocation", "$projectDir/schemas")
}
}
...
compileOptions {
sourceCompatibility = JavaVersion.VERSION_1_8
targetCompatibility = JavaVersion.VERSION_1_8
}
// Add Kotlin source directories to AndroidSourceSet.kotlin
sourceSets {
named("main") {
kotlin {
directories += "additionalSourceDirectory/kotlin"
}
}
}
}
kotlin {
compilerOptions {
languageVersion = org.jetbrains.kotlin.gradle.dsl.KotlinVersion.KOTLIN_2_0
// Optional: Set jvmTarget
jvmTarget = org.jetbrains.kotlin.gradle.dsl.JvmTarget.JVM_11
}
}
...
而这是根项目的build.gradle.kts文件:
// Top-level build file where you can add configuration options common to all sub-projects/modules.
plugins {
alias(libs.plugins.android.application) apply false
alias(libs.plugins.compose.compiler) apply false
...
}
解决方案
参考 https://github.com/google/ksp/issues/2729
很可能需要在你的libs.versions.toml文件中把ksp设置为2.3.4及以上版本。
我最近把它更新到了:
[versions]
agp = "9.1.0"
kotlin = "2.3.10"
ksp = "2.3.6"
站内所有文章版权归属LeftHeroAI导航站,无授权禁止任何主体转载、抄袭、复制内容,亦不得私自架设镜像站点。一经侵权,本站将通过法律途径追责。