用途:帮助将 Kotlin Multiplatform(KMP)项目迁移到 Android Gradle Plugin 9.0+。AGP 9.0 使 Android 应用与库插件无法与 KMP 插件在同一模块共存,该技能提供分步迁移指引。
主要能力:先分析项目结构(settings.gradle.kts、各模块 build.gradle.kts、版本目录、Gradle wrapper、gradle.properties),再按模块类型选择路径。Path A 用于 kotlin.multiplatform + com.android.library:把 com.android.library 换成 com.android.kotlin.multiplatform.library,将 android {} 配置移入 kotlin { android {} },重命名源码目录(src/main→src/androidMain 等),迁移依赖到 sourceSets,按需启用 androidResources、withJava()、withHostTest、withDeviceTest,并用 localDependencySelection 处理多变体依赖。Path B 用于 KMP + com.android.application,必须拆分出独立 androidApp 模块,迁移入口代码与清单,原模块转为库。Path C 为推荐的整体重构,把 composeApp 拆为 shared、androidApp、desktopApp、webApp 等。
必要用法:更新 Gradle wrapper 至 9.1.0+、AGP 至 9.0.0+、JDK 17+、SDK Build Tools 36.0.0;移除 org.jetbrains.kotlin.android;将 kapt 迁移到 KSP 或 com.android.legacy-kapt;把 kotlinOptions 改为 kotlin.compilerOptions;kotlin.sourceSets 改为 android.sourceSets。可临时用 android.builtInKotlin=false 逐模块迁移。
限制:需先核对第三方插件兼容性;Gradle 属性默认值变化可能引发冲突;部分旧属性已移除。资料未提供具体收费、平台或效果信息。