当我使用导入的 Kotlin 多平台项目开发 android 应用程序时,是否可以不运行所有 iOS(kotlin/Native)任务(cinterop + cocoapods)?
我们目前的KMP项目(SharedLibrary)结构是:
SharedLibrary
- build.gradle.kts
- settings.gradle.kts
- ...
- shared
- build.gradle.kts
- commonMain
- androidMain (android library target)
- ...
我们有一个单独的 Android 项目 (SomeApp),具有以下设置来导入我们的共享库。
// settings.gradle.kts
include ":shared"
project(":shared").projectDir = file("../SharedLibrary/shared")
问题是......这是一个非常烦人的开发模式,特别是因为 iOS 工件(cinterop + cocoapods 等)每次发生变化时都会重新构建,即使我只关心 android 库工件。
我尝试过的事情:
- 我尝试切换到复合构建,但出现与 gradle 无法找到多平台插件有关的错误。
- 我正在考虑切换到本地 maven,但它肯定会减慢开发过程,所以我反对。
这是我们设置的问题吗?还是这些任务只是相互依赖而没有办法解决?