鴻蒙應(yīng)用打包上架流程
創(chuàng)建應(yīng)用
新建項(xiàng)目
1.在 AppGalleryConnect,我的項(xiàng)目,添加項(xiàng)目。

新建APP ID
1.在 AppGalleryConnect,證書、APP ID 和 Profile 中。

選擇所屬項(xiàng)目

新建應(yīng)用/元服務(wù)
在 APP ID 右側(cè),點(diǎn)擊發(fā)布, 會(huì)彈出發(fā)布 HarmonyOS應(yīng)用/元服務(wù)

按提示填寫應(yīng)用信息,上傳應(yīng)用圖標(biāo),選擇應(yīng)用分類、標(biāo)簽,點(diǎn)擊下一步
上傳打包 App(見(jiàn)下方)。
填寫應(yīng)用信息,公司信息等。需要注意的是,App 需要提供軟著,元服務(wù)則不需要。
打包簽名
自動(dòng)簽名
如果是開(kāi)發(fā)和測(cè)試,可以使用自動(dòng)簽名。(File -> Project Structure -> Signing Configs 勾選 Automatically generate signature)
如果是打包上架,則需要手動(dòng)簽名
打開(kāi)Deveco,依次執(zhí)行以下操作
- 在主菜單欄單擊 Build > Generate Key and CSR

2.如果沒(méi)有創(chuàng)建 Key Store,則點(diǎn)擊 New 創(chuàng)建一個(gè)

選擇需要存儲(chǔ)的目錄(文件擴(kuò)展名使用.p12),輸入密碼8位以上的復(fù)雜密碼,點(diǎn)擊 OK。
3.設(shè)置 Key 的別名

點(diǎn)擊 Next 進(jìn)入下一步

設(shè)置 CSR 存儲(chǔ)位置,注意文件名需要用 .csr 做為擴(kuò)展名。
點(diǎn)擊 Finished, 會(huì)創(chuàng)建 .p12密鑰庫(kù)文件以及 證書請(qǐng)求.csr 等文件。

登錄 [AppGallery Connect], 執(zhí)行以下操作
1.點(diǎn)擊 證書、App ID 和 Profile,在證書一欄,點(diǎn)擊“新增證書”,上傳上面創(chuàng)建的 CSR 文件,將生成 cer 文件,
點(diǎn)擊下載按鈕,將該證書文件保存,待 APP 打包使用。

2.證書、App ID 和 Profile 中的 Profile一欄,點(diǎn)擊添加,創(chuàng)建 Profile 文件,選擇剛才創(chuàng)建的證書

打包 App
在 Deveco中,打開(kāi) File -> Project Structure -> Signing Configs, 默認(rèn)會(huì)有一個(gè)創(chuàng)建過(guò)的 default 簽名配置,點(diǎn)擊 + 添加按鈕,

以此選擇上面創(chuàng)建的 .p12文件、.p7b文件,以及下載的 .cer 文件,輸入密碼, 點(diǎn)擊 Apply 生成配置。

點(diǎn)擊紅框處的 Product ?? 按鈕,Build model 選擇 release, 同時(shí) build-profile.json5 文件中配置使用哪個(gè)簽名
"products": [
{
"name": "default",
"signingConfig": "release",
}
]

點(diǎn)擊 Build-> Build Hap(s)/APP(s), 選擇 Build APP(s), 開(kāi)始 APP 打包。
打包成功后,會(huì)在項(xiàng)目根目錄的 build/outputs/default 生成 .app文件,即為我們要在應(yīng)用市場(chǎng)上傳的文件包
常見(jiàn)問(wèn)題
軟件包解析失敗,詳細(xì)信息點(diǎn)擊軟件包管理列表中的錯(cuò)誤碼查看,請(qǐng)按照指導(dǎo)重新打包上傳。
993,Profile文件非法
檢查簽名配置文件,是否使用是 release 配置
build-profile.json5
如下面的配置,這里添加了兩個(gè)簽名配置,一個(gè)用于開(kāi)發(fā)調(diào)度,一個(gè)用于打包上架
"signingConfigs": [
{
"name": "default",
"type": "HarmonyOS",
"material": {
"certpath": "xx",
"storePassword": "xxx.cert",
"keyAlias": "debugKey",
"keyPassword": "xxx",
"profile": "xxx.p7b",
"signAlg": "SHA256withECDSA",
"storeFile": "xxx.p12"
}
},
{
"name": "release",
"type": "HarmonyOS",
"material": {
"certpath": "xx",
"storePassword": "xxx.cert",
"keyAlias": "release",
"keyPassword": "xxx",
"profile": "xxx.p7b",
"signAlg": "SHA256withECDSA",
"storeFile": "xxx.p12"
}
}
],
"products": [
{
"name": "default",
"signingConfig": "release",
"compatibleSdkVersion": "5.0.0(12)",
"runtimeOS": "HarmonyOS",
"buildOption": {
"strictMode": {
"caseSensitiveCheck": true,
"useNormalizedOHMUrl": true
}
}
}
],
在打包上架時(shí),需要確保上面的 signingConfig 使用的是 name 為 release的簽名配置
參考資料
-[應(yīng)用/服務(wù)簽名]
著作權(quán)歸作者所有。商業(yè)轉(zhuǎn)載請(qǐng)聯(lián)系作者獲得授權(quán),非商業(yè)轉(zhuǎn)載請(qǐng)注明出處。