SuperAPI AI 工具集

arkweb-security-patch-build

安全与审计

查看项目

更新于 10-16 03:11

技能介绍

用途:该技能面向 ArkWeb 项目的构建流程,支持通过 build_arkweb.sh 执行编译、校验结果、基于 src/out/<product>/build.log 诊断失败,并在不清理编译树的情况下继续增量构建。适用于需要运行 ArkWeb 编译、选择构建目标、确认构建是否成功、从日志定位失败原因,以及 ArkWeb 本地 Issue 分析与上游安全补丁自动合入的批量验证场景。

必要用法:运行环境要求 Linux 构建主机,具备 GNU coreutils 与 /proc。构建命令必须在 wrapper 根目录执行,而非 src/,wrapper 根通常包含 build_arkweb.sh 与 src/arkweb/build/build.sh,可用 find_arkweb_root 辅助定位。默认构建配置:ArkWeb 根为 context.codebase,命令为 ./build_arkweb.sh rk3568_64 -t w -A,输出目录为 context.codebase/src/out/rk3568_64。默认采用增量构建,不清理编译树;首次构建通常约 2 至 3 小时。

批量验证:批量模式将激活的 batch 直接应用到当前 ArkWeb 项目 git 仓库,不使用 git worktree。验证前需确认 active_batch、duplicate_files 及各 issue 的 target_subrepo;重复/重叠的非胜出 issue 标记为 deferred_for_archive,不参与编译、修复或提交。构建成功则所有 active issue 标记 ready_for_next;编译非零退出且与当前补丁相关则进入编译修复,先尝试范围内最小修复,失败方可判定 terminal_failed。

限制与约束:禁止自动执行 git clean、git reset --hard、删除 src/out、gn clean、ninja -t clean 或仅为求干净环境重新同步依赖。禁止修改 src/ohos_sdk/ 下的工具链、SDK 归档与预构建产物,禁止改动当前项目目录之外的文件。修复必须限于当前 issue 的 modified_files[] / final_changed_files。单命令快速验证仅适用于 ninja-compile-link 阶段,且需在 src/out/<product> 目录执行;其他失败阶段需按类别处理。构建中断不等同于无关失败,需重跑一次获取可信退出码,重跑不得清理或重置编译树。工作流步骤最终回复需只输出一个 JSON 代码块,含 verdict、next_state、issues、summary,并避免额外结论标签或建议段落。