使用com.google.devtools.ksp插件编译apk的时候报不允许使用kotlin.sourceSets在内置的kotlin中了。
Using kotlin.sourceSets DSL to add Kotlin sources is not allowed with built-in Kotlin.
Kotlin source set 'debug' contains: [D:\Project\ComposeApp\app\build\generated\ksp\debug\kotlin, D:\Project\ComposeApp\app\build\generated\ksp\debug\java]
Solution: Use android.sourceSets DSL instead.
For more information, see https://developer.android.com/r/tools/built-in-kotlin
To suppress this error, set android.disallowKotlinSourceSets=false in gradle.properties.
原因
Android Gradle 插件 9.0 引入了内置 Kotlin 支持,并默认启用该支持。也就是说android gradle 插件9.0之后不支持kotlin.sourceSets的方式来设置kotlin源码路径了。
官方文档:developer.android.com/build/migra…
我用的ksp版本是"2.0.21-1.0.27",Android gradle插件版本是"9.1.0"。
应该是ksp中用到了kotlin.sourceSets。
id("com.google.devtools.ksp") version "2.0.21-1.0.27" apply false
解决方法
升级ksp版本到"2.3.4",这个版本适配了9.0之后的gradle插件版本