Commit Graph

901 Commits

Author SHA1 Message Date
openharmony_ci c62dd2ba5d !19690 merge cliClonge-1 into master
pc claw支持拉起分身应用

Created-by: lidongrui
Commit-by: DESKTOP-UGVMD4B\DawnComing
Merged-by: openharmony_ci
Description: 
**IssueNo**:

**Description**:

**稳定性自检:**
| 自检项                                                       | 自检结果  |
| ------------------------------------------------------------ | -------- |
| 涉及跨进程调用的相关操作需要抛至主线程或加锁防止并发              |     √     |
| 成员变量进行赋值或创建需要排查并发                               |    √     |
| 谨慎在lambda表达式中使用引用捕获                                |    √      |
| 谨慎在未经拷贝的情况下使用外部传入的string、C字符串               |    √      |
| map\vector\list\set等stl模板类使用时需要排查并发                |    √      |
| 谨慎考虑加锁范围                                               |    √      |
| 在IPC通信中谨慎使用同步通信方式                                 |    √      |
| 禁止传递this指针至其他模块或线程(特别是eventhandler任务)        |    √      |
| 禁止将外部传入的裸指针在内部直接构造智能指针                      |    √      |
| 禁止多个独立创建的智能指针管理同一地址                           |     √     |
| 禁止在析构函数中抛异步任务                                      |     √     |
| 禁止js对象在非js线程(例如在IPC线程)创建、使用或销毁             |     √     |
| 禁止在对外接口中未经判空直接使用外部传入的指针                    |     √     |
| 禁止接口返回局部变量引用                                        |    √      |
| 禁止在信号函数中加锁                                            |    √      |
| 禁止在关键流程(SA启动、应用启动等主流程)执行耗时的操作           |    √      |
| 禁止将同一个cpp编译在不同的so中                                 |     √     |

**安全编码自检:**
| 自检项                                                          | 自检结果 |
| -------------------------------------------------------------- | -------- |
| 裸指针避免通过隐式转换构造为sptr                                 |     √     |
| json对象在取值之前必须先判断类型,避免类型不匹配                   |    √      |
| 序列化时必须对传入的数组大小进行校验,避免出现超大数组              |     √     |
| 避免使用未明确位宽的整型,选择使用int8_t、uint8_t等类型            |     √     |
| 外部传入的路径要做规范化校验,对路径中的.、..、../等特殊字符严格校验 |     √     |
| 指针变量、表示资源描述符的变量、bool变量必须赋初值                  |    √      |
| readParcelable获取的对象使用前需要判空                            |    √      |
| 分配和释放内存的函数需要成对出现                                   |    √      |
| 申请内存后异常退出前需要及时进行内存释放                            |    √      |
| 内存申请前必须对内存大小进行合法性校验                              |    √      |
| 内存分配后必须判断是否成功                                         |    √      |
| 禁止使用realloc、alloca函数                                       |    √      |
| 禁止打印文件路径、口令等敏感信息,如有需要,使用private修饰          |     √     |
| 禁止打印内存地址                                                  |     √     |
| 整数之间运算时必须严格检查,确保不会出现溢出、反转、除0               |    √      |
| 禁止对有符号整数进行位操作符运算                                    |    √      |
| 禁止对指针进行逻辑或位运算                                         |     √     |
| 循环次数如果收外部数据控制,需要检验其合法性                         |     √     |
| 禁止使用内存操作类危险函数,需要使用安全函数                         |     √     |
| 谨慎使用不可重入函数                                               |     √     |
| 必须检查安全函数的返回值,并进行正确处理                             |     √     |
| 禁止仅通过TokenType类型判断绕过权限校验                             |     √     |

**TDD Result**:

**XTS Result**:

### 是否已执行L0用例
- [ ] 已验证
- [ ] 不涉及。如不涉及,请写明理由


See merge request: openharmony/ability_ability_runtime!19690
2026-06-28 01:07:01 +08:00
DESKTOP-UGVMD4B\DawnComing 455151f902 pc claw支持拉起分身应用
Signed-off-by: lidongrui <lidongrui3@huawei.com>
Co-Authored-By: Agent
2026-06-27 19:48:15 +08:00
openharmony_ci a2fe0ffc8e !19514 merge cz_pc_0602 into master
在开发者模式下,支持PC三方应用安装调试包

Created-by: zhongshield1
Commit-by: zhongshield1
Merged-by: openharmony_ci
Description: **IssueNo**:
https://gitcode.com/openharmony/bundlemanager_bundle_framework/issues/9477
**Description**:

**稳定性自检:**
| 自检项                                                       | 自检结果  |
| ------------------------------------------------------------ | -------- |
| 涉及跨进程调用的相关操作需要抛至主线程或加锁防止并发              |     ok     |
| 成员变量进行赋值或创建需要排查并发                               |     ok     |
| 谨慎在lambda表达式中使用引用捕获                                |     ok     |
| 谨慎在未经拷贝的情况下使用外部传入的string、C字符串               |     ok     |
| map\vector\list\set等stl模板类使用时需要排查并发                |     ok     |
| 谨慎考虑加锁范围                                               |     ok     |
| 在IPC通信中谨慎使用同步通信方式                                 |     ok     |
| 禁止传递this指针至其他模块或线程(特别是eventhandler任务)        |     ok     |
| 禁止将外部传入的裸指针在内部直接构造智能指针                      |     ok     |
| 禁止多个独立创建的智能指针管理同一地址                           |     ok     |
| 禁止在析构函数中抛异步任务                                      |     ok     |
| 禁止js对象在非js线程(例如在IPC线程)创建、使用或销毁             |     ok     |
| 禁止在对外接口中未经判空直接使用外部传入的指针                    |     ok     |
| 禁止接口返回局部变量引用                                        |     ok     |
| 禁止在信号函数中加锁                                            |     ok     |
| 禁止在关键流程(SA启动、应用启动等主流程)执行耗时的操作           |     ok     |
| 禁止将同一个cpp编译在不同的so中                                 |     ok     |

**安全编码自检:**
| 自检项                                                          | 自检结果 |
| -------------------------------------------------------------- | -------- |
| 裸指针避免通过隐式转换构造为sptr                                 |     ok     |
| json对象在取值之前必须先判断类型,避免类型不匹配                   |     ok     |
| 序列化时必须对传入的数组大小进行校验,避免出现超大数组              |     ok     |
| 避免使用未明确位宽的整型,选择使用int8_t、uint8_t等类型            |     ok     |
| 外部传入的路径要做规范化校验,对路径中的.、..、../等特殊字符严格校验 |     ok     |
| 指针变量、表示资源描述符的变量、bool变量必须赋初值                  |     ok     |
| readParcelable获取的对象使用前需要判空                            |     ok     |
| 分配和释放内存的函数需要成对出现                                   |     ok     |
| 申请内存后异常退出前需要及时进行内存释放                            |     ok     |
| 内存申请前必须对内存大小进行合法性校验                              |     ok     |
| 内存分配后必须判断是否成功                                         |     ok     |
| 禁止使用realloc、alloca函数                                       |     ok     |
| 禁止打印文件路径、口令等敏感信息,如有需要,使用private修饰          |     ok     |
| 禁止打印内存地址                                                  |     ok     |
| 整数之间运算时必须严格检查,确保不会出现溢出、反转、除0               |     ok     |
| 禁止对有符号整数进行位操作符运算                                    |     ok     |
| 禁止对指针进行逻辑或位运算                                         |     ok     |
| 循环次数如果收外部数据控制,需要检验其合法性                         |     ok     |
| 禁止使用内存操作类危险函数,需要使用安全函数                         |     ok     |
| 谨慎使用不可重入函数                                               |     ok     |
| 必须检查安全函数的返回值,并进行正确处理                             |     ok     |
| 禁止仅通过TokenType类型判断绕过权限校验                             |     ok     |

**TDD Result**:
![image.png](https://raw.gitcode.com/user-images/assets/4421702/5dff156d-069b-4d81-9590-5145d04416ec/image.png 'image.png')
**XTS Result**:
失败XTS单独执行 pass
![image.png](https://raw.gitcode.com/user-images/assets/4421702/b038149d-b31d-4822-aad9-caa8d1814a94/image.png 'image.png')
### 是否已执行L0用例
- [ ] 已验证
- [ ] 不涉及。如不涉及,请写明理由


See merge request: openharmony/ability_ability_runtime!19514
2026-06-26 15:49:27 +08:00
openharmony_ci d28c6739b9 !19658 merge feat/jsheap-languageenv-v2 into master
feat: support languageEnv for jsheap snapshot dump with UT coverage

Created-by: denganliang
Commit-by: denganliang
Merged-by: openharmony_ci
Description: ## 修改说明

- 为 JsHeap snapshot dump 添加 languageEnv 参数(dynamic/static/hybrid),使 ETS runtime 也能 dump 堆快照
- 移除 snapshot dump 路径的 JS-only 限制
- 添加完整的 UT 覆盖,确保所有分支都被测试到

## 关联Issue

Fixes #15499

## 验证

- native_daemon_ut:待验证

See merge request: openharmony/ability_ability_runtime!19658
2026-06-24 14:46:22 +08:00
openharmony_ci d76ec9772b !19593 merge feat/nativemodule-load-errinfo into master
feat: 补全NativeModule加载失败的errInfo传递

Created-by: zhang_hao_zheng
Commit-by: zhang_hao_zheng
Merged-by: openharmony_ci
Description: **IssueNo**:
https://gitcode.com/openharmony/ability_ability_runtime/issues/15447
**Description**:

**稳定性自检:**
| 自检项                                                       | 自检结果  |
| ------------------------------------------------------------ | -------- |
| 涉及跨进程调用的相关操作需要抛至主线程或加锁防止并发              |    √     |
| 成员变量进行赋值或创建需要排查并发                               |      √   |
| 谨慎在lambda表达式中使用引用捕获                                |        √ |
| 谨慎在未经拷贝的情况下使用外部传入的string、C字符串               |       √  |
| map\vector\list\set等stl模板类使用时需要排查并发                |        √ |
| 谨慎考虑加锁范围                                               |       √  |
| 在IPC通信中谨慎使用同步通信方式                                 |       √  |
| 禁止传递this指针至其他模块或线程(特别是eventhandler任务)        |       √  |
| 禁止将外部传入的裸指针在内部直接构造智能指针                      |        √ |
| 禁止多个独立创建的智能指针管理同一地址                           |        √ |
| 禁止在析构函数中抛异步任务                                      |       √  |
| 禁止js对象在非js线程(例如在IPC线程)创建、使用或销毁             |        √ |
| 禁止在对外接口中未经判空直接使用外部传入的指针                    |       √  |
| 禁止接口返回局部变量引用                                        |       √  |
| 禁止在信号函数中加锁                                            |       √  |
| 禁止在关键流程(SA启动、应用启动等主流程)执行耗时的操作           |        √ |
| 禁止将同一个cpp编译在不同的so中                                 |       √  |

**安全编码自检:**
| 自检项                                                          | 自检结果 |
| -------------------------------------------------------------- | -------- |
| 裸指针避免通过隐式转换构造为sptr                                 |        √ |
| json对象在取值之前必须先判断类型,避免类型不匹配                   |       √  |
| 序列化时必须对传入的数组大小进行校验,避免出现超大数组              |   √      |
| 避免使用未明确位宽的整型,选择使用int8_t、uint8_t等类型            |      √   |
| 外部传入的路径要做规范化校验,对路径中的.、..、../等特殊字符严格校验 |       √  |
| 指针变量、表示资源描述符的变量、bool变量必须赋初值                  |       √  |
| readParcelable获取的对象使用前需要判空                            |        √ |
| 分配和释放内存的函数需要成对出现                                   |       √  |
| 申请内存后异常退出前需要及时进行内存释放                            | √        |
| 内存申请前必须对内存大小进行合法性校验                              |      √   |
| 内存分配后必须判断是否成功                                         |        √ |
| 禁止使用realloc、alloca函数                                       |        √ |
| 禁止打印文件路径、口令等敏感信息,如有需要,使用private修饰          |       √  |
| 禁止打印内存地址                                                  |        √ |
| 整数之间运算时必须严格检查,确保不会出现溢出、反转、除0               |        √ |
| 禁止对有符号整数进行位操作符运算                                    |       √  |
| 禁止对指针进行逻辑或位运算                                         |       √  |
| 循环次数如果收外部数据控制,需要检验其合法性                         |       √  |
| 禁止使用内存操作类危险函数,需要使用安全函数                         |       √  |
| 谨慎使用不可重入函数                                               |        √ |
| 必须检查安全函数的返回值,并进行正确处理                             |        √ |
| 禁止仅通过TokenType类型判断绕过权限校验                             |        √ |

**TDD Result**:
pass
**XTS Result**:
pass
### 是否已执行L0用例
- [√] 已验证
- [ ] 不涉及。如不涉及,请写明理由


See merge request: openharmony/ability_ability_runtime!19593
2026-06-23 20:32:10 +08:00
zhang_hao_zheng 683ca4c25a fix: sync mock LoadNativeModule signature with loadErrInfo
同步 frameworks_kits_appkit_native_test 的 LoadNativeModule mock
签名到 arkui_napi issue-15447 新增的 loadErrInfo 参数(含 relativePath
重命名),避免 tdd 编译时"LoadNativeModule does not match any
declaration in NativeModuleManager" 报错。

Signed-off-by: zhang_hao_zheng <zhanghaozheng2@h-partners.com>
Co-Authored-By: Agent
Change-Id: I75ae1878b1aa4f08a188f9fc3f767189401e5148
2026-06-23 14:58:18 +08:00
denganliang 382f8fe2e7 feat: support languageEnv for jsheap snapshot dump with UT coverage
Add languageEnv parameter (dynamic/static/hybrid) for JsHeap snapshot dump,
enabling ETS runtime to also dump heap snapshots. Remove JS-only restriction
on snapshot dump path. Add UT coverage for all branches.

Co-Authored-By: Agent
Signed-off-by: denganliang <denganliang3@h-partners.com>
Change-Id: I9784465f1def0d74165d3d1804a36a9b489fe0e0
2026-06-22 19:50:31 +08:00
zhongshield1 06a9d0f449 在开发者模式下,支持PC三方应用安装调试包
Co-Authored-By: manual
Signed-off-by: zhongshield1 <zhangzezhong8@huawei-partners.com>
2026-06-16 17:23:22 +08:00
openharmony_ci a8c65b9cfe !19419 merge fix_ChildProcess into master
fix ChildProcess

Created-by: zhongshield1
Commit-by: zhongshield1
Merged-by: openharmony_ci
Description: **IssueNo**:
https://gitcode.com/openharmony/ability_ability_runtime/issues/15325
**Description**:

**稳定性自检:**
| 自检项                                                       | 自检结果  |
| ------------------------------------------------------------ | -------- |
| 涉及跨进程调用的相关操作需要抛至主线程或加锁防止并发              |√|
| 成员变量进行赋值或创建需要排查并发                               |√|
| 谨慎在lambda表达式中使用引用捕获                                |√|
| 谨慎在未经拷贝的情况下使用外部传入的string、C字符串               |√|
| map\vector\list\set等stl模板类使用时需要排查并发                |√|
| 谨慎考虑加锁范围                                               |√|
| 在IPC通信中谨慎使用同步通信方式                                 |√|
| 禁止传递this指针至其他模块或线程(特别是eventhandler任务)        |√|
| 禁止将外部传入的裸指针在内部直接构造智能指针                      |√|
| 禁止多个独立创建的智能指针管理同一地址                           |√|
| 禁止在析构函数中抛异步任务                                      |√|
| 禁止js对象在非js线程(例如在IPC线程)创建、使用或销毁             |√|
| 禁止在对外接口中未经判空直接使用外部传入的指针                    |√|
| 禁止接口返回局部变量引用                                        |√|
| 禁止在信号函数中加锁                                            |√|
| 禁止在关键流程(SA启动、应用启动等主流程)执行耗时的操作           |√|
| 禁止将同一个cpp编译在不同的so中                                 |√|

**安全编码自检:**
| 自检项                                                          | 自检结果 |
| -------------------------------------------------------------- | -------- |
| 裸指针避免通过隐式转换构造为sptr                                 |√|
| json对象在取值之前必须先判断类型,避免类型不匹配                   |√|
| 序列化时必须对传入的数组大小进行校验,避免出现超大数组              |√|
| 避免使用未明确位宽的整型,选择使用int8_t、uint8_t等类型            |√|
| 外部传入的路径要做规范化校验,对路径中的.、..、../等特殊字符严格校验 |√|
| 指针变量、表示资源描述符的变量、bool变量必须赋初值                  |√|
| readParcelable获取的对象使用前需要判空                            |√|
| 分配和释放内存的函数需要成对出现                                   |√|
| 申请内存后异常退出前需要及时进行内存释放                            |√|
| 内存申请前必须对内存大小进行合法性校验                              |√|
| 内存分配后必须判断是否成功                                         |√|
| 禁止使用realloc、alloca函数                                       |√|
| 禁止打印文件路径、口令等敏感信息,如有需要,使用private修饰          |√|
| 禁止打印内存地址                                                  |√|
| 整数之间运算时必须严格检查,确保不会出现溢出、反转、除0               |√|
| 禁止对有符号整数进行位操作符运算                                    |√|
| 禁止对指针进行逻辑或位运算                                         |√|
| 循环次数如果收外部数据控制,需要检验其合法性                         |√|
| 禁止使用内存操作类危险函数,需要使用安全函数                         |√|
| 谨慎使用不可重入函数                                               |√|
| 必须检查安全函数的返回值,并进行正确处理                             |√|
| 禁止仅通过TokenType类型判断绕过权限校验                             |√|

**TDD Result**:
![image.png](https://raw.gitcode.com/user-images/assets/4421702/6b0cde23-dd75-4bd4-ab88-6247d6d9179f/image.png 'image.png')
**XTS Result**:
不涉及
### 是否已执行L0用例
- [√] 已验证
- [ ] 不涉及。如不涉及,请写明理由


See merge request: openharmony/ability_ability_runtime!19419
2026-06-01 16:26:29 +08:00
zhongshield1 40fc2c16fa fix_ChildProcess
Co-Authored-By: manual
Signed-off-by: zhongshield1 <zhangzezhong8@huawei-partners.com>
2026-05-28 15:47:07 +08:00
openharmony_ci 65674d304a !19395 merge add_mem_dump_test_coverage into master
test: 补充PR#19128新增接口的17个单元测试用例

Created-by: wang_jun_long
Commit-by: wang_jun_long
Merged-by: openharmony_ci
Description: ## 描述
为PR#19128(fix Sync Risk)中新增的接口补充单元测试用例。

## 新增测试用例(共17个)

| 文件 | 新增用例 | 覆盖代码 |
|------|---------|---------|
| app_mgr_stub_test.cpp | HandleDumpMem_001/002, HandleReportDumpMemResult_001/002, MemDumpCallbackStub_OnRemoteRequest_001/002/003, MemDumpCallbackProxy_OnMemDumpDone_001 | HandleDumpMem, HandleReportDumpMemResult, MemDumpCallbackStub, MemDumpCallbackProxy |
| app_scheduler_host_test.cpp | HandleScheduleMem_001/002 | HandleScheduleMem |
| app_scheduler_proxy_test.cpp | ScheduleMem_001/002 | ScheduleMem |
| app_mgr_proxy_test.cpp | AppMgrProxy_DumpMem_001, AppMgrProxy_ReportDumpMemResult_001 | DumpMem, ReportDumpMemResult |
| app_mgr_service_inner_mock_test.cpp | DumpMem_001, ReportDumpMemResult_001 | DumpMem, ReportDumpMemResult |
| app_lifecycle_deal_test.cpp | ScheduleMem_001/002 | ScheduleMem |

## 收益
- 提升PR#19128新增代码的测试覆盖率
- 覆盖IMemDumpCallback接口、ScheduleMem/DumpMem/ReportDumpMemResult等新增/修改接口的正常路径和异常路径

关联 Issue: #15304

See merge request: openharmony/ability_ability_runtime!19395
2026-05-25 12:23:49 +08:00
wang_jun_long 358947f6b7 test: add unit tests for MemDumpCallback and ScheduleMem interfaces
Add 17 unit tests covering new interfaces from PR#19128:
- MemDumpCallbackStub/Proxy (4 tests)
- HandleDumpMem/HandleReportDumpMemResult (4 tests)
- HandleScheduleMem (2 tests)
- ScheduleMem proxy/host (4 tests)
- AppMgrProxy DumpMem/ReportDumpMemResult (2 tests)
- AppMgrServiceInner DumpMem/ReportDumpMemResult (2 tests)
- AppLifeCycleDeal ScheduleMem (2 tests)

Co-Authored-By: Agent
Signed-off-by: 王俊龙 <wangjunlong8@h-partners.com>
Signed-off-by: wang_jun_long <wangjunlong8@h-partners.com>
2026-05-22 16:45:58 +08:00
openharmony_ci ed56bf5723 !19407 merge revert into master
修复tdd编译错误

Created-by: zhangzhichao0091
Commit-by: zhangzhichao0091
Merged-by: openharmony_ci
Description: **IssueNo**:https://gitcode.com/openharmony/ability_ability_runtime/issues/15317

**Description**:

**稳定性自检:**
| 自检项                                                       | 自检结果  |
| ------------------------------------------------------------ | -------- |
| 涉及跨进程调用的相关操作需要抛至主线程或加锁防止并发              |     pass     |
| 成员变量进行赋值或创建需要排查并发                               |     pass     |
| 谨慎在lambda表达式中使用引用捕获                                |     pass     |
| 谨慎在未经拷贝的情况下使用外部传入的string、C字符串               |    pass      |
| map\vector\list\set等stl模板类使用时需要排查并发                |    pass      |
| 谨慎考虑加锁范围                                               |     pass     |
| 在IPC通信中谨慎使用同步通信方式                                 |     pass     |
| 禁止传递this指针至其他模块或线程(特别是eventhandler任务)        |     pass     |
| 禁止将外部传入的裸指针在内部直接构造智能指针                      |    pass      |
| 禁止多个独立创建的智能指针管理同一地址                           |     pass     |
| 禁止在析构函数中抛异步任务                                      |    pass      |
| 禁止js对象在非js线程(例如在IPC线程)创建、使用或销毁             |     pass     |
| 禁止在对外接口中未经判空直接使用外部传入的指针                    |    pass      |
| 禁止接口返回局部变量引用                                        |    pass      |
| 禁止在信号函数中加锁                                            |     pass     |
| 禁止在关键流程(SA启动、应用启动等主流程)执行耗时的操作           |     pass     |
| 禁止将同一个cpp编译在不同的so中                                 |      pass    |

**安全编码自检:**
| 自检项                                                          | 自检结果 |
| -------------------------------------------------------------- | -------- |
| 裸指针避免通过隐式转换构造为sptr                                 |     pass     |
| json对象在取值之前必须先判断类型,避免类型不匹配                   |    pass      |
| 序列化时必须对传入的数组大小进行校验,避免出现超大数组              |     pass     |
| 避免使用未明确位宽的整型,选择使用int8_t、uint8_t等类型            |      pass    |
| 外部传入的路径要做规范化校验,对路径中的.、..、../等特殊字符严格校验 |    pass      |
| 指针变量、表示资源描述符的变量、bool变量必须赋初值                  |     pass     |
| readParcelable获取的对象使用前需要判空                            |    pass      |
| 分配和释放内存的函数需要成对出现                                   |    pass      |
| 申请内存后异常退出前需要及时进行内存释放                            |     pass     |
| 内存申请前必须对内存大小进行合法性校验                              |      pass    |
| 内存分配后必须判断是否成功                                         |    pass      |
| 禁止使用realloc、alloca函数                                       |     pass     |
| 禁止打印文件路径、口令等敏感信息,如有需要,使用private修饰          |     pass     |
| 禁止打印内存地址                                                  |     pass     |
| 整数之间运算时必须严格检查,确保不会出现溢出、反转、除0               |    pass      |
| 禁止对有符号整数进行位操作符运算                                    |    pass      |
| 禁止对指针进行逻辑或位运算                                         |    pass      |
| 循环次数如果收外部数据控制,需要检验其合法性                         |    pass      |
| 禁止使用内存操作类危险函数,需要使用安全函数                         |    pass      |
| 谨慎使用不可重入函数                                               |    pass      |
| 必须检查安全函数的返回值,并进行正确处理                             |    pass      |
| 禁止仅通过TokenType类型判断绕过权限校验                             |     pass     |

**TDD Result**:

**XTS Result**:

### 是否已执行L0用例
- [ ] 已验证
- [x] 不涉及。如不涉及,请写明理由


See merge request: openharmony/ability_ability_runtime!19407
2026-05-21 21:52:20 +08:00
zhangzhichao0091 a4dd313880 修复tdd编译错误
Signed-off-by: zhangzhichao0091 <zhangzhichao38@huawei.com>
Co-Authored-By: Agent
Change-Id: Iaf34e83849a2d72504f1bcaf9250edf3e0f7b474
2026-05-21 20:22:41 +08:00
openharmony_ci acb3fc668d !19396 merge revert into master
revert customized buffer consumer

Created-by: zhangzhichao0091
Commit-by: zhangzhichao0091
Merged-by: openharmony_ci
Description: **IssueNo**:https://gitcode.com/openharmony/ability_ability_runtime/issues/15305

**Description**:

**稳定性自检:**
| 自检项                                                       | 自检结果  |
| ------------------------------------------------------------ | -------- |
| 涉及跨进程调用的相关操作需要抛至主线程或加锁防止并发              |pass |
| 成员变量进行赋值或创建需要排查并发                               |    pass       |
| 谨慎在lambda表达式中使用引用捕获                                |    pass       |
| 谨慎在未经拷贝的情况下使用外部传入的string、C字符串               |    pass       |
| map\vector\list\set等stl模板类使用时需要排查并发                |     pass      |
| 谨慎考虑加锁范围                                               |    pass       |
| 在IPC通信中谨慎使用同步通信方式                                 |    pass       |
| 禁止传递this指针至其他模块或线程(特别是eventhandler任务)        |    pass       |
| 禁止将外部传入的裸指针在内部直接构造智能指针                      |    pass       |
| 禁止多个独立创建的智能指针管理同一地址                           |     pass      |
| 禁止在析构函数中抛异步任务                                      |     pass      |
| 禁止js对象在非js线程(例如在IPC线程)创建、使用或销毁             |     pass      |
| 禁止在对外接口中未经判空直接使用外部传入的指针                    |     pass      |
| 禁止接口返回局部变量引用                                        |    pass       |
| 禁止在信号函数中加锁                                            |     pass      |
| 禁止在关键流程(SA启动、应用启动等主流程)执行耗时的操作           |     pass      |
| 禁止将同一个cpp编译在不同的so中                                 |    pass       |

**安全编码自检:**
| 自检项                                                          | 自检结果 |
| -------------------------------------------------------------- | -------- |
| 裸指针避免通过隐式转换构造为sptr                                 |     pass      |
| json对象在取值之前必须先判断类型,避免类型不匹配                   |     pass      |
| 序列化时必须对传入的数组大小进行校验,避免出现超大数组              |    pass       |
| 避免使用未明确位宽的整型,选择使用int8_t、uint8_t等类型            |    pass       |
| 外部传入的路径要做规范化校验,对路径中的.、..、../等特殊字符严格校验 |   pass        |
| 指针变量、表示资源描述符的变量、bool变量必须赋初值                  |     pass     |
| readParcelable获取的对象使用前需要判空                            |      pass     |
| 分配和释放内存的函数需要成对出现                                   |      pass     |
| 申请内存后异常退出前需要及时进行内存释放                            |     pass      |
| 内存申请前必须对内存大小进行合法性校验                              |     pass      |
| 内存分配后必须判断是否成功                                         |      pass     |
| 禁止使用realloc、alloca函数                                       |    pass       |
| 禁止打印文件路径、口令等敏感信息,如有需要,使用private修饰          |  pass         |
| 禁止打印内存地址                                                  |    pass       |
| 整数之间运算时必须严格检查,确保不会出现溢出、反转、除0               |   pass       |
| 禁止对有符号整数进行位操作符运算                                    |    pass       |
| 禁止对指针进行逻辑或位运算                                         |     pass      |
| 循环次数如果收外部数据控制,需要检验其合法性                         |     pass      |
| 禁止使用内存操作类危险函数,需要使用安全函数                         |     pass      |
| 谨慎使用不可重入函数                                               |    pass       |
| 必须检查安全函数的返回值,并进行正确处理                             |    pass       |
| 禁止仅通过TokenType类型判断绕过权限校验                             |     pass      |

**TDD Result**:

**XTS Result**:

### 是否已执行L0用例
- [ ] 已验证
- [x] 不涉及。如不涉及,请写明理由


See merge request: openharmony/ability_ability_runtime!19396
2026-05-21 17:28:47 +08:00
zhangzhichao0091 34fefc40b4 revert customized buffer consumer
Signed-off-by: zhangzhichao0091 <zhangzhichao38@huawei.com>
Change-Id: I394004f2100d29b043c01477e472796e4ba8cd91
2026-05-21 14:49:16 +08:00
openharmony_ci f11abd73dc !19128 merge fixSyncRisk0427 into master
fix Sync Risk

Created-by: wang_jun_long
Commit-by: wang_jun_long
Merged-by: openharmony_ci
Description: **IssueNo**:
https://gitcode.com/openharmony/ability_ability_runtime/issues/15009

**Description**:

**稳定性自检:**
| 自检项                                                       | 自检结果  |
| ------------------------------------------------------------ | -------- |
| 涉及跨进程调用的相关操作需要抛至主线程或加锁防止并发              |          |
| 成员变量进行赋值或创建需要排查并发                               |          |
| 谨慎在lambda表达式中使用引用捕获                                |          |
| 谨慎在未经拷贝的情况下使用外部传入的string、C字符串               |          |
| map\vector\list\set等stl模板类使用时需要排查并发                |          |
| 谨慎考虑加锁范围                                               |          |
| 在IPC通信中谨慎使用同步通信方式                                 |          |
| 禁止传递this指针至其他模块或线程(特别是eventhandler任务)        |          |
| 禁止将外部传入的裸指针在内部直接构造智能指针                      |          |
| 禁止多个独立创建的智能指针管理同一地址                           |          |
| 禁止在析构函数中抛异步任务                                      |          |
| 禁止js对象在非js线程(例如在IPC线程)创建、使用或销毁             |          |
| 禁止在对外接口中未经判空直接使用外部传入的指针                    |          |
| 禁止接口返回局部变量引用                                        |          |
| 禁止在信号函数中加锁                                            |          |
| 禁止在关键流程(SA启动、应用启动等主流程)执行耗时的操作           |          |
| 禁止将同一个cpp编译在不同的so中                                 |          |

**安全编码自检:**
| 自检项                                                          | 自检结果 |
| -------------------------------------------------------------- | -------- |
| 裸指针避免通过隐式转换构造为sptr                                 |          |
| json对象在取值之前必须先判断类型,避免类型不匹配                   |          |
| 序列化时必须对传入的数组大小进行校验,避免出现超大数组              |          |
| 避免使用未明确位宽的整型,选择使用int8_t、uint8_t等类型            |          |
| 外部传入的路径要做规范化校验,对路径中的.、..、../等特殊字符严格校验 |          |
| 指针变量、表示资源描述符的变量、bool变量必须赋初值                  |          |
| readParcelable获取的对象使用前需要判空                            |          |
| 分配和释放内存的函数需要成对出现                                   |          |
| 申请内存后异常退出前需要及时进行内存释放                            |          |
| 内存申请前必须对内存大小进行合法性校验                              |          |
| 内存分配后必须判断是否成功                                         |          |
| 禁止使用realloc、alloca函数                                       |          |
| 禁止打印文件路径、口令等敏感信息,如有需要,使用private修饰          |          |
| 禁止打印内存地址                                                  |          |
| 整数之间运算时必须严格检查,确保不会出现溢出、反转、除0               |          |
| 禁止对有符号整数进行位操作符运算                                    |          |
| 禁止对指针进行逻辑或位运算                                         |          |
| 循环次数如果收外部数据控制,需要检验其合法性                         |          |
| 禁止使用内存操作类危险函数,需要使用安全函数                         |          |
| 谨慎使用不可重入函数                                               |          |
| 必须检查安全函数的返回值,并进行正确处理                             |          |
| 禁止仅通过TokenType类型判断绕过权限校验                             |          |

**TDD Result**:

**XTS Result**:

### 是否已执行L0用例
- [ ] 已验证
- [ ] 不涉及。如不涉及,请写明理由


See merge request: openharmony/ability_ability_runtime!19128
2026-05-19 22:00:31 +08:00
hanchen45 0dda5ff7e6 add requestids
Co-Authored-By: Agent

Signed-off-by: hanchen45 <wanghanchen1@huawei.com>
2026-05-18 10:40:37 +08:00
wang_jun_long ff63793800 Merge branch 'fixSyncRisk0427' of git@gitcode.com:wang_jun_long/ability_ability_runtime.git into 'master'
# Conflicts:
#   conflict interfaces/inner_api/app_manager/include/appmgr/app_mgr_ipc_interface_code.h
Co-Authored-By: Agent
Signed-off-by: 王俊龙 <wangjunlong8@h-partners.com>
2026-05-15 14:33:51 +08:00
openharmony_ci 93ea9632f0 !19318 merge addtdd into master
Add tdd

Created-by: zivzhen
Commit-by: wangzhen
Merged-by: openharmony_ci
Description: **IssueNo**:

**Description**:

**稳定性自检:**
| 自检项                                                       | 自检结果  |
| ------------------------------------------------------------ | -------- |
| 涉及跨进程调用的相关操作需要抛至主线程或加锁防止并发              |   ok     |
| 成员变量进行赋值或创建需要排查并发                               |      ok  |
| 谨慎在lambda表达式中使用引用捕获                                |      ok  |
| 谨慎在未经拷贝的情况下使用外部传入的string、C字符串               |  ok      |
| map\vector\list\set等stl模板类使用时需要排查并发                |      ok  |
| 谨慎考虑加锁范围                                               |       ok |
| 在IPC通信中谨慎使用同步通信方式                                 |   ok     |
| 禁止传递this指针至其他模块或线程(特别是eventhandler任务)        |    ok    |
| 禁止将外部传入的裸指针在内部直接构造智能指针                      |     ok   |
| 禁止多个独立创建的智能指针管理同一地址                           |     ok   |
| 禁止在析构函数中抛异步任务                                      |    ok    |
| 禁止js对象在非js线程(例如在IPC线程)创建、使用或销毁             |    ok    |
| 禁止在对外接口中未经判空直接使用外部传入的指针                    |     ok   |
| 禁止接口返回局部变量引用                                        |     ok   |
| 禁止在信号函数中加锁                                            |    ok   |
| 禁止在关键流程(SA启动、应用启动等主流程)执行耗时的操作           |    ok    |
| 禁止将同一个cpp编译在不同的so中                                 |    ok    |

**安全编码自检:**
| 自检项                                                          | 自检结果 |
| -------------------------------------------------------------- | -------- |
| 裸指针避免通过隐式转换构造为sptr                                 |      ok |
| json对象在取值之前必须先判断类型,避免类型不匹配                   |    ok    |
| 序列化时必须对传入的数组大小进行校验,避免出现超大数组              |    ok    |
| 避免使用未明确位宽的整型,选择使用int8_t、uint8_t等类型            |     ok   |
| 外部传入的路径要做规范化校验,对路径中的.、..、../等特殊字符严格校验 |    ok    |
| 指针变量、表示资源描述符的变量、bool变量必须赋初值                  |     ok   |
| readParcelable获取的对象使用前需要判空                            |      ok  |
| 分配和释放内存的函数需要成对出现                                   |    ok    |
| 申请内存后异常退出前需要及时进行内存释放                            |    ok    |
| 内存申请前必须对内存大小进行合法性校验                              |    ok    |
| 内存分配后必须判断是否成功                                         |     ok   |
| 禁止使用realloc、alloca函数                                       |     ok   |
| 禁止打印文件路径、口令等敏感信息,如有需要,使用private修饰          |    ok    |
| 禁止打印内存地址                                                  |     ok   |
| 整数之间运算时必须严格检查,确保不会出现溢出、反转、除0               |    ok    |
| 禁止对有符号整数进行位操作符运算                                    |    ok    |
| 禁止对指针进行逻辑或位运算                                         |     ok   |
| 循环次数如果收外部数据控制,需要检验其合法性                         |    ok    |
| 禁止使用内存操作类危险函数,需要使用安全函数                         |     ok   |
| 谨慎使用不可重入函数                                               |      ok  |
| 必须检查安全函数的返回值,并进行正确处理                             |   ok     |
| 禁止仅通过TokenType类型判断绕过权限校验                             |      ok  |

**TDD Result**:
pass
**XTS Result**:
pass

### 是否已执行L0用例
- [ ] 已验证
- [ ] 不涉及。如不涉及,请写明理由


See merge request: openharmony/ability_ability_runtime!19318
2026-05-15 14:03:46 +08:00
wangzhen 8e93311989 Add tdd
Co-Authored-By: Agent

Signed-off-by: wangzhen <wangzhen416@huawei.com>
Change-Id: Ieda17ef48bf850ae28d9e05884dea6bdbb4d9c24
2026-05-14 22:26:18 +08:00
renjh5496 d2675f6cfb Merge branch 'iccccc' of git@gitcode.com:renjh5496/ability_ability_runtime.git into 'master'
# Conflicts:
#   conflict interfaces/inner_api/app_manager/include/appmgr/app_launch_data.h
2026-05-14 09:28:14 +08:00
wang_jun_long 1fbfd121be Merge branch 'fixSyncRisk0427' of git@gitcode.com:wang_jun_long/ability_ability_runtime.git into 'master'
Co-Authored-By: Agent
Signed-off-by: 王俊龙 <wangjunlong8@h-partners.com>
2026-05-13 15:48:58 +08:00
renjh5496 9587c24efe Merge branch 'iccccc' of git@gitcode.com:renjh5496/ability_ability_runtime.git into 'master' 2026-05-12 20:53:22 +08:00
wang_jun_long 77ef78a8fd fix Sync Risk
Co-Authored-By: Agent
Signed-off-by: 王俊龙 <wangjunlong8@h-partners.com>
2026-05-12 16:06:17 +08:00
xhz-sz e10f00a34e Support privacy modal
Signed-off-by: xhz-sz <xiehuandong@huawei.com>
Co-Authored-By: Agent
2026-05-11 09:00:55 +08:00
zhangzezhong e834d16eb5 add delayed exit procesds
Co-Authored-By:qy
Signed-off-by: zhangzezhong <zhangzezhong8@huawei-partners.com>
2026-05-07 17:32:47 +08:00
renjh5496 9e42a92b4a support dms intent
Co-Authored-By: ya
Signed-off-by: renjh5496 <renjianhao@h-partners.com>
2026-05-02 17:35:32 +08:00
openharmony_ci 674b2bb320 !18980 merge 0317_merge into master
Multi-process Phase 3

Created-by: henry_233
Commit-by: Henry;hsc1437;jianghongxi;lishijie77;glb0
Merged-by: openharmony_ci
Description: **IssueNo**:
https://gitcode.com/openharmony/graphic_graphic_2d/issues/23334
**Description**:

**稳定性自检:**
| 自检项                                                       | 自检结果  |
| ------------------------------------------------------------ | -------- |
| 涉及跨进程调用的相关操作需要抛至主线程或加锁防止并发              |          |
| 成员变量进行赋值或创建需要排查并发                               |          |
| 谨慎在lambda表达式中使用引用捕获                                |          |
| 谨慎在未经拷贝的情况下使用外部传入的string、C字符串               |          |
| map\vector\list\set等stl模板类使用时需要排查并发                |          |
| 谨慎考虑加锁范围                                               |          |
| 在IPC通信中谨慎使用同步通信方式                                 |          |
| 禁止传递this指针至其他模块或线程(特别是eventhandler任务)        |          |
| 禁止将外部传入的裸指针在内部直接构造智能指针                      |          |
| 禁止多个独立创建的智能指针管理同一地址                           |          |
| 禁止在析构函数中抛异步任务                                      |          |
| 禁止js对象在非js线程(例如在IPC线程)创建、使用或销毁             |          |
| 禁止在对外接口中未经判空直接使用外部传入的指针                    |          |
| 禁止接口返回局部变量引用                                        |          |
| 禁止在信号函数中加锁                                            |          |
| 禁止在关键流程(SA启动、应用启动等主流程)执行耗时的操作           |          |
| 禁止将同一个cpp编译在不同的so中                                 |          |

**安全编码自检:**
| 自检项                                                          | 自检结果 |
| -------------------------------------------------------------- | -------- |
| 裸指针避免通过隐式转换构造为sptr                                 |          |
| json对象在取值之前必须先判断类型,避免类型不匹配                   |          |
| 序列化时必须对传入的数组大小进行校验,避免出现超大数组              |          |
| 避免使用未明确位宽的整型,选择使用int8_t、uint8_t等类型            |          |
| 外部传入的路径要做规范化校验,对路径中的.、..、../等特殊字符严格校验 |          |
| 指针变量、表示资源描述符的变量、bool变量必须赋初值                  |          |
| readParcelable获取的对象使用前需要判空                            |          |
| 分配和释放内存的函数需要成对出现                                   |          |
| 申请内存后异常退出前需要及时进行内存释放                            |          |
| 内存申请前必须对内存大小进行合法性校验                              |          |
| 内存分配后必须判断是否成功                                         |          |
| 禁止使用realloc、alloca函数                                       |          |
| 禁止打印文件路径、口令等敏感信息,如有需要,使用private修饰          |          |
| 禁止打印内存地址                                                  |          |
| 整数之间运算时必须严格检查,确保不会出现溢出、反转、除0               |          |
| 禁止对有符号整数进行位操作符运算                                    |          |
| 禁止对指针进行逻辑或位运算                                         |          |
| 循环次数如果收外部数据控制,需要检验其合法性                         |          |
| 禁止使用内存操作类危险函数,需要使用安全函数                         |          |
| 谨慎使用不可重入函数                                               |          |
| 必须检查安全函数的返回值,并进行正确处理                             |          |
| 禁止仅通过TokenType类型判断绕过权限校验                             |          |

**TDD Result**:

**XTS Result**:

### 是否已执行L0用例
- [ ] 已验证
- [ ] 不涉及。如不涉及,请写明理由


See merge request: openharmony/ability_ability_runtime!18980
2026-04-24 14:25:00 +08:00
Henry d1a3fa441a update: 0423 fix
Signed-off-by: Henry <wanghengrui2@huawei.com>
Change-Id: Iaa786a2dd53af1713e8a88ccf48296bb42090356
2026-04-23 22:26:51 +08:00
朱菲墨 9e5974f174 AMS退出原因整改性能优化
Signed-off-by: 朱菲墨 <zhufeimo1@huawei.com>
Co-Authored-By: Agent
2026-04-22 09:43:49 +08:00
openharmony_ci 48a82830c3 !18967 merge adj into master
adj优先级调整_标识前台应用因息屏导致退后台场景

Created-by: lidongrui
Commit-by: DESKTOP-UGVMD4B\DawnComing
Merged-by: openharmony_ci
Description: 
**IssueNo**:

**Description**:

**稳定性自检:**
| 自检项                                                       | 自检结果  |
| ------------------------------------------------------------ | -------- |
| 涉及跨进程调用的相关操作需要抛至主线程或加锁防止并发              |     √     |
| 成员变量进行赋值或创建需要排查并发                               |    √     |
| 谨慎在lambda表达式中使用引用捕获                                |    √      |
| 谨慎在未经拷贝的情况下使用外部传入的string、C字符串               |    √      |
| map\vector\list\set等stl模板类使用时需要排查并发                |    √      |
| 谨慎考虑加锁范围                                               |    √      |
| 在IPC通信中谨慎使用同步通信方式                                 |    √      |
| 禁止传递this指针至其他模块或线程(特别是eventhandler任务)        |    √      |
| 禁止将外部传入的裸指针在内部直接构造智能指针                      |    √      |
| 禁止多个独立创建的智能指针管理同一地址                           |     √     |
| 禁止在析构函数中抛异步任务                                      |     √     |
| 禁止js对象在非js线程(例如在IPC线程)创建、使用或销毁             |     √     |
| 禁止在对外接口中未经判空直接使用外部传入的指针                    |     √     |
| 禁止接口返回局部变量引用                                        |    √      |
| 禁止在信号函数中加锁                                            |    √      |
| 禁止在关键流程(SA启动、应用启动等主流程)执行耗时的操作           |    √      |
| 禁止将同一个cpp编译在不同的so中                                 |     √     |

**安全编码自检:**
| 自检项                                                          | 自检结果 |
| -------------------------------------------------------------- | -------- |
| 裸指针避免通过隐式转换构造为sptr                                 |     √     |
| json对象在取值之前必须先判断类型,避免类型不匹配                   |    √      |
| 序列化时必须对传入的数组大小进行校验,避免出现超大数组              |     √     |
| 避免使用未明确位宽的整型,选择使用int8_t、uint8_t等类型            |     √     |
| 外部传入的路径要做规范化校验,对路径中的.、..、../等特殊字符严格校验 |     √     |
| 指针变量、表示资源描述符的变量、bool变量必须赋初值                  |    √      |
| readParcelable获取的对象使用前需要判空                            |    √      |
| 分配和释放内存的函数需要成对出现                                   |    √      |
| 申请内存后异常退出前需要及时进行内存释放                            |    √      |
| 内存申请前必须对内存大小进行合法性校验                              |    √      |
| 内存分配后必须判断是否成功                                         |    √      |
| 禁止使用realloc、alloca函数                                       |    √      |
| 禁止打印文件路径、口令等敏感信息,如有需要,使用private修饰          |     √     |
| 禁止打印内存地址                                                  |     √     |
| 整数之间运算时必须严格检查,确保不会出现溢出、反转、除0               |    √      |
| 禁止对有符号整数进行位操作符运算                                    |    √      |
| 禁止对指针进行逻辑或位运算                                         |     √     |
| 循环次数如果收外部数据控制,需要检验其合法性                         |     √     |
| 禁止使用内存操作类危险函数,需要使用安全函数                         |     √     |
| 谨慎使用不可重入函数                                               |     √     |
| 必须检查安全函数的返回值,并进行正确处理                             |     √     |
| 禁止仅通过TokenType类型判断绕过权限校验                             |     √     |


**TDD Result**:

**XTS Result**:

### 是否已执行L0用例
- [ ] 已验证
- [ ] 不涉及。如不涉及,请写明理由


See merge request: openharmony/ability_ability_runtime!18967
2026-04-21 10:13:25 +08:00
wang_jun_long ed1426585b add shield freeze code
Co-Authored-By: Agent
Signed-off-by: 王俊龙 <wangjunlong8@h-partners.com>
2026-04-18 10:00:18 +08:00
DESKTOP-UGVMD4B\DawnComing beba0d8a98 adj优先级调整_标识前台应用因息屏导致退后台场景
Signed-off-by: lidongrui <lidongrui3@huawei.com>
Co-Authored-By: Agent
2026-04-17 15:08:17 +08:00
DESKTOP-UGVMD4B\DawnComing 430ac0d9d9 游戏预启动需求
Signed-off-by: lidongrui <lidongrui3@huawei.com>
Co-Authored-By: Agent
2026-04-11 20:39:27 +08:00
openharmony_ci 71c7d73416 !18879 merge pr_18792_fix into master
add dumpresult

Created-by: Lutao98
Commit-by: Lutao98
Merged-by: openharmony_ci
Description: **IssueNo**: https://gitcode.com/openharmony/hiviewdfx_hidumper/issues/563

**Description**:

本次提交基于 PR #18792 cherry-pick 并解冲突,新增应用进程 native 内存 dump 能力(DumpMem),支持通过 hidumper 触发 native 内存泄漏检测和快照导出。

主要修改:
1. 新增 MemDumpInfo 数据结构及其 Parcelable 序列化/反序列化实现
2. 新增 DumpMem IPC 通道:AppMgrInterfaceCode::DUMP_MEM_PROCESS,支持同步/异步两种调用模式
3. 完整的 IPC 链路:AppMgrClient -> AppMgrProxy -> AppMgrStub -> AppMgrServiceInner -> AppRunningManager -> AppRunningRecord -> AppLifeCycleDeal -> AppSchedulerProxy -> AppSchedulerHost -> MainThread
4. DumpRuntimeHelper 新增 DumpMem/DumpNativeHeap/GetDumpResult/GetSnapshot 实现,通过 dlopen libmemleak.z.so 动态加载内存泄漏检测函数
5. 提取公共 LoadMemLeakFunc 辅助函数消除 dlopen/dlsym 重复代码
6. 补充单元测试和 mock 实现

**稳定性自检:**
| 自检项                                                       | 自检结果  |
| ------------------------------------------------------------ | -------- |
| 涉及跨进程调用的相关操作需要抛至主线程或加锁防止并发              | 已检查,ScheduleMem同步模式直接执行,异步模式通过mainHandler PostTask |
| 成员变量进行赋值或创建需要排查并发                               | 不涉及         |
| 谨慎在lambda表达式中使用引用捕获                                | 已检查,异步lambda使用值捕获 |
| mapector\list\set等stl模板类使用时需要排查并发                | 不涉及         |
| 禁止传递this指针至其他模块或线程(特别是eventhandler任务)        | 已检查,异步使用wptr |
| 禁止在对外接口中未经判空直接使用外部传入的指针                    | 已检查         |

**安全编码自检:**
| 自检项                                                          | 自检结果 |
| -------------------------------------------------------------- | -------- |
| 指针变量、表示资源描述符的变量、bool变量必须赋初值                  | 已检查         |
| readParcelable获取的对象使用前需要判空                            | 已检查         |
| 分配和释放内存的函数需要成对出现                                   | 已检查         |
| 内存分配后必须判断是否成功                                         | 已检查         |
| 必须检查安全函数的返回值,并进行正确处理                             | 已检查         |

**TDD Result**:

**XTS Result**:

### 是否已执行L0用例
- [ ] 已验证
- [ ] 不涉及。如不涉及,请写明理由


See merge request: openharmony/ability_ability_runtime!18879
2026-04-09 19:10:27 +08:00
openharmony_ci 22e9e43a53 !18817 merge addpreload02 into master
addpreload02

Created-by: renjh5496
Commit-by: renjianhao
Merged-by: openharmony_ci
Description: **IssueNo**:

**Description**:

**稳定性自检:**
| 自检项                                                       | 自检结果  |
| ------------------------------------------------------------ | -------- |
| 涉及跨进程调用的相关操作需要抛至主线程或加锁防止并发              |          |
| 成员变量进行赋值或创建需要排查并发                               |          |
| 谨慎在lambda表达式中使用引用捕获                                |          |
| 谨慎在未经拷贝的情况下使用外部传入的string、C字符串               |          |
| map\vector\list\set等stl模板类使用时需要排查并发                |          |
| 谨慎考虑加锁范围                                               |          |
| 在IPC通信中谨慎使用同步通信方式                                 |          |
| 禁止传递this指针至其他模块或线程(特别是eventhandler任务)        |          |
| 禁止将外部传入的裸指针在内部直接构造智能指针                      |          |
| 禁止多个独立创建的智能指针管理同一地址                           |          |
| 禁止在析构函数中抛异步任务                                      |          |
| 禁止js对象在非js线程(例如在IPC线程)创建、使用或销毁             |          |
| 禁止在对外接口中未经判空直接使用外部传入的指针                    |          |
| 禁止接口返回局部变量引用                                        |          |
| 禁止在信号函数中加锁                                            |          |
| 禁止在关键流程(SA启动、应用启动等主流程)执行耗时的操作           |          |
| 禁止将同一个cpp编译在不同的so中                                 |          |

**安全编码自检:**
| 自检项                                                          | 自检结果 |
| -------------------------------------------------------------- | -------- |
| 裸指针避免通过隐式转换构造为sptr                                 |          |
| json对象在取值之前必须先判断类型,避免类型不匹配                   |          |
| 序列化时必须对传入的数组大小进行校验,避免出现超大数组              |          |
| 避免使用未明确位宽的整型,选择使用int8_t、uint8_t等类型            |          |
| 外部传入的路径要做规范化校验,对路径中的.、..、../等特殊字符严格校验 |          |
| 指针变量、表示资源描述符的变量、bool变量必须赋初值                  |          |
| readParcelable获取的对象使用前需要判空                            |          |
| 分配和释放内存的函数需要成对出现                                   |          |
| 申请内存后异常退出前需要及时进行内存释放                            |          |
| 内存申请前必须对内存大小进行合法性校验                              |          |
| 内存分配后必须判断是否成功                                         |          |
| 禁止使用realloc、alloca函数                                       |          |
| 禁止打印文件路径、口令等敏感信息,如有需要,使用private修饰          |          |
| 禁止打印内存地址                                                  |          |
| 整数之间运算时必须严格检查,确保不会出现溢出、反转、除0               |          |
| 禁止对有符号整数进行位操作符运算                                    |          |
| 禁止对指针进行逻辑或位运算                                         |          |
| 循环次数如果收外部数据控制,需要检验其合法性                         |          |
| 禁止使用内存操作类危险函数,需要使用安全函数                         |          |
| 谨慎使用不可重入函数                                               |          |
| 必须检查安全函数的返回值,并进行正确处理                             |          |
| 禁止仅通过TokenType类型判断绕过权限校验                             |          |

**TDD Result**:

**XTS Result**:

### 是否已执行L0用例
- [ ] 已验证
- [ ] 不涉及。如不涉及,请写明理由


See merge request: openharmony/ability_ability_runtime!18817
2026-04-07 23:25:19 +08:00
renjianhao e686e82e6b preload2
Signed-off-by: renjianhao <renjianhao@h-partners.com>
2026-04-03 19:42:22 +08:00
Lutao98 9ccb6c72ad add dumpresult
Signed-off-by: Lutao98 <lutao31@huawei.com>
Co-Authored-By: Agent
Signed-off-by: Lutao98 <lutao31@huawei.com>
2026-04-03 17:17:55 +08:00
openharmony_ci 576223f968 !18848 merge master into master
增加获取全量ability信息接口

Created-by: muxiggg
Commit-by: muxiggg
Merged-by: openharmony_ci
Description: **IssueNo**:

**Description**:增加获取全量ability信息接口

**稳定性自检:**
| 自检项                                                       | 自检结果  |
| ------------------------------------------------------------ | -------- |
| 涉及跨进程调用的相关操作需要抛至主线程或加锁防止并发              |      Y    |
| 成员变量进行赋值或创建需要排查并发                               |    Y      |
| 谨慎在lambda表达式中使用引用捕获                                |    Y      |
| 谨慎在未经拷贝的情况下使用外部传入的string、C字符串               |       Y   |
| map\vector\list\set等stl模板类使用时需要排查并发                |      Y    |
| 谨慎考虑加锁范围                                               |     Y     |
| 在IPC通信中谨慎使用同步通信方式                                 |      Y    |
| 禁止传递this指针至其他模块或线程(特别是eventhandler任务)        |      Y    |
| 禁止将外部传入的裸指针在内部直接构造智能指针                      |     Y     |
| 禁止多个独立创建的智能指针管理同一地址                           |      Y    |
| 禁止在析构函数中抛异步任务                                      |    Y      |
| 禁止js对象在非js线程(例如在IPC线程)创建、使用或销毁             |     Y     |
| 禁止在对外接口中未经判空直接使用外部传入的指针                    |        Y  |
| 禁止接口返回局部变量引用                                        |     Y     |
| 禁止在信号函数中加锁                                            |     Y     |
| 禁止在关键流程(SA启动、应用启动等主流程)执行耗时的操作           |   Y       |
| 禁止将同一个cpp编译在不同的so中                                 |     Y     |

**安全编码自检:**
| 自检项                                                          | 自检结果 |
| -------------------------------------------------------------- | -------- |
| 裸指针避免通过隐式转换构造为sptr                                 |    Y      |
| json对象在取值之前必须先判断类型,避免类型不匹配                   |   Y       |
| 序列化时必须对传入的数组大小进行校验,避免出现超大数组              |    Y      |
| 避免使用未明确位宽的整型,选择使用int8_t、uint8_t等类型            |    Y      |
| 外部传入的路径要做规范化校验,对路径中的.、..、../等特殊字符严格校验 |   Y       |
| 指针变量、表示资源描述符的变量、bool变量必须赋初值                  |       Y   |
| readParcelable获取的对象使用前需要判空                            |  Y        |
| 分配和释放内存的函数需要成对出现                                   |   Y       |
| 申请内存后异常退出前需要及时进行内存释放                            |     Y     |
| 内存申请前必须对内存大小进行合法性校验                              |      Y    |
| 内存分配后必须判断是否成功                                         |      Y    |
| 禁止使用realloc、alloca函数                                       |     Y     |
| 禁止打印文件路径、口令等敏感信息,如有需要,使用private修饰          |    Y      |
| 禁止打印内存地址                                                  |    Y      |
| 整数之间运算时必须严格检查,确保不会出现溢出、反转、除0               |    Y      |
| 禁止对有符号整数进行位操作符运算                                    |       Y   |
| 禁止对指针进行逻辑或位运算                                         |      Y    |
| 循环次数如果收外部数据控制,需要检验其合法性                         |      Y    |
| 禁止使用内存操作类危险函数,需要使用安全函数                         |   Y       |
| 谨慎使用不可重入函数                                               |      Y    |
| 必须检查安全函数的返回值,并进行正确处理                             |      Y    |
| 禁止仅通过TokenType类型判断绕过权限校验                             |      Y    |

**TDD Result**:

**XTS Result**:

### 是否已执行L0用例
- [Y ] 已验证
- [ ] 不涉及。如不涉及,请写明理由


See merge request: openharmony/ability_ability_runtime!18848
2026-04-03 16:37:37 +08:00
openharmony_ci 6c33ba9209 !18876 merge master into master
代码同步

Created-by: zyr020212
Commit-by: zyr020212
Merged-by: openharmony_ci
Description: **IssueNo**:
https://gitcode.com/openharmony/ability_ability_runtime/issues/14904
**Description**:
代码同步
**稳定性自检:**
| 自检项                                                       | 自检结果  |
| ------------------------------------------------------------ | -------- |
| 涉及跨进程调用的相关操作需要抛至主线程或加锁防止并发              |√          |
| 成员变量进行赋值或创建需要排查并发                               |  √         |
| 谨慎在lambda表达式中使用引用捕获                                |        √   |
| 谨慎在未经拷贝的情况下使用外部传入的string、C字符串               |  √         |
| map\vector\list\set等stl模板类使用时需要排查并发                |          √ |
| 谨慎考虑加锁范围                                               |          √ |
| 在IPC通信中谨慎使用同步通信方式                                 | √          |
| 禁止传递this指针至其他模块或线程(特别是eventhandler任务)        |√           |
| 禁止将外部传入的裸指针在内部直接构造智能指针                      |          √ |
| 禁止多个独立创建的智能指针管理同一地址                           |          √ |
| 禁止在析构函数中抛异步任务                                      |          √ |
| 禁止js对象在非js线程(例如在IPC线程)创建、使用或销毁             | √          |
| 禁止在对外接口中未经判空直接使用外部传入的指针                    |          √ |
| 禁止接口返回局部变量引用                                        |          √ |
| 禁止在信号函数中加锁                                            |          √ |
| 禁止在关键流程(SA启动、应用启动等主流程)执行耗时的操作           |  √         |
| 禁止将同一个cpp编译在不同的so中                                 |          √ |

**安全编码自检:**
| 自检项                                                          | 自检结果 |
| -------------------------------------------------------------- | -------- |
| 裸指针避免通过隐式转换构造为sptr                                 |   √        |
| json对象在取值之前必须先判断类型,避免类型不匹配                   |  √         |
| 序列化时必须对传入的数组大小进行校验,避免出现超大数组              |√           |
| 避免使用未明确位宽的整型,选择使用int8_t、uint8_t等类型            |      √     |
| 外部传入的路径要做规范化校验,对路径中的.、..、../等特殊字符严格校验 |    √       |
| 指针变量、表示资源描述符的变量、bool变量必须赋初值                  |          √ |
| readParcelable获取的对象使用前需要判空                            |          √ |
| 分配和释放内存的函数需要成对出现                                   |          √ |
| 申请内存后异常退出前需要及时进行内存释放                            |     √      |
| 内存申请前必须对内存大小进行合法性校验                              |          √ |
| 内存分配后必须判断是否成功                                         |          √ |
| 禁止使用realloc、alloca函数                                       |          √ |
| 禁止打印文件路径、口令等敏感信息,如有需要,使用private修饰          | √          |
| 禁止打印内存地址                                                  |          √ |
| 整数之间运算时必须严格检查,确保不会出现溢出、反转、除0               |     √      |
| 禁止对有符号整数进行位操作符运算                                    |          √ |
| 禁止对指针进行逻辑或位运算                                         |          √ |
| 循环次数如果收外部数据控制,需要检验其合法性                         |    √       |
| 禁止使用内存操作类危险函数,需要使用安全函数                         |        √   |
| 谨慎使用不可重入函数                                               |          √ |
| 必须检查安全函数的返回值,并进行正确处理                             |     √      |
| 禁止仅通过TokenType类型判断绕过权限校验                             |         √  |

**TDD Result**:
![image.png](https://raw.gitcode.com/user-images/assets/4421702/45955dcd-5add-48c1-bfab-ffcf4d8aa433/image.png 'image.png')
**XTS Result**:

### 是否已执行L0用例
- [ ] 已验证
- [ ] 不涉及。如不涉及,请写明理由

See merge request: openharmony/ability_ability_runtime!18876
2026-04-03 16:37:07 +08:00
renjianhao 32d8d708da addpreload02
Signed-off-by: renjianhao <renjianhao@h-partners.com>
2026-04-03 00:08:33 +08:00
openharmony_ci fe8bee6074 !18859 merge publish_startuiability_0331 into master
publish_startuiability_0331

Created-by: Luobniz21
Commit-by: Luobniz21
Merged-by: openharmony_ci
Description: **IssueNo**:#14887

**Description**:

**稳定性自检:**
| 自检项                                                       | 自检结果  |
| ------------------------------------------------------------ | -------- |
| 涉及跨进程调用的相关操作需要抛至主线程或加锁防止并发              |  √        |
| 成员变量进行赋值或创建需要排查并发                               |     √     |
| 谨慎在lambda表达式中使用引用捕获                                |    √      |
| 谨慎在未经拷贝的情况下使用外部传入的string、C字符串               |     √     |
| map\vector\list\set等stl模板类使用时需要排查并发                |      √    |
| 谨慎考虑加锁范围                                               |    √      |
| 在IPC通信中谨慎使用同步通信方式                                 |     √     |
| 禁止传递this指针至其他模块或线程(特别是eventhandler任务)        |  √        |
| 禁止将外部传入的裸指针在内部直接构造智能指针                      |     √     |
| 禁止多个独立创建的智能指针管理同一地址                           |      √    |
| 禁止在析构函数中抛异步任务                                      |     √     |
| 禁止js对象在非js线程(例如在IPC线程)创建、使用或销毁             |     √    |
| 禁止在对外接口中未经判空直接使用外部传入的指针                    |    √      |
| 禁止接口返回局部变量引用                                        |    √      |
| 禁止在信号函数中加锁                                            |      √    |
| 禁止在关键流程(SA启动、应用启动等主流程)执行耗时的操作           |  √        |
| 禁止将同一个cpp编译在不同的so中                                 |      √    |

**安全编码自检:**
| 自检项                                                          | 自检结果 |
| -------------------------------------------------------------- | -------- |
| 裸指针避免通过隐式转换构造为sptr                                 |     √     |
| json对象在取值之前必须先判断类型,避免类型不匹配                   |  √        |
| 序列化时必须对传入的数组大小进行校验,避免出现超大数组              |     √     |
| 避免使用未明确位宽的整型,选择使用int8_t、uint8_t等类型            |     √     |
| 外部传入的路径要做规范化校验,对路径中的.、..、../等特殊字符严格校验 |    √      |
| 指针变量、表示资源描述符的变量、bool变量必须赋初值                  |    √      |
| readParcelable获取的对象使用前需要判空                            |    √      |
| 分配和释放内存的函数需要成对出现                                   |     √     |
| 申请内存后异常退出前需要及时进行内存释放                            |      √    |
| 内存申请前必须对内存大小进行合法性校验                              |     √     |
| 内存分配后必须判断是否成功                                         |     √     |
| 禁止使用realloc、alloca函数                                       |    √      |
| 禁止打印文件路径、口令等敏感信息,如有需要,使用private修饰          |  √        |
| 禁止打印内存地址                                                  |      √    |
| 整数之间运算时必须严格检查,确保不会出现溢出、反转、除0               |    √      |
| 禁止对有符号整数进行位操作符运算                                    |     √     |
| 禁止对指针进行逻辑或位运算                                         |     √     |
| 循环次数如果收外部数据控制,需要检验其合法性                         |     √     |
| 禁止使用内存操作类危险函数,需要使用安全函数                         |   √       |
| 谨慎使用不可重入函数                                               |  √        |
| 必须检查安全函数的返回值,并进行正确处理                             |   √       |
| 禁止仅通过TokenType类型判断绕过权限校验                             |   √       |

**TDD Result**:

**XTS Result**:

### 是否已执行L0用例
- [x] 已验证
- [ ] 不涉及。如不涉及,请写明理由


See merge request: openharmony/ability_ability_runtime!18859
2026-04-02 19:40:17 +08:00
zyr020212 013b3dde10 代码同步
Signed-off-by: zyr020212 <zhaoyuran@h-partners.com>
2026-04-02 16:00:54 +08:00
muxiggg b2013fae3b Merge branch 'master' of git@gitcode.com:muxiggg/ability_ability_runtime.git into 'master'
# Conflicts:
#   conflict interfaces/inner_api/app_manager/include/appmgr/app_mgr_ipc_interface_code.h
#   conflict test/mock/mock_appmgr_service/include/mock_app_mgr_service_inner.h
#   conflict test/mock/services_appmgr_test/include/mock_app_mgr_service.h
#   conflict test/unittest/app_mgr_proxy_test/app_mgr_proxy_test.cpp
#   conflict test/unittest/app_mgr_stub_test/app_mgr_stub_test.cpp
2026-04-02 14:57:28 +08:00
muxiggg 78749de91f 增加获取全量ability信息接口
Signed-off-by: muxiggg <liupengjie2@huawei.com>
2026-04-01 17:46:13 +08:00
Luobniz21 84c9bcd91c publish_startuiability_0331
Signed-off-by: Luobniz21 <luoyicong@h-partners.com>

# Please enter the commit message for your changes. Lines starting
# with '#' will be kept; you may remove them yourself if you want to.
# An empty message aborts the commit.
#
# Date:      Tue Mar 31 22:24:58 2026 +0800
#
# On branch publish_startuiability_0331
# Your branch is up to date with 'origin/publish_startuiability_0331'.
#
# Changes to be committed:
#	modified:   frameworks/native/appkit/ability_bundle_manager_helper/bundle_mgr_helper.cpp
#	modified:   interfaces/kits/native/appkit/ability_bundle_manager_helper/bundle_mgr_helper.h
#	modified:   services/abilitymgr/include/utils/ability_event_util.h
#	modified:   services/abilitymgr/src/ability_record.cpp
#	modified:   services/abilitymgr/src/utils/ability_event_util.cpp
#	modified:   test/fuzztest/abilityeventutil_fuzzer/BUILD.gn
#	modified:   test/mock/services_abilitymgr_test/libs/appexecfwk_core/include/bundlemgr/mock_bundle_manager.h
#	modified:   test/unittest/ability_event_util_test/BUILD.gn
#	modified:   test/unittest/ability_event_util_test/ability_event_util_test.cpp
#	modified:   test/unittest/ability_manager_service_first_test/ability_manager_service_first_test.cpp
#	modified:   test/unittest/ability_manager_service_mock_test/BUILD.gn
#	modified:   test/unittest/insight_intent/insight_intent_utils_test/BUILD.gn
#

# Please enter the commit message for your changes. Lines starting
# with '#' will be kept; you may remove them yourself if you want to.
# An empty message aborts the commit.
#
# Date:      Tue Mar 31 22:24:58 2026 +0800
#
# On branch publish_startuiability_0331
# Your branch is up to date with 'origin/publish_startuiability_0331'.
#
# Changes to be committed:
#	modified:   frameworks/native/appkit/ability_bundle_manager_helper/bundle_mgr_helper.cpp
#	modified:   interfaces/kits/native/appkit/ability_bundle_manager_helper/bundle_mgr_helper.h
#	modified:   services/abilitymgr/include/utils/ability_event_util.h
#	modified:   services/abilitymgr/src/ability_record.cpp
#	modified:   services/abilitymgr/src/utils/ability_event_util.cpp
#	modified:   test/fuzztest/abilityeventutil_fuzzer/BUILD.gn
#	modified:   test/mock/services_abilitymgr_test/libs/appexecfwk_core/include/bundlemgr/mock_bundle_manager.h
#	modified:   test/unittest/ability_event_util_test/BUILD.gn
#	modified:   test/unittest/ability_event_util_test/ability_event_util_test.cpp
#	modified:   test/unittest/ability_manager_service_first_test/ability_manager_service_first_test.cpp
#	modified:   test/unittest/ability_manager_service_mock_test/BUILD.gn
#	modified:   test/unittest/insight_intent/insight_intent_utils_test/BUILD.gn
#

# Please enter the commit message for your changes. Lines starting
# with '#' will be kept; you may remove them yourself if you want to.
# An empty message aborts the commit.
#
# Date:      Tue Mar 31 22:24:58 2026 +0800
#
# On branch publish_startuiability_0331
# Your branch is up to date with 'origin/publish_startuiability_0331'.
#
# Changes to be committed:
#	modified:   frameworks/native/appkit/ability_bundle_manager_helper/bundle_mgr_helper.cpp
#	modified:   interfaces/kits/native/appkit/ability_bundle_manager_helper/bundle_mgr_helper.h
#	modified:   services/abilitymgr/include/utils/ability_event_util.h
#	modified:   services/abilitymgr/src/ability_record.cpp
#	modified:   services/abilitymgr/src/utils/ability_event_util.cpp
#	modified:   test/fuzztest/abilityeventutil_fuzzer/BUILD.gn
#	modified:   test/mock/services_abilitymgr_test/libs/appexecfwk_core/include/bundlemgr/mock_bundle_manager.h
#	modified:   test/unittest/ability_event_util_test/BUILD.gn
#	modified:   test/unittest/ability_event_util_test/ability_event_util_test.cpp
#	modified:   test/unittest/ability_manager_service_first_test/ability_manager_service_first_test.cpp
#	modified:   test/unittest/ability_manager_service_mock_test/BUILD.gn
#	modified:   test/unittest/insight_intent/insight_intent_utils_test/BUILD.gn
#

# Please enter the commit message for your changes. Lines starting
# with '#' will be kept; you may remove them yourself if you want to.
# An empty message aborts the commit.
#
# Date:      Tue Mar 31 22:24:58 2026 +0800
#
# On branch publish_startuiability_0331
# Your branch is up to date with 'origin/publish_startuiability_0331'.
#
# Changes to be committed:
#	modified:   frameworks/native/appkit/ability_bundle_manager_helper/bundle_mgr_helper.cpp
#	modified:   interfaces/kits/native/appkit/ability_bundle_manager_helper/bundle_mgr_helper.h
#	modified:   services/abilitymgr/include/utils/ability_event_util.h
#	modified:   services/abilitymgr/src/ability_record.cpp
#	modified:   services/abilitymgr/src/utils/ability_event_util.cpp
#	modified:   test/fuzztest/abilityeventutil_fuzzer/BUILD.gn
#	modified:   test/mock/services_abilitymgr_test/libs/appexecfwk_core/include/bundlemgr/mock_bundle_manager.h
#	modified:   test/unittest/ability_event_util_test/BUILD.gn
#	modified:   test/unittest/ability_event_util_test/ability_event_util_test.cpp
#	modified:   test/unittest/ability_manager_service_first_test/ability_manager_service_first_test.cpp
#	modified:   test/unittest/ability_manager_service_mock_test/BUILD.gn
#	modified:   test/unittest/insight_intent/insight_intent_utils_test/BUILD.gn
#

# Please enter the commit message for your changes. Lines starting
# with '#' will be kept; you may remove them yourself if you want to.
# An empty message aborts the commit.
#
# Date:      Tue Mar 31 22:24:58 2026 +0800
#
# On branch publish_startuiability_0331
# Your branch is up to date with 'origin/publish_startuiability_0331'.
#
# Changes to be committed:
#	modified:   frameworks/native/appkit/ability_bundle_manager_helper/bundle_mgr_helper.cpp
#	modified:   interfaces/kits/native/appkit/ability_bundle_manager_helper/bundle_mgr_helper.h
#	modified:   services/abilitymgr/include/utils/ability_event_util.h
#	modified:   services/abilitymgr/src/ability_record.cpp
#	modified:   services/abilitymgr/src/utils/ability_event_util.cpp
#	modified:   test/fuzztest/abilityeventutil_fuzzer/BUILD.gn
#	modified:   test/mock/services_abilitymgr_test/libs/appexecfwk_core/include/bundlemgr/mock_bundle_manager.h
#	modified:   test/unittest/ability_event_util_test/BUILD.gn
#	modified:   test/unittest/ability_event_util_test/ability_event_util_test.cpp
#	modified:   test/unittest/ability_manager_service_first_test/ability_manager_service_first_test.cpp
#	modified:   test/unittest/ability_manager_service_mock_test/BUILD.gn
#	modified:   test/unittest/insight_intent/insight_intent_utils_test/BUILD.gn
#
2026-04-01 13:15:58 +08:00
xialiangwei 50d830d524 hyper
Signed-off-by: xialiangwei <2049500708@qq.com>
2026-03-31 20:57:38 +08:00
openharmony_ci 24e780015b !18810 merge master into master
1.2 abilityStageContext增加launchElement

Created-by: hanchen45
Commit-by: hanchen45
Merged-by: openharmony_ci
Description: **IssueNo**:

**Description**:

**稳定性自检:**
| 自检项                                                       | 自检结果  |
| ------------------------------------------------------------ | -------- |
| 涉及跨进程调用的相关操作需要抛至主线程或加锁防止并发              |     pass     |
| 成员变量进行赋值或创建需要排查并发                               |   pass       |
| 谨慎在lambda表达式中使用引用捕获                                |       pass   |
| 谨慎在未经拷贝的情况下使用外部传入的string、C字符串               |    pass      |
| map\vector\list\set等stl模板类使用时需要排查并发                |     pass     |
| 谨慎考虑加锁范围                                               |   pass       |
| 在IPC通信中谨慎使用同步通信方式                                 |     pass     |
| 禁止传递this指针至其他模块或线程(特别是eventhandler任务)        |    pass      |
| 禁止将外部传入的裸指针在内部直接构造智能指针                      |     pass     |
| 禁止多个独立创建的智能指针管理同一地址                           |       pass   |
| 禁止在析构函数中抛异步任务                                      |    pass      |
| 禁止js对象在非js线程(例如在IPC线程)创建、使用或销毁             |   pass       |
| 禁止在对外接口中未经判空直接使用外部传入的指针                    |      pass    |
| 禁止接口返回局部变量引用                                        |    pass      |
| 禁止在信号函数中加锁                                            |     pass     |
| 禁止在关键流程(SA启动、应用启动等主流程)执行耗时的操作           |     pass     |
| 禁止将同一个cpp编译在不同的so中                                 |      pass    |

**安全编码自检:**
| 自检项                                                          | 自检结果 |
| -------------------------------------------------------------- | -------- |
| 裸指针避免通过隐式转换构造为sptr                                 |     pass     |
| json对象在取值之前必须先判断类型,避免类型不匹配                   |     pass     |
| 序列化时必须对传入的数组大小进行校验,避免出现超大数组              |     pass     |
| 避免使用未明确位宽的整型,选择使用int8_t、uint8_t等类型            |    pass      |
| 外部传入的路径要做规范化校验,对路径中的.、..、../等特殊字符严格校验 |     pass     |
| 指针变量、表示资源描述符的变量、bool变量必须赋初值                  |    pass      |
| readParcelable获取的对象使用前需要判空                            |     pass     |
| 分配和释放内存的函数需要成对出现                                   |      pass    |
| 申请内存后异常退出前需要及时进行内存释放                            |      pass    |
| 内存申请前必须对内存大小进行合法性校验                              |       pass   |
| 内存分配后必须判断是否成功                                         |      pass    |
| 禁止使用realloc、alloca函数                                       |     pass     |
| 禁止打印文件路径、口令等敏感信息,如有需要,使用private修饰          |    pass      |
| 禁止打印内存地址                                                  |   pass       |
| 整数之间运算时必须严格检查,确保不会出现溢出、反转、除0               |     pass     |
| 禁止对有符号整数进行位操作符运算                                    |       pass   |
| 禁止对指针进行逻辑或位运算                                         |    pass      |
| 循环次数如果收外部数据控制,需要检验其合法性                         |     pass     |
| 禁止使用内存操作类危险函数,需要使用安全函数                         |     pass     |
| 谨慎使用不可重入函数                                               |    pass      |
| 必须检查安全函数的返回值,并进行正确处理                             |     pass     |
| 禁止仅通过TokenType类型判断绕过权限校验                             |       pass   |

**TDD Result**:
未引入tdd用例失败
**XTS Result**:
未引入xts用例失败
### 是否已执行L0用例
- [x] 已验证
- [ ] 不涉及。如不涉及,请写明理由


See merge request: openharmony/ability_ability_runtime!18810
2026-03-28 17:05:21 +08:00
openharmony_ci 66deff1968 !18683 merge FixAgentProcessExit into master
修复最后一个Agent退出而进程没退出的问题

Created-by: SKY2001
Commit-by: SKY2001
Merged-by: openharmony_ci
Description: **IssueNo**:
https://gitcode.com/openharmony/ability_ability_runtime/issues/14748?ref=&did=3807883#tid-3807883
**Description**:

**稳定性自检:**
| 自检项                                                       | 自检结果  |
| ------------------------------------------------------------ | -------- |
| 涉及跨进程调用的相关操作需要抛至主线程或加锁防止并发              |    pass  |
| 成员变量进行赋值或创建需要排查并发                               |      pass     |
| 谨慎在lambda表达式中使用引用捕获                                |     pass      |
| 谨慎在未经拷贝的情况下使用外部传入的string、C字符串               |   pass        |
| map\vector\list\set等stl模板类使用时需要排查并发                |   pass        |
| 谨慎考虑加锁范围                                               |     pass      |
| 在IPC通信中谨慎使用同步通信方式                                 |      pass     |
| 禁止传递this指针至其他模块或线程(特别是eventhandler任务)        |     pass      |
| 禁止将外部传入的裸指针在内部直接构造智能指针                      |   pass        |
| 禁止多个独立创建的智能指针管理同一地址                           |     pass      |
| 禁止在析构函数中抛异步任务                                      |       pass    |
| 禁止js对象在非js线程(例如在IPC线程)创建、使用或销毁             |     pass      |
| 禁止在对外接口中未经判空直接使用外部传入的指针                    |      pass     |
| 禁止接口返回局部变量引用                                        |    pass       |
| 禁止在信号函数中加锁                                            |       pass    |
| 禁止在关键流程(SA启动、应用启动等主流程)执行耗时的操作           |    pass       |
| 禁止将同一个cpp编译在不同的so中                                 |      pass     |

**安全编码自检:**
| 自检项                                                          | 自检结果 |
| -------------------------------------------------------------- | -------- |
| 裸指针避免通过隐式转换构造为sptr                                 |      pass     |
| json对象在取值之前必须先判断类型,避免类型不匹配                   |        pass   |
| 序列化时必须对传入的数组大小进行校验,避免出现超大数组              |    pass       |
| 避免使用未明确位宽的整型,选择使用int8_t、uint8_t等类型            |     pass      |
| 外部传入的路径要做规范化校验,对路径中的.、..、../等特殊字符严格校验 |   pass        |
| 指针变量、表示资源描述符的变量、bool变量必须赋初值                  |     pass      |
| readParcelable获取的对象使用前需要判空                            |    pass       |
| 分配和释放内存的函数需要成对出现                                   |       pass    |
| 申请内存后异常退出前需要及时进行内存释放                            |      pass     |
| 内存申请前必须对内存大小进行合法性校验                              |     pass      |
| 内存分配后必须判断是否成功                                         |   pass        |
| 禁止使用realloc、alloca函数                                       |     pass      |
| 禁止打印文件路径、口令等敏感信息,如有需要,使用private修饰          |      pass     |
| 禁止打印内存地址                                                  |    pass       |
| 整数之间运算时必须严格检查,确保不会出现溢出、反转、除0               |         pass  |
| 禁止对有符号整数进行位操作符运算                                    |    pass       |
| 禁止对指针进行逻辑或位运算                                         |       pass    |
| 循环次数如果收外部数据控制,需要检验其合法性                         |       pass    |
| 禁止使用内存操作类危险函数,需要使用安全函数                         |     pass      |
| 谨慎使用不可重入函数                                               |      pass     |
| 必须检查安全函数的返回值,并进行正确处理                             |       pass    |
| 禁止仅通过TokenType类型判断绕过权限校验                             |    pass       |

**TDD Result**:
 pass
**XTS Result**:
 pass
### 是否已执行L0用例
- [ ] 已验证
- [ ] 不涉及。如不涉及,请写明理由


See merge request: openharmony/ability_ability_runtime!18683
2026-03-28 11:43:21 +08:00