Pull Request已成功合入, 合并人@openharmony_ci
(感谢 SKY2001 的贡献)开始进行AI检视!
AI review has been started, please wait...


| check type | result | report |
|---|---|---|
| start ai_review | pass | - |


感谢提交 Pull Requests!如果您提交的PR已经开发完毕,请评论 "start build" 触发门禁,更多交互操作,请访问OpenHarmony社区支持命令清单。如果需要调整订阅PR、Issue的变更状态,请访问订阅链接。
Thanks for submitting the pull request. If your Pull Request has already been developed, you can leave a "start build" comment to trigger the gated system. For more commands, please visit OpenHarmony Command List. If you need to change the subscription of a Pull Request or Issue, please visit the link.


⚠️ 🤖 AI 代码检视报告 ⚠️
总体评估: NEEDS_ATTENTION
问题统计:
- 总问题数: 3
- 严重问题: 0
- 高危问题: 0
摘要:
修复了UpdateApplicationInfoInstalled未查询分身应用信息的问题,核心逻辑正确,但GetNameAndIndexForUid成功后缺少对resolveBundleName的空值校验,且错误日志缺少上下文信息,建议补充防御性检查。
📊 详细报告
查看完整的审查详情,包括具体的问题描述、建议和代码位置:
🔗 查看详细报告
此评论由 OpenHarmony Insight 代码审查系统自动生成


⚠️ AI检视服务网关超时(504),检视可能在服务端已完成。
请访问 openharmonyinsight.cn 查看检视结果。
AI review gateway timed out. The review may have completed on the server.


静态检查:
| # | check type | result | report |
|---|---|---|---|
| 1 | codeCheck | pass | >>> |


| 报告标题 | 报告来源 | 提交时间 | 评分 | ID匹配 | 检查结果 |
|---|---|---|---|---|---|
| - | - | - | - | - | fail |
AI代码检视失败。
AI Code Check failed.
未找到AI代码检视报告。请使用本地代码检视工具(skills/codecheck)对代码进行检视,生成检视报告后将其粘贴到PR评论或PR提交描述中。
No AI code review report found. Please run local code check skills (skills/codecheck), and paste the report into PR comments or PR description.
若已处理完毕,请评论 "check ai-code-check" 重新触发检查。
或联系以下人员评论 "force ai-code-check" 强制通过:
duansizhao: @dsz2025
xialiangwei: @xialiangwei
wangkailong: @wkljy
liqiang: @jayleehw
管控详情:https://gitcode.com/dsz2025/AfwkHelper/blob/main/PR管控/PR管控说明.md


ISSUE关联关系有变化,之前验证结果无效,需要重新触发构建


代码检视报告 — 20237 (UpdateApplicationInfoInstalled 多 AppIndex 支持)(Round 1 / 最新提交)
统一报告由 codecheck 工作台生成,用于门禁管控。
报告元数据
codecheck_report:
schema_version: "1.0"
scope: "20237_UpdateApplicationInfoInstalled"
round: 1
commit_id: "195f6e237b3011c9c3925ca8143a42b71bd21518"
change_id: "20237"
report_id: "20237-R1"
date: "2026-08-19"
gate_decision: "approve"
risk_level: "low"
score: 98
dimensions_required: ["security", "logic"]
dimensions_executed: ["security", "logic"]
findings_total: 1
findings_by_severity: {"P0": 0, "P1": 0, "P2": 0, "P3": 1}
gate_blockers: 0
must_fix: 0
followups: 1
1. 门禁结论
| 项目 | 结论 |
|---|---|
| 决策 | approve |
| 风险等级 | 🟢 low |
| 评分 | 98/100 |
| 阻塞项 | 无 |
| 必须修复(P0/P1) | 0 项 |
| 建议跟进(P2/P3) | 1 项 |
一句话结论:UpdateApplicationInfoInstalled 从 GetApplicationInfo 改为 GetNameAndIndexForUid + GetApplicationInfoWithAppIndex 以支持多 AppIndex,逻辑正确、错误处理完整、安全性提升(不信任入参 bundleName,改用 uid 反查),测试覆盖 4 条新路径;仅 1 项 P3 测试覆盖建议。
2. 扣分原因
gate_decision=approve,本节省略。
3. 必须立即处理(P0/P1)
无。 详情见第 6 节。
4. 建议本轮或下一补档处理(P2/P3)
| ID | 优先级 | 问题 | 建议行动 | 排期 |
|---|---|---|---|---|
| LOG-001 | P3 | 测试未验证"入参 bundleName 被忽略、改用 uid 反查"的语义变更 | 补充用例:入参 bundleName 与 uid 反查结果不一致时验证以 uid 反查为准 | 下一补档 |
5. 分维度速览
| 维度 | 结果 | 关键说明 |
|---|---|---|
| security | ✅ 通过 | 11 项 Core Scan 全部不命中;修改是安全改进(uid 反查替代信任入参 bundleName,防伪造);上游有 VerifyRequestPermission() 权限校验保护 IPC 入口;G 类横扫无命中 |
| logic | ✅ 通过 | 控制流/数据流/边界/错误处理均正确;auto errCode + errCode != ERR_OK 类型匹配(bool 转换 bug 已修复);变量遮蔽已修复(resolveBundleName);4 条新路径测试覆盖良好;仅 1 项 P3 测试覆盖建议 |
6. 关键发现详情
[LOG-001] 测试未验证入参 bundleName 被忽略的语义变更 (P3, scanner=logic)
- 位置:
test/unittest/app_mgr_service_inner_seventh_test/app_mgr_service_inner_seventh_test.cpp:244-327(用例 004-007) - 触发路径:用例 004-007 传入
bundleName="com.test.app",但 mock 的getNameForUid_默认为空字符串 →resolveBundleName="",与入参不一致。GetApplicationInfoWithAppIndexmock 不依赖参数(直接返回getApplicationInfoWithAppIndexRet_),因此测试通过但无法验证"入参被忽略"这一行为变更。 - 影响:语义变更(从"按入参 bundleName 查询"改为"按 uid 反查")未被测试覆盖。若未来
GetApplicationInfoWithAppIndex的真实实现依赖resolveBundleName参数,空字符串可能导致查询失败,而当前测试无法发现。 - 证据:
mock_bundle_mgr_helper.cpp:219-224的GetApplicationInfoWithAppIndex直接返回getApplicationInfoWithAppIndexRet_,不读取appName参数;mock_bundle_mgr_helper.cpp:48-51的GetNameAndIndexForUid设置bundleName = getNameForUid_(默认空),不使用入参bundleName="com.test.app"。 - 建议:补充用例:设置
MyStatus::getNameForUid_ = "com.resolved.app"(与入参bundleName="com.test.app"不同),验证GetApplicationInfoWithAppIndex收到的appName为"com.resolved.app"而非"com.test.app"(可通过在 mock 中记录参数值实现)。


| 报告标题 | 报告来源 | 提交时间 | 评分 | ID匹配 | 检查结果 |
|---|---|---|---|---|---|
| ⭐ 代码检视报告 — 20237 (UpdateApplicationInfoInstalled 多 AppIndex 支持)(Round 1 / 最新提交) | 评论 | 2026-08-19 19:59:47 | 98/100 | ✗ | fail |
AI代码检视失败。
AI Code Check failed.
找到AI检视报告,但commit-id或Change-Id与本PR不匹配。请确保报告对应本PR的最新提交。
AI review report found, but commit-id or Change-Id does not match this PR.
若已处理完毕,请评论 "check ai-code-check" 重新触发检查。
或联系以下人员评论 "force ai-code-check" 强制通过:
duansizhao: @dsz2025
xialiangwei: @xialiangwei
wangkailong: @wkljy
liqiang: @jayleehw
管控详情:https://gitcode.com/dsz2025/AfwkHelper/blob/main/PR管控/PR管控说明.md


门禁编译Tips:
1.触发门禁编译前先评论static-check进行静态检查
2.本地编译验证充分后再触发门禁
3.门禁编译时不要推送代码否则会终止上一次门禁编译。
失败超过3次将可能影响代码合入


首次触发
门禁构建开始,包含静态检查、代码编译和测试【dayu600_7885测试, dayu200_tdd编译, ohos-host_mini_tdd编译, ohos-sdk编译, mac-sdk编译, master_inner_build编译, dayu200编译, dayu600_7885编译, x86_64_virt编译, dayu200测试】,预计在60分钟内完成,门禁结果会同步发送到注册邮箱。您可以通过如下链接跟踪门禁进展:http://dcp.openharmony.cn/workbench/cicd/detail/6a859d9164650f998b95595c/runlist


force ai-code-check


AI代码检视已强制通过,可继续联系审查人进行加分。
AI Code Check has been forcibly passed, and you may contact the reviewers to review.


@SKY2001 评论pass通过, @afwk_helper 已加分, 满足合入条件后请联系Commiter审核加分


代码门禁通过
您可以通过如下链接查看门禁报告:http://dcp.openharmony.cn/workbench/cicd/detail/6a859d9164650f998b95595c/runlist
静态检查:
| # | check type | result | report |
|---|---|---|---|
| 1 | codeCheck | pass | >>> |
编译测试:
| # | Device | build result | test result | package |
|---|---|---|---|---|
| 1 | ohos-sdk | success | NA | >>> |
| 2 | dayu200 | success | success | >>> |
| 3 | dayu200_tdd | success | NA | >>> |
| 4 | master_inner_build | success(IGNORE) | NA | >>> |
| 5 | mac-sdk | success | NA | >>> |
| 6 | ohos-host_mini_tdd | success | NA | >>> |
| 7 | dayu600_7885 | success | success | >>> |
| 8 | x86_64_virt | success | NA | >>> |


您好,Committer @jayleehw @zhangyafei-echo @littlejerry1 @jsjzju @wkljy @yzkp @ccllee1 @yangxuguang-huawei @li-weifeng2024 @wendel ,请分配检视人员检视该PR,可以通过命令"assign [@someone_id]"分配检视人员,也可以直接评论"assign"分配给自己进行检视。
Hello, Committer @jayleehw @zhangyafei-echo @littlejerry1 @jsjzju @wkljy @yzkp @ccllee1 @yangxuguang-huawei @li-weifeng2024 @wendel . Please assign someone to review the PR. You can assign a reviewer by using the command "assign [@someone_id]", or you can comment "assign" to review the PR by yourself.


IssueNo:
https://gitcode.com/openharmony/ability_ability_runtime/issues/16003?ref=&did=4260220#tid-4260220
Description:
稳定性自检:
安全编码自检:
TDD Result:
pass
XTS Result:
pass
是否已执行L0用例
AI检视评分(使用本地代码检视skills扫描):