全部配置 / KN-BINARY-EMITRUNTIMEOPT
-Xbinary=emitRuntimeOpt
Xbinary=emitRuntimeOpt · KN-BINARY-EMITRUNTIMEOPT · 编译器参数(Native)
重要:中 · 场景相关
默认:未设置(不传则空)
场合:不推荐
来源:CPF-KMP-CMP社区新增 · 缺文档
待解决问题。文档缺口:此项为 CPF-KMP-CMP社区新增,但尚未挂接社区文档。应补充专章或在既有手册中明确提及本配置后再挂链。
不推荐手写。由编译器或构建管线内部使用,应用工程不要配置此项。
默认值:未设置。未指定时由拆分/链接管线决定。使用场合:不推荐。不推荐:由编译器或构建管线内部使用,应用工程不要手写。
它是做什么的
用途。控制 runtime 以何种优化/发射模式打入产物。
影响。改变产物拆分与链接边界;配错会导致缺符号或链接失败。
适用场景。不推荐在应用工程手写;由编译器或构建管线内部使用。
约束与联动。上游无此 -Xbinary。社区新增:细化 runtime 发射模式(枚举 RuntimeEmissionMode);未指定时:emitRuntime=true → RUNTIME;有 moduleIncludeOnly → NORUNTIME;否则 ALL。
取值说明
| 可写取值 | 含义 | 使用场景 |
|---|---|---|
all | Include all runtime components and additional modules | 需要把 runtime 与附加模块一并打入时 |
runtime | Include only runtime components | 只需 runtime 组件时 |
noruntime | Do not include runtime components | 刻意不打入 runtime 组件时 |
含义/场景依据:RuntimeEmissionMode.kt KDoc(含义已在源码); RuntimeEmissionMode.kt KDoc
定义依据:konan/BinaryOptions.kt 在仓库中打开; konan/RuntimeEmissionMode.kt 在仓库中打开
怎么用
- 配置入口:build.gradle.kts → ohosArm64.binaries.all { freeCompilerArgs += "-Xbinary=emitRuntimeOpt=true" }
- 示例:
// 文件:build.gradle.kts(应用的 Kotlin 模块,例如 composeApp)
kotlin {
ohosArm64 { // 按实际 native target 调整
binaries.all {
freeCompilerArgs += "-Xbinary=emitRuntimeOpt=true"
}
}
}
- 生效:Sync 后执行该目标的 compile/link。
- 验证:编译日志出现 `-Xbinary=emitRuntimeOpt=true`。
- 回滚:从 binaries.all 的 freeCompilerArgs 中删除该项后 Clean 并重编。
- 注意:不建议在应用工程中配置;由编译器或构建管线内部使用。
默认行为 未设置
不写这个配置时,编译器会怎么处理?
此选项默认未设置(空列表 / 空映射 / null)。不设置时由其他逻辑决定行为或直接跳过。
未指定时由拆分/链接管线决定。
相关文档
当前无 CPF 文档链接。补齐社区文档并挂链后,此缺口告警将消失。