SuperAPI AI 工具集

kuikly-multi-module-config

编程与开发

查看项目

更新于 10-16 05:06

技能介绍

用途:指导在 Kuikly 工程中创建子模块并完成多模块配置。仅当子模块包含使用 @Page 注解的 Kuikly 页面时才需要多模块设置;无页面则为普通 KMP 模块,无需特殊配置。多模块主要解决多个独立 Kuikly 模块导致的 KuiklyCoreEntry 入口类冲突。

主要能力:提供交互式工作流,先收集子模块名称与主模块名称,再按步骤创建子模块目录与 build.gradle.kts、修改 settings.gradle.kts、修改主模块依赖与 KSP 多模块参数、创建 src 目录结构、生成示例 @Page 页面,并检查是否存在多套 Gradle 配置。

必要用法:在根 settings.gradle.kts 添加 include(":${子模块名}"),如主模块有 buildFileName 配置则子模块也需设置。主模块 commonMain 添加 implementation(project(":${子模块名}")),并在 ksp 块配置 arg("moduleId", "${主模块名}")、arg("isMainModule", "true")、arg("subModules", "${子模块名}")(多个用 & 分隔)、arg("enableMultiModule", "true")。子模块复制主模块 build.gradle.kts,仅改差异点:moduleId 改为子模块名、isMainModule 改为 "false"、删除 subModules、android.namespace 改为子模块包名、移除对其他子模块依赖。

限制:子模块不能单独编译,必须通过主模块编译;moduleId 必须唯一;subModules 只在主模块配置;iOS 端无需额外配置,子模块与主模块统一编译生成一个 framework。存在多套 Gradle 配置时每套都需重复配置。详细模板见 SUBMODULE_CONFIG.md 与 MAIN_MODULE_CONFIG.md。