全部配置 / KN-BINARY-MODULEINCLUDEONLY
-Xbinary=moduleIncludeOnly
Xbinary=moduleIncludeOnly · KN-BINARY-MODULEINCLUDEONLY · 编译器参数(Native)
重要:中 · 场景相关
默认:未设置(不传则空)
场合:不推荐
来源:CPF-KMP-CMP社区新增 · 缺文档
待解决问题。文档缺口:此项为 CPF-KMP-CMP社区新增,但尚未挂接社区文档。应补充专章或在既有手册中明确提及本配置后再挂链。
不推荐手写。由编译器或构建管线内部使用,应用工程不要配置此项。
默认值:未设置。未指定则为空,常由其它模块项推导。使用场合:不推荐。不推荐:由编译器或构建管线内部使用,应用工程不要手写。
它是做什么的
用途。仅包含指定模块,限制链接/导出范围。
影响。改变产物拆分与链接边界;配错会导致缺符号或链接失败。
适用场景。不推荐在应用工程手写;由编译器或构建管线内部使用。
约束与联动。上游无此 -Xbinary。社区新增:模块化拆分时只纳入指定 klib 集合;常由 outputModule + moduleIncludes 推导;emitStdlib=true 时等价于仅 stdlib。
取值说明
| 可写取值 | 含义 | 使用场景 |
|---|---|---|
a;b;c | 以英文分号分隔的多项;空字符串表示空列表 | — |
定义依据:konan/BinaryOptions.kt 在仓库中打开
怎么用
- 配置入口:build.gradle.kts → ohosArm64.binaries.all { freeCompilerArgs += "-Xbinary=moduleIncludeOnly=true" }
- 示例:
// 文件:build.gradle.kts(应用的 Kotlin 模块,例如 composeApp)
kotlin {
ohosArm64 { // 按实际 native target 调整
binaries.all {
freeCompilerArgs += "-Xbinary=moduleIncludeOnly=true"
}
}
}
- 生效:Sync 后执行该目标的 compile/link。
- 验证:编译日志出现 `-Xbinary=moduleIncludeOnly=true`。
- 回滚:从 binaries.all 的 freeCompilerArgs 中删除该项后 Clean 并重编。
- 注意:不建议在应用工程中配置;由编译器或构建管线内部使用。
默认行为 未设置
不写这个配置时,编译器会怎么处理?
此选项默认未设置(空列表 / 空映射 / null)。不设置时由其他逻辑决定行为或直接跳过。
未指定则为空,常由其它模块项推导。
相关文档
当前无 CPF 文档链接。补齐社区文档并挂链后,此缺口告警将消失。