层级项目结构

最终更新: 2025/02/06

Kotlin Multiplatform 项目支持层级的源代码集结构. 也就是说, 你可以安排中间源代码集的层级结构, 用于在部分的, 但不是全部的 支持的编译目标, 之间共用共通的代码. 使用中间源代码集可以帮助你:

  • 针对一部分编译目标, 提供特定的 API. 例如, 一个库可以在一个中间源代码集中添加原生代码相关的 API, 用于 Kotlin/Native 编译目标, 但不用于 Kotlin/JVM 编译目标.

  • 针对一部分编译目标, 使用特定的 API. 例如, 你可以利用 Kotlin Multiplatform 库为某些编译目标提供的丰富的 API, 这些编译目标组成一个中间源代码集.

  • 在你的项目中使用依赖于平台的库. 例如, 你可以通过 iOS 中间源代码集访问 iOS 相关的依赖项.

Kotlin 工具链会确保, 每个源代码集只能访问这个源代码集编译到的所有编译目标都可以使用的 API. 这样可以防止一些错误情况, 例如使用了 Windows 专用的 API, 然后将其编译到 macOS, 这样的情况会在运行期导致链接错误或未定义的行为.

要设置源代码集层级结构, 推荐的方法是使用 默认的层级结构模板. 模板会覆盖最常见的情况. 如果你有更加复杂的项目, 你可以 手动配置. 这是一种更加底层的方案: 它更加灵活, 但需要更多的努力和更多的知识.