AGP9迁移至Android多平台库后KSP插件报错:Kotlin多平台Variant API暂不支持addKspConfigurations()
兄弟,我前阵子刚踩过这个坑!没错,这确实是KSP还没适配AGP9的Android Multiplatform Library插件导致的——AGP9的com.android.kotlin.multiplatform.library用了全新的Variant API,而当前稳定版的KSP还没跟上这个变化,所以才会抛出这个addKspConfigurations()不支持的错误。
给你几个实用的解决方向:
最稳妥的临时方案:回退到传统Android Library插件
你代码里已经把com.android.library注释掉了,现在只需要把alias(libs.plugins.androidMultiplatformLibrary)注释掉,打开alias(libs.plugins.androidLibrary),就能正常编译了。毕竟传统Android库插件和KSP的配合已经非常成熟,等后续KSP官方发布适配AGP9多平台库的版本后,再切换回来就行。尝鲜方案:试试KSP的快照版本
官方可能已经在修复这个兼容性问题了,你可以尝试切换到KSP的最新快照版本(比如在libs.versions.toml里把KSP的版本替换成最新的快照号,比如2.4.0-250.1.0-SNAPSHOT这类),不过快照版稳定性没法保证,适合必须用Android Multiplatform Library特性的场景。佛系方案:等官方适配版本
要是不急着切换,就等KSP的稳定更新就行,关注下他们的更新日志或者社区讨论,适配版本出来后再升级。
另外看你的Gradle配置,还有个小细节:如果回退到传统Android Library插件,kotlin {}块里的androidTarget()可以保留(新版KMP已经兼容这个写法),依赖里的kspJvm配置也不用改,完全能正常工作。
备注:内容来源于stack exchange,提问作者lelestacia

