Skip to content
Back to skills

Hmos Wear Engine Kit Configure Client Id

ASecurity

为HarmonyOS应用配置Wear Engine Kit的Client ID,在module.json5文件中添加metadata配置,确保应用能够正常使用穿戴服务功能,适用于穿戴设备应用开发场景

  • 2 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added September 22, 2026
developmentgitapi

Works with

  • cli
  • api

Security analysis

A100/100

Pro scans all 4 files and shows the line behind each finding

Scanned September 22, 2026

npx -y skills add IsKenKenYa/skills --skill hmos-wear-engine-kit-configure-client-id --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Hmos Wear Engine Kit Configure Client Id?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Hmos Wear Engine Kit Configure Client Id
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/iskenkenya-hmos-wear-engine-kit-configure-client-id/badge)](https://www.skillsdirectory.com/skills/iskenkenya-hmos-wear-engine-kit-configure-client-id)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: hmos-wear-engine-kit-configure-client-id
description: 为HarmonyOS应用配置Wear Engine Kit的Client ID,在module.json5文件中添加metadata配置,确保应用能够正常使用穿戴服务功能,适用于穿戴设备应用开发场景
---

# 配置Client ID技能

## 功能描述

为HarmonyOS应用配置Wear Engine Kit的Client ID,通过在工程entry模块的module.json5文件中添加metadata配置,实现应用与华为穿戴服务的集成。该配置是使用Wear Engine Kit功能的前置条件,确保应用能够被正确识别和授权。

## 使用场景

### 触发词
- "配置Client ID"
- "配置穿戴服务Client ID"
- "Wear Engine Kit配置"
- "设置client_id"

### 能做
- 从AppGallery Connect平台获取应用的Client ID
- 在module.json5文件中正确配置Client ID
- 验证配置是否生效

### 绝不做
- 不涉及实际的API调用
- 不处理除Client ID配置外的其他配置
- 不修改除module.json5外的其他配置文件

### 补充
- 该配置是使用Wear Engine Kit功能的必要前提
- 需要先在AppGallery Connect平台创建应用并获取Client ID
- 配置完成后需要重新编译应用

## 调用规范和规则

### 输入约束
- Client ID值:必须是有效的字符串,从AppGallery Connect平台获取
- module.json5文件:必须存在且格式正确
- 应用类型:必须是entry类型的模块

### 执行约束
- 配置时间:小于1分钟
- 操作步骤:固定2步
- 文件修改:仅修改module.json5文件

### 内容约束
- 禁止修改或删除其他metadata配置
- 禁止配置无效或空的Client ID
- 禁止在非entry模块中配置

### 降级约束
- AppGallery Connect无法访问:提示用户检查网络连接
- Client ID获取失败:提供获取流程指导
- 配置文件损坏:提供备份恢复方案

## 调用流程和步骤

### 步骤1:获取Client ID

**前置校验**:
1. 验证是否有AppGallery Connect账号
2. 验证应用是否已在平台创建
3. 验证网络连接是否正常

**操作说明**:
1. 登录[AppGallery Connect](https://developer.huawei.com/consumer/cn/service/josp/agc/index.html)平台
2. 在"开发与服务"中选择目标应用
3. 进入"项目设置 > 常规 > 应用"
4. 复制Client ID值

**注意事项**:
- 确保选择正确的应用项目
- Client ID区分大小写,复制时不要修改
- 建议保存Client ID备份

### 步骤2:配置module.json5文件

**配置示例**:
```json
{
  "module": {
    "name": "entry",
    "type": "entry",
    "description": "$string:module_desc",
    "mainElement": "EntryAbility",
    "deviceTypes": [],
    "pages": "$profile:main_pages",
    "abilities": [],
    "metadata": [
      {
        "name": "client_id",
        "value": "您从AppGallery Connect获取的Client ID"
      }
    ]
  }
}
```

**配置说明**:
1. 打开工程中entry模块的module.json5文件
2. 在`module`对象中找到或创建`metadata`数组
3. 添加一个metadata对象:
   - `name`字段设置为`"client_id"`
   - `value`字段设置为从AppGallery Connect获取的Client ID值
4. 保存文件

**参数说明**:
- `name`:固定值`"client_id"`,表示配置的类型
- `value`:Client ID的实际值,从AppGallery Connect获取

### 步骤3:验证配置

**验证步骤**:
1. 确认module.json5文件格式正确(JSON格式验证)
2. 确认metadata配置在正确的位置
3. 确认Client ID值已正确填写
4. 重新编译应用确保配置生效

## 错误码说明

| 错误码 | 说明 | 解决方法 |
|-------|------|---------|
| CONFIG_FILE_NOT_FOUND | module.json5文件不存在 | 检查文件路径是否正确,确认entry模块是否存在 |
| INVALID_JSON_FORMAT | JSON格式错误 | 使用JSON格式化工具检查文件格式,修复语法错误 |
| MISSING_CLIENT_ID | Client ID为空或无效 | 从AppGallery Connect重新获取Client ID |
| METADATA_ALREADY_EXISTS | metadata配置已存在 | 检查是否重复配置,更新现有配置 |
| MODULE_TYPE_ERROR | 模块类型不是entry | 确认当前模块类型,仅在entry模块中配置 |

## 编译和修复问题

### 依赖声明
无需额外依赖库,配置为HarmonyOS应用标准配置项。

### 环境要求
- DevEco Studio:3.0或更高版本
- HarmonyOS SDK:API 8或更高版本
- 应用类型:entry模块

### 常见编译问题

**问题1:module.json5文件格式错误**
```
Error: Invalid JSON format in module.json5
```
**解决方法**:
- 使用JSON格式化工具检查文件格式
- 确保所有字段使用双引号
- 检查逗号和括号是否匹配

**问题2:metadata配置未生效**
```
Client ID not found or invalid
```
**解决方法**:
- 确认配置在正确的entry模块中
- 检查Client ID值是否正确复制
- 清理项目并重新编译

**问题3:配置后应用无法启动**
```
Application failed to start
```
**解决方法**:
- 检查Client ID是否与应用包名匹配
- 确认AppGallery Connect中的应用配置是否正确
- 查看日志获取详细错误信息

## 常见问题与解决方法

### Q1:如何获取Client ID?
**原因**:用户不熟悉AppGallery Connect平台操作
**解决方法**:
- 登录AppGallery Connect平台
- 选择目标应用
- 进入"项目设置 > 常规 > 应用"
- 查看并复制Client ID

### Q2:Client ID配置在哪里?
**原因**:不清楚配置文件位置
**解决方法**:
- 配置文件位于entry模块的module.json5
- 路径通常为:`entry/src/main/module.json5`
- 在module对象的metadata数组中添加配置

### Q3:配置后还是无法使用穿戴服务?
**原因**:可能存在其他前置条件未满足
**解决方法**:
- 确认已在AppGallery Connect中开通穿戴服务
- 检查应用签名是否正确
- 确认设备支持穿戴服务功能
- 查看应用日志排查具体错误

### Q4:可以配置多个Client ID吗?
**原因**:不清楚配置规则
**解决方法**:
- 一个应用只需配置一个Client ID
- 如果metadata数组中已有client_id配置,直接更新value值即可
- 不要重复添加同名配置

### Q5:Client ID泄露了怎么办?
**原因**:安全意识问题
**解决方法**:
- Client ID不是密钥,可以公开
- 如有安全顾虑,可在AppGallery Connect重新生成
- 更新配置文件中的Client ID值

## 输出结果报告

执行完成后输出以下信息:

```json
{
  "status": "success",
  "configFile": "entry/src/main/module.json5",
  "configItem": "metadata.client_id",
  "clientIDConfigured": true,
  "nextSteps": [
    "重新编译应用",
    "验证穿戴服务功能是否正常"
  ]
}
```

## 参考文档

- [API开发指南](references/configuration_client_id.md)

## 完整示例代码

- [module.json5配置示例](assets/module.json5)

## 测试用例

### 正向测试用例
- [正常配置Client ID](tests/test_positive.py):在空的metadata数组中添加client_id配置
- [更新Client ID配置](tests/test_positive.py):在已有metadata中更新client_id值

### 边界测试用例
- [超长Client ID值](tests/test_boundary.py):测试最大长度的Client ID
- [特殊字符Client ID](tests/test_boundary.py):测试包含特殊字符的Client ID

### 异常测试用例
- [空Client ID值](tests/test_exception.py):测试空字符串的情况
- [错误的文件路径](tests/test_exception.py):测试module.json5文件不存在的情况
- [JSON格式错误](tests/test_exception.py):测试module.json5文件格式错误的情况

Files in this skill

  • SUB_SKILL.md7.3 KB
  • assets/module.json5966 B
  • assets/module_json5_template.json962 B

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…