用户诉求:仓库为安全起见把含密钥/口令的构建配置排除在版本库外,
但他人克隆代码后需要自行补齐才能构建,应在说明文件里讲清:
补什么文件、什么格式、在哪个文件里填、这些信息怎么申请。
新增内容:
- 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 与模板不含任何口令、密钥或本机绝对路径。
90 lines
2.8 KiB
JSON
90 lines
2.8 KiB
JSON
/**
|
||
* 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"
|
||
]
|
||
}
|
||
]
|
||
}
|
||
]
|
||
} |