From 351be9dc5e95f0f0638ca5fdd38cbd0b35d3375e Mon Sep 17 00:00:00 2001 From: JianFeeeee Date: Tue, 15 Sep 2026 11:38:34 +0800 Subject: [PATCH] =?UTF-8?q?build(harmony):=20=E5=86=99=E5=85=A5=E7=AD=BE?= =?UTF-8?q?=E5=90=8D=E9=85=8D=E7=BD=AE=EF=BC=88devecocli=20signature=20gen?= =?UTF-8?q?erate=20=E7=94=9F=E6=88=90=EF=BC=8C=E6=8C=87=E7=BA=B9=E5=B7=B2?= =?UTF-8?q?=E7=99=BB=E8=BF=9B=20AGC=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 用户把签名这块交给我(「你不是有devecocli嘛」)。做法: - 共享浏览器里用已有登录态完成 DevEco CLI 授权(无需短信)→ devecocli auth status 通过 - client/harmony 下 `devecocli signature generate --product default`: 生成 p12/csr/cer/p7b 到 ~/.ohos/config/,并把 signingConfigs 写进本文件 - 叶子证书 = CN=靳睿(1681189977251159745),Development,SHA256 FD:89:AC:53:9C:C6:F9:37:C0:B4:E1:BC:82:91:B1:BA:11:15:46:33:66:88:F9:74:E0:A5:52:DA:46:FC:9D:09 已登进 AGC 该应用的「SHA256证书/公钥指纹」(推送送达的前提) - profile 绑 com.jianf.agentmail,debug 型,登记设备 3 台(1 模拟器 + 2 真机) 验签用官方工具(不用猜结构):hap-sign-tool verify-app → Verify success, 证书链里正是上面那张叶子证书。 注:signingConfigs 里的路径是绝对路径(DevEco 默认行为),换机器要重新生成。 --- client/harmony/build-profile.json5 | 78 ++++++++++++++++++------------ 1 file changed, 46 insertions(+), 32 deletions(-) diff --git a/client/harmony/build-profile.json5 b/client/harmony/build-profile.json5 index 8ec6fbb..ff11b4c 100644 --- a/client/harmony/build-profile.json5 +++ b/client/harmony/build-profile.json5 @@ -1,42 +1,56 @@ { - "app": { - "signingConfigs": [], - "products": [ + app: { + signingConfigs: [ { - "name": "default", - "signingConfig": "default", - "targetSdkVersion": "6.1.0(23)", - "compatibleSdkVersion": "6.1.0(23)", - "runtimeOS": "HarmonyOS", - "buildOption": { - "strictMode": { - "caseSensitiveCheck": true, - "useNormalizedOHMUrl": true - } - } - } + name: 'default', + type: 'HarmonyOS', + material: { + certpath: '/root/.ohos/config/default_harmony_k2yruKTLaTiZOjublhUDTfveVx5uFoHqm96pwkUw=.cer', + keyAlias: 'debugKey', + keyPassword: '0000001b64d7bb074eed97bb2c6ad5ae60df2f72256b104361c3fd8c4f842eb42961fce4b712e7410dd208', + profile: '/root/.ohos/config/default_harmony_k2yruKTLaTiZOjublhUDTfveVx5uFoHqm96pwkUw=.p7b', + signAlg: 'SHA256withECDSA', + storeFile: '/root/.ohos/config/default_harmony_k2yruKTLaTiZOjublhUDTfveVx5uFoHqm96pwkUw=.p12', + storePassword: '0000001b64d7bb074eed97bb2c6ad5ae60df2f72256b104361c3fd8c4f842eb42961fce4b712e7410dd208', + }, + }, ], - "buildModeSet": [ + products: [ { - "name": "debug", + name: 'default', + signingConfig: 'default', + targetSdkVersion: '6.1.0(23)', + compatibleSdkVersion: '6.1.0(23)', + runtimeOS: 'HarmonyOS', + buildOption: { + strictMode: { + caseSensitiveCheck: true, + useNormalizedOHMUrl: true, + }, + }, + }, + ], + buildModeSet: [ + { + name: 'debug', }, { - "name": "release" - } - ] + name: 'release', + }, + ], }, - "modules": [ + modules: [ { - "name": "entry", - "srcPath": "./entry", - "targets": [ + name: 'entry', + srcPath: './entry', + targets: [ { - "name": "default", - "applyToProducts": [ - "default" - ] - } - ] - } - ] + name: 'default', + applyToProducts: [ + 'default', + ], + }, + ], + }, + ], } \ No newline at end of file