如何将KMP项目作为模块接入Android项目及依赖共享逻辑?
KMP项目模块引入与业务逻辑访问问题解答
1. 应引入哪个目录到Android项目?
优先选择shared目录作为模块引入。shared是KMP项目的跨平台业务逻辑核心,直接引入它能让你的Android项目原生UI层直接复用统一的业务逻辑,完全契合KMP跨平台复用的设计目标。
如果你的Android原生UI代码已经写在KMP项目自带的Android目录中,也可以将该Android目录作为模块引入,但这种方式不如直接依赖shared灵活,更适合需要完整复用原有KMP Android端UI的场景。
2. 引入Android目录后如何获取shared的业务逻辑?
KMP Wizard生成的项目中,Android目录默认已配置好对shared模块的依赖,无需额外配置即可直接使用:
- 在Android目录的代码中,直接导入shared包下的业务类:
import com.yourproject.shared.domain.UserUseCase import com.yourproject.shared.data.model.User
- 之后就能像调用本地类一样使用shared中的业务逻辑,例如:
val userUseCase = UserUseCase() val user = userUseCase.getUserInfo()
如果发现依赖未自动配置,可手动在Android模块的build.gradle.kts(或Groovy版build.gradle)中添加依赖声明:
dependencies { // 其他依赖... implementation(project(":shared")) }
内容的提问来源于stack exchange,提问作者arun
相关产品推荐
相关产品推荐

