鴻蒙Flutter實(shí)戰(zhàn):13-鴻蒙應(yīng)用打包上架流程

鴻蒙應(yīng)用打包上架流程

創(chuàng)建應(yīng)用

新建項(xiàng)目

1.在 AppGalleryConnect,我的項(xiàng)目,添加項(xiàng)目。

image.png

新建APP ID

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


image.png

選擇所屬項(xiàng)目

image.png

新建應(yīng)用/元服務(wù)

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

image.png

按提示填寫應(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í)行以下操作

  1. 在主菜單欄單擊 Build > Generate Key and CSR
image.png

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


image.png

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

3.設(shè)置 Key 的別名

image.png

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

image.png

設(shè)置 CSR 存儲(chǔ)位置,注意文件名需要用 .csr 做為擴(kuò)展名。

點(diǎn)擊 Finished, 會(huì)創(chuàng)建 .p12密鑰庫(kù)文件以及 證書請(qǐng)求.csr 等文件。

image.png

登錄 [AppGallery Connect], 執(zhí)行以下操作

1.點(diǎn)擊 證書、App ID 和 Profile,在證書一欄,點(diǎn)擊“新增證書”,上傳上面創(chuàng)建的 CSR 文件,將生成 cer 文件,

點(diǎn)擊下載按鈕,將該證書文件保存,待 APP 打包使用。

image.png

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

image.png

打包 App

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

image.png

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

image.png

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

"products": [
  {
    "name": "default",
    "signingConfig": "release",
  }
]
image.png

點(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)注明出處。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容