docs: README 补充自行构建的签名配置说明,并修正过时描述

用户诉求:仓库为安全起见把含密钥/口令的构建配置排除在版本库外,
但他人克隆代码后需要自行补齐才能构建,应在说明文件里讲清:
补什么文件、什么格式、在哪个文件里填、这些信息怎么申请。

新增内容:
- README「📦 构建与运行」重写为四节:准备工程 / 首次构建补签名配置 /
  编译运行 / 打上架包(.app)
- 「首次构建」一节详述:
  · 需要的 4 个文件(.p12 密钥库 / .cer 证书 / .p7b Profile / 两个口令)
  · 两条申请途径 —— 途径A DevEco「Automatically generate signature」自动生成
    (真机调试用,只需实名认证的华为开发者账号);途径B 在 AGC 后台申请
    发布证书与发布 Profile(上架用,含 keytool 生成 CSR 的说明)
  · 填写位置与字段说明(signingConfigs[].material.* + products[0].signingConfig)
  · 明确「根 build-profile.json5 已 gitignore、勿提交;entry/build-profile.json5
    是模块级配置、必须保留」这一易混淆点
  · 附完整可抄的 JSON5 示例
- 新增 build-profile.example.json5 模板(占位符形式,无任何真实密钥与个人路径),
  用户可直接复制改名使用
- 打 .app 上架包章节补充 verify-app 需带 -inForm zip(否则误报 codesign block)

顺带修正 README 中已过时的描述(与上一轮代码改动保持一致):
- 版本号 0.0.3 → 0.0.6
- 「后台持续同步/长时任务 dataTransfer/常驻通知」→ 分层调度说明
  (前台按间隔 + 后台定时唤起(最短约2小时) + 回前台/网络恢复即时补同步)
- 权限列表移除已删除的 KEEP_BACKGROUND_RUNNING
- 目录结构中后台同步模块改为 BackgroundSyncRunner/BackgroundSyncService/
  NetworkSyncWatcher

安全:已扫描确认 README 与模板不含任何口令、密钥或本机绝对路径。
This commit is contained in:
2026-10-11 21:39:11 +08:00
parent 2b29f197e8
commit 68329c57a0
2 changed files with 264 additions and 14 deletions
+90
View File
@@ -0,0 +1,90 @@
/**
* build-profile.json5 模板(示例)
*
* 用法:
* 1. 把本文件复制为同目录下的 build-profile.json5
* 2. 按注释把 <尖括号> 内容替换成你自己的签名信息
* 3. 不要提交生成后的 build-profile.json5(它已在 .gitignore 中)
*
* 4 个签名文件(.p12 / .cer / .p7b ×2)需要放在仓库之外的任意目录,
* 这里用 D:/DevEcoSign/ 作为示例路径,请改成你自己的真实路径。
*
* 如何获取这些文件、在哪里填写,详见 README.md 的「📦 构建与运行 → 二、首次构建:先补上签名配置」。
*
* 最省事的替代方案:用 DevEco Studio 打开工程 →
* File → Project Structure → Project → Signing Configs →
* 勾选 "Automatically generate signature" 并登录华为开发者账号,
* IDE 会自动生成并填好本文件,无需手工编辑。
*/
{
"app": {
"signingConfigs": [
{
// ── 调试配置:真机安装 / 本地运行用这一项 ──
"name": "default",
"type": "HarmonyOS",
"material": {
"storeFile": "D:/DevEcoSign/<你的密钥库>.p12",
"storePassword": "<密钥库口令>",
"keyAlias": "<密钥别名>",
"keyPassword": "<私钥口令>",
"signAlg": "SHA256withECDSA",
"profile": "D:/DevEcoSign/<你的调试Profile>.p7b",
"certpath": "D:/DevEcoSign/<你的调试证书>.cer"
}
},
{
// ── 上架配置:打 .app 上架包用这一项(真机安装请勿使用)──
"name": "release",
"type": "HarmonyOS",
"material": {
"storeFile": "D:/DevEcoSign/<你的密钥库>.p12",
"storePassword": "<密钥库口令>",
"keyAlias": "<密钥别名>",
"keyPassword": "<私钥口令>",
"signAlg": "SHA256withECDSA",
"profile": "D:/DevEcoSign/<你的发布Profile>.p7b",
"certpath": "D:/DevEcoSign/<你的发布证书>.cer"
}
}
],
"products": [
{
"name": "default",
// 用哪套签名:真机安装填 "default";打上架包前改成 "release"
"signingConfig": "default",
"targetSdkVersion": "26.0.0",
"compatibleSdkVersion": "6.1.1(24)",
"runtimeOS": "HarmonyOS",
"buildOption": {
"strictMode": {
"caseSensitiveCheck": true,
"useNormalizedOHMUrl": true
}
}
}
],
"buildModeSet": [
{
"name": "debug"
},
{
"name": "release"
}
]
},
"modules": [
{
"name": "entry",
"srcPath": "./entry",
"targets": [
{
"name": "default",
"applyToProducts": [
"default"
]
}
]
}
]
}