Commit Graph

770 Commits

Author SHA1 Message Date
openharmony_ci c50bf4b0c4 !19695 merge master0626 into master
代码优化

Created-by: dsz2025
Commit-by: duansizhao
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!19695
2026-07-02 10:21:24 +08:00
hlzhangaj ac9b03c9fe 6.0.0
Signed-off-by: hlzhangaj <zhanghanlin16@h-partners.com>
2026-06-30 22:04:49 +08:00
openharmony_ci 19aefbc6fb !19733 merge clawdocs into master
pcClaw 资料说明

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!19733
2026-06-30 21:38:04 +08:00
DESKTOP-UGVMD4B\DawnComing fbcf6fffe0 pcClaw 资料说明
Signed-off-by: lidongrui <lidongrui3@huawei.com>
Co-Authored-By: lidongrui
2026-06-30 20:54:24 +08:00
ohci1 b9339e2e5b !19272 merge master into master
3.0.2

Created-by: hlzhangaj
Commit-by: ohci1;hlzhangaj
Merged-by: ohci1
Description: **IssueNo**: https://gitcode.com/openharmony/build/issues/4519

**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!19272
2026-06-30 17:21:26 +08:00
任国军 f3dc2216e3 Revert "fix CWE-78 command injection in aa tool"
This reverts commit ac996bcc6f.

Co-Authored-By: Agent
Signed-off-by: 任国军 <renguojun1@h-partners.com>
2026-06-29 16:43:03 +08:00
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
duansizhao 5250f45302 代码优化
Signed-off-by: duansizhao <duansizhao@huawei.com>
Change-Id: I7450ddca3f3577cf9d24ac10e2640cd523e4d664
2026-06-26 18:01:54 +08:00
任国军 283e2dd301 fix CWE-78 command injection in aa tool
Co-Authored-By: Agent
Signed-off-by: 任国军 <renguojun1@h-partners.com>
2026-06-24 22:37:04 +08:00
wangzhen 1de71622dd dynamic load image_native
Co-Authored-By: Agent

Signed-off-by: wangzhen <wangzhen416@huawei.com>

🤖‍ AI[98%] 👌 AI Adopted[98%] 🧑 Human[2%]

🤖‍ AI[0%] 👌 AI Adopted[0%] 🧑 Human[100%]

Change-Id: I0f5ee21f0ea499d0abc9a0690249f040cb715805
2026-06-16 14:38:54 +08:00
SKY2001 56d38461a4 修复aa相关参数校验不安全的问题
Signed-off-by: SKY2001 <songtianyu10@huawei.com>
Co-Authored-By: sky
2026-06-08 10:12:56 +08:00
zexin_c 6485e9a7bd close script entry
Signed-off-by: zexin_c <chenzexin14@huawei.com>
2026-05-30 14:17:16 +08:00
yewei0794 02518f9854 feat: restrict reusePid to IN_PROCESS mode and add GetValidAppRunningRecordByPid
- Only set reusePid when MODULAR_OBJECT IN_PROCESS mode (IsInProcess flag)
- Add isInProcess flag to BaseExtensionRecord, set in SetupNewRecord
- Add GetValidAppRunningRecordByPid for PID lookup with validity check
- Revert CheckAppRunningRecordIsExist to original (no reusePid coupling)
- Remove IsProcessMatchedByFieldOrPid, restore inline matching logic
- Move reusePid check before plugin/normal flow in LoadAbility
- Add TDD tests for SetExtensionLoadParam, GetValidAppRunningRecordByPid,
  and LoadAbility reusePid path

Co-Authored-By: Agent

🤖‍ AI[98%] 👌 AI Adopted[98%] 🧑 Human[2%]
Co-authored-by: claude (glm-5.1) <ai@local>

Signed-off-by: yewei0794 <weiyejxnf@163.com>
Change-Id: I00c745f043dbcbbf2879a4f10398825f589049bf
2026-05-25 19:31:30 +08:00
yewei0794 1047dd56ce feat: support callerProcessPid for ModularObject process reuse
Pass caller PID through LoadParam to bypass customProcessFlag/instanceKey
matching in CheckAppRunningRecordIsExist, enabling IN_PROCESS mode to
reuse the caller's existing process record.

Co-Authored-By: Agent
Signed-off-by: yewei0794 <weiyejxnf@163.com>
Change-Id: I34ed4dc3d4b828def0badab3c579c861c763467a
2026-05-25 14:03:03 +08:00
duansizhao 460295cf66 remove test cli_tool
Signed-off-by: duansizhao <duansizhao@huawei.com>
Change-Id: Ifecf423d287727ef6bef96d9dabda219c3bbebad
2026-05-21 11:01:34 +08:00
yangxuguang-huawei d137057e4c feat: add errMsg to ohos-timer
Co-Authored-By: Agent

Signed-off-by: yangxuguang-huawei <yangxuguang3@huawei.com>
Change-Id: Ia470dc08c48867d347c780036542f3f0cf2625ba
2026-05-15 16:30:52 +08:00
openharmony_ci af585e756a !19301 merge DeleteDeviceId into master
去除deviceId选项

Created-by: SKY2001
Commit-by: SKY2001
Merged-by: openharmony_ci
Description: **IssueNo**:
https://gitcode.com/openharmony/ability_ability_runtime/issues/15226?ref=&did=4012548#tid-4012548
**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**:
 pass 
### 是否已执行L0用例
- [ ] 已验证
- [ ] 不涉及。如不涉及,请写明理由


See merge request: openharmony/ability_ability_runtime!19301
2026-05-14 19:42:41 +08:00
SKY2001 e0c6246cb8 去除deviceId选项
Signed-off-by: SKY2001 <songtianyu10@huawei.com>
Co-Authored-By: Sky
2026-05-12 15:25:14 +08:00
SKY2001 c83c91b075 补充ohos-aa的说明文档
Signed-off-by: SKY2001 <songtianyu10@huawei.com>
Co-Authored-By:Agent
2026-05-12 15:20:49 +08:00
openharmony_ci a5a1313fb2 !19264 merge AddRequiredPermission into master
补充ohos-aa中的权限限制

Created-by: SKY2001
Commit-by: SKY2001
Merged-by: openharmony_ci
Description: **IssueNo**:
https://gitcode.com/openharmony/ability_ability_runtime/issues/15198?ref=&did=3922679#tid-3922679
**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!19264
2026-05-12 10:56:42 +08:00
RuiChen_01 d4bd50c012 add support cli exec skill
Co-Authored-By: Agent
Change-Id: Idb644d4dc783549382aae1546a1dde63209b0fb8
Signed-off-by: RuiChen_01 <chenrui193@huawei.com>

update: 更新文件 config.json

Signed-off-by: RuiChen_01 <chenrui193@huawei.com>
2026-05-11 07:16:23 +08:00
hlzhangaj 1d85126c98 3.0.2
Signed-off-by: hlzhangaj <zhanghanlin16@h-partners.com>
2026-05-10 23:49:43 +08:00
SKY2001 857e368a57 补充ohos-aa中的权限限制
Signed-off-by: SKY2001 <songtianyu10@huawei.com>
Co-Authored-By:Sky
2026-05-09 17:08:28 +08:00
openharmony_ci 8fdbc4559a !19206 merge Add_ohos_aa_tdd into master
补充aaclaw-tdd

Created-by: SKY2001
Commit-by: SKY2001
Merged-by: openharmony_ci
Description: **IssueNo**:
https://gitcode.com/openharmony/ability_ability_runtime/issues/15153?ref=&did=3895633#tid-3895633
**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!19206
2026-05-09 13:06:56 +08:00
SKY2001 27d40460ba 补充aaclaw-tdd
Signed-off-by: SKY2001 <songtianyu10@huawei.com>
Co-Authored-By: Agent
2026-05-08 19:17:32 +08:00
openharmony_ci 528a75c662 !19227 merge cc into master
support cli tool cc

Created-by: RuiChen_01
Commit-by: RuiChen_01
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!19227
2026-05-08 14:51:41 +08:00
RuiChen_01 3ff85f3ee7 support cli tool cc
Change-Id: Idd85277146808e788fe6671f4b8e80b0bc608bbf
Signed-off-by: RuiChen_01 <chenrui193@huawei.com>
Co-Authored-By: Agent

update: 更新文件 BUILD.gn
删除导致编译报错的部件

Signed-off-by: RuiChen_01 <chenrui193@huawei.com>

support cli tool cc

Co-Authored-By: Agent
Signed-off-by: RuiChen_01 <chenrui193@huawei.com>
2026-05-08 11:05:14 +08:00
zexin_c 05656b999f add help option
Co-Authored-By: Agent
Signed-off-by: zexin_c <chenzexin14@huawei.com>
2026-05-07 17:08:28 +08:00
zexin_c fb386351b2 add ohos-arkts
Co-Authored-By: Agent

Signed-off-by: zexin_c <chenzexin14@huawei.com>
2026-05-07 13:10:06 +08:00
openharmony_ci c2ca9395a4 !18952 merge aaCLITool into master
aa工具CLI化

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

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

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

**TDD Result**:

**XTS Result**:

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


See merge request: openharmony/ability_ability_runtime!18952
2026-05-06 12:04:54 +08:00
openharmony_ci 1a18c03816 !19163 merge Supportdistributedintent_0430 into master
support dms intent

Created-by: renjh5496
Commit-by: renjh5496
Merged-by: openharmony_ci
Description: **IssueNo**:
https://gitcode.com/openharmony/ability_ability_runtime/issues/15116
**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!19163
2026-05-06 11:15:13 +08:00
SKY2001 b68ddd9e42 aa工具CLI化
Signed-off-by: SKY2001 <songtianyu10@huawei.com>
Co-Authored-By: Agent
2026-05-06 11:11:11 +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
duansizhao c7c1e4ff01 优化cli示例工具
Co-Authored-By: Agent

Signed-off-by: duansizhao <duansizhao@huawei.com>
Change-Id: Id40186d1fc966d7795fa149bb8c4dff1ba68dceb
2026-05-01 12:54:27 +08:00
duansizhao dc8fd64a49 Co-Authored-By: Agent
Signed-off-by: duansizhao <duansizhao@huawei.com>
Change-Id: I5eb8f28e5a2f7acc6256de6350b88456b1d8c46a
2026-04-29 21:04:30 +08:00
openharmony_ci 289f190e69 !19053 merge cli-0421-executable into master
test ohos_cli_executable

Created-by: dsz2025
Commit-by: duansizhao
Merged-by: openharmony_ci
Description: **IssueNo**:
https://gitcode.com/openharmony/build/issues/4485
**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!19053
2026-04-28 22:02:20 +08:00
duansizhao c0c580f583 add cli example
Signed-off-by: duansizhao <duansizhao@huawei.com>
Change-Id: Ib3d311b7ad2591dfcbba7b48419967798451beea
2026-04-25 22:11:26 +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 92f6a88757 !18854 merge hyper-prestart-0331 into master
hyper

Created-by: xialiangwei
Commit-by: xialiangwei
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!18854
2026-04-01 19:57:51 +08:00
openharmony_ci c3ad21928b !18785 merge master into master
aa tset 新增 userID

Created-by: liuzongze
Commit-by: liuzongze
Merged-by: openharmony_ci
Description: **IssueNo**:
https://gitcode.com/openharmony/ability_ability_runtime/issues/14837
**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/d3d3c194-003d-4d3b-9ddf-4cbdd10fc141/image.png 'image.png')
**XTS Result**:

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


See merge request: openharmony/ability_ability_runtime!18785
2026-04-01 17:23:19 +08:00
liuzongze 8fa0d699e5 aa test方法抽取优化
Signed-off-by: liuzongze <liuzongze@h-partners.com>
Change-Id: I21098ee89569be35bd86ad5b2adb686bee6b2a8a
Co-Authored-By: Agent
2026-04-01 11:30:34 +08:00
xialiangwei 50d830d524 hyper
Signed-off-by: xialiangwei <2049500708@qq.com>
2026-03-31 20:57:38 +08:00
openharmony_ci 45658770a9 !18760 merge aa_start into master
aa start: add multi-user support

Created-by: Luobniz21
Commit-by: Luobniz21
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**:
![image.png](https://raw.gitcode.com/user-images/assets/4421702/eb0f58dd-875b-44b6-a4d2-f46d38ed470a/image.png 'image.png')
**XTS Result**:

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



1. 添加命令行选项支持                                                                                                                                                                                                                                          
  
  - SHORT_OPTIONS: 添加了 u: 选项(需要参数)
  - LONG_OPTIONS: 添加了 {"userId", required_argument, nullptr, 'u'}

  2. 修改核心函数

  RunAsStartAbility 函数 (ability_command.cpp:447-484):
  - 添加了 int32_t userId = DEFAULT_INVAL_VALUE 变量
  - 将 userId 传递给 StartAbility 方法

  MakeWantFromCmd 函数 (ability_command.cpp:1620-2186):
  - 添加了带 int32_t& userId 参数的版本
  - 保留了不带 userId 参数的重载版本,保持向后兼容
  - 在 switch 语句中添加了 case 'u' 处理,解析用户 ID

  StartAbilityWithWait 函数 (ability_command.cpp:2586-2610):
  - 添加了 int32_t userId 参数
  - 对于隐式启动,将 userId 传递给 StartAbility
  - 对于显式启动,如果指定了 userId 则输出警告(因为 StartAbilityWithWait 接口本身不支持 userId)

  3. 更新头文件 (ability_command.h)

  - 更新了 MakeWantFromCmd 和 StartAbilityWithWait 的函数声明
  - 更新了帮助信息 HELP_MSG_START,添加了 -u <user-id> 和 --userId <user-id> 选项说明

  4. 添加错误处理

  - 在参数缺失处理中添加了对 -u 选项没有参数的情况处理

  使用方法

  现在可以使用以下命令启动指定用户的应用:

  使用短选项
  aa start -a <ability-name> -b <bundle-name> -u <user-id>

  使用长选项
  aa start -a <ability-name> -b <bundle-name> --userId <user-id>

  示例:为用户 100 启动应用
  aa start -a MainAbility -b com.example.app -u 100

  注意:-W (wait) 选项与 -u 选项同时使用时,userId 会被忽略(因为 StartAbilityWithWait 接口本身不支持 userId 参数)。
  
  问题1:传入无效值
  当用户输入 aa start -a MainAbility -b com.example.app u 101 时:

  1. aa 工具 (ability_command.cpp):
    - getopt_long 解析完 -a MainAbility -b com.example.app
    - 遇到 u(不带 -)→ 停止解析
    - u 101 被忽略
    - userId 保持为 DEFAULT_INVAL_VALUE(-1)
  2. 传递给服务端:
    - StartAbility(want, ..., userId=−1)
  3. 服务端 (ability_manager_service.cpp:693):
  if (userId == DEFAULT_INVAL_VALUE) {
      userId = GetValidUserId(userId);  // 返回当前用户ID(通常是100)
  }
  4. 结果:
    - userId 被转换为当前用户(100)
    - 应用在用户 100 下启动

See merge request: openharmony/ability_ability_runtime!18760
2026-03-28 19:51:27 +08:00
liuzongze 8ae7d02932 aa tset 新增 userID
Signed-off-by: liuzongze <liuzongze@h-partners.com>
Change-Id: I533c09f7b57b958e0f774712a6704b2ae5b76868
2026-03-28 10:03:11 +08:00
openharmony_ci 4c2fcafbc8 !18778 merge wa2 into master
add innerapi for getWant

Created-by: RuiChen_01
Commit-by: RuiChen_01
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!18778
2026-03-27 11:36:09 +08:00
RuiChen_01 eb44b0f765 add innerapi for getWant
Co-Authored-By: Agent
Signed-off-by: RuiChen_01 <chenrui193@huawei.com>
2026-03-26 22:32:05 +08:00
hlzhangaj e62a81eb56 change api 24 to 26
Signed-off-by: hlzhangaj <zhanghanlin16@h-partners.com>
2026-03-26 13:55:27 +08:00
Luobniz21 b7a7e861f0 test: add TDD test cases for aa start -u and -W options
1. Test for -u and -W option combination
   - Aa_Command_Start_5600: Verify userId is ignored with -W option

2. Test for -s option (windowMode)
   - Aa_Command_Start_5700: Verify windowMode option branch

3. Test for -W option
   - Aa_Command_Start_5800: Verify wait option branch

Also fixes extra closing bracket in the file.

Signed-off-by: DESKTOP-OM7VPQB\Luobniz <luoyicong@h-partners.com>
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-03-25 16:35:45 +08:00
Luobniz21 81cf4b95fe aa start: validate -u option and reject unknown positional arguments
1. Add check for remaining positional arguments after option parsing
   - Detect and reject unknown arguments like "u 101"
   - Prevent silent ignoring of invalid parameters

2. Improve -u option validation
   - Return error immediately when userId is invalid
   - Reject non-numeric and negative userId values

Signed-off-by: DESKTOP-OM7VPQB\Luobniz <luoyicong@h-partners.com>
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-03-25 16:35:07 +08:00