HarmonyOS NEXT 詩詞元服務項目開發上架全流程實戰(二、元服務與應用APP簽名打包步驟詳解)

在HarmonyOS應用開發過程中,發布應用到應用市場是一個重要的環節。沒經歷過的童鞋,首次對HarmonyOS的應用簽名打包上架可能感覺繁瑣。需要各種秘鑰證書生成和申請,混在一起分不清。其實搞清楚后也就那會事,各個文件都有它存在的作用。為了確保應用的安全性和可信度,開發者需要遵循一定的步驟和流程來完成簽名、打包和發布。本文將詳細說明這些步驟以及每種文件的作用,幫助開發者順利完成HarmonyOS應用的發布。

流程概述

開發者完成HarmonyOS應用/服務開發后,需要將應用/服務打包成App Pack(.app文件),用于上架到AppGallery Connect(華為應用市場)。發布應用/服務的流程如下圖所示:

在這里插入圖片描述
下述內容,注意區分 p12, csr, cer, p7b等文件,搞清楚了這幾個文件后打包簽名太簡單了。

一、申請發布證書cer

證書是為HarmonyOS應用/元服務配置簽名信息的數字證書,可保障軟件代碼完整性和發布者身份真實性。證書格式為.cer,包含公鑰、證書指紋等信息。

注意事項:

  1. 每個賬號最多可申請3個發布證書。
  2. 若Profile狀態變為“失效”或“已吊銷”,表示當前Profile已不可用,您需要重新申請Profile。

前置條件:
申請發布證書,是需要登錄AppGallery Connect網站的。登錄后選擇“證書、APP ID和Profile”,在左側導航欄選擇“證書、APP ID和Profile > 證書”,進入“證書”頁面,點擊“新增證書”,選擇證書類型和上述步驟生成的CSR文件,點擊提交即可創建cer證書

AppGallery Connect網站是華為提供的一個一站式服務平臺,旨在為開發者提供移動應用的全生命周期服務,包括應用創意、開發、分發、運營和分析等各個環節。

?AppGallery Connect網站地址:
https://developer.huawei.com/consumer/cn/agconnect/

需要注意的是:在申請前,需要現在本機,即你的dev studio開發IDE中,先生成你的私鑰和證書請求文件csr。注意記住你的密碼。在IDE的build菜單中,選取key和證書請求文件生成。
創建CSR文件和p12文件:
在這里插入圖片描述
在這里插入圖片描述
Alias:密鑰的別名信息,用于標識密鑰名稱。請記住該別名,后續簽名配置需要使用。
Password:密鑰對應的密碼,與密鑰庫密碼保持一致,無需手動輸入。

單擊OK按鈕,創建CSR文件成功,可以在存儲路徑下獲取生成的密鑰庫文件(.p12)和證書請求文件(.csr)。
拿到了這個csr文件,登錄AppGallery Connect網站后方可操作下載cer證書。

二、申請發布Profile

Profile文件是應用簽名時用于存儲證書鏈的文件格式,通常用于存儲根證書、中間證書和最終用戶證書。它描述了應用的包名、數字證書信息、權限列表等。每個HarmonyOS應用/元服務包中均必須包含一個Profile文件。

Profile文件類型:

  • 調試Profile: 適用于調試環境,允許使用多個調試設備或在斷網情況下調試。
  • 發布Profile: 適用于正式發布環境,確保應用的安全性和可信來源。
三、打包簽名APP

開發者完成HarmonyOS應用/服務開發后,需要將應用/服務打包成App Pack(.app文件),用于上架到AppGallery Connect。打包過程需要使用發布證書和Profile文件對應用/服務進行簽名。不簽名是無法安裝的。當然在模擬器中可以不用簽名,真機上都需要簽名,無論是debug還是release版本都需要簽名方能安裝。

下面介紹下簽名步驟:
在IDE的 File > Project Structure > Project > Signing Configs窗口中,取消勾選“Automatically generate signature”(如果是HarmonyOS應用,請勾選“Support HarmonyOS”),然后配置工程的簽名信息。

在這里插入圖片描述
看到了吧:你的密碼,你生成的p12文件,和從網站上下載的證書文件cer, 每個應用單獨的p7b文件都派上用處了。注意,前面的都能復用,唯獨p7b文件可是每個應用需要單獨一個。從AppGallery Connect網站后臺創建并下載得來。也就是說,你要發布應用或元服務,需要先在后臺創建一個應用信息,并下載下來p7b文件方可打包簽名。

四、發布元服務

元服務是指HarmonyOS中可被其他應用發現和調用的服務。發布元服務同樣需要經過簽名和打包步驟,最終通過AppGallery Connect發布。

各種證書和文件的用途詳解

在HarmonyOS應用上架過程中,涉及到多種秘鑰和證書文件,每種文件都有其特定的用途。

  1. P12文件

    • 用途: P12文件是一種包含私鑰和證書的二進制文件格式,主要用于應用簽名。
    • 場景: 當需要為應用生成簽名時,需使用該文件。
  2. CSR文件

    • 用途: CSR(Certificate Signing Request)文件是證書簽名請求文件,包含公鑰和申請者身份信息。
    • 場景: 向證書頒發機構申請證書時,會先生成CSR文件并提交。
  3. CER文件

    • 用途: CER文件為數字證書,通常包含公鑰和持有者的信息,用于驗證應用的簽名。
    • 場景: 從CA獲取到證書時,會得到一個CER文件,該文件需要在應用上架時提供。
  4. P7B文件

    • 介紹: P7B文件是一種包含證書鏈的文件格式,通常用于存儲根證書、中間證書和最終用戶證書。
    • 用途: 應用簽名時,可能需要包含完整的證書鏈以確保信任。Profile格式為.p7b,描述了應用的包名、數字證書信息、權限列表等,必不可少。
形象化解釋

通過以下比喻來幫助記憶和理解這些證書和文件之間的關系和作用:

  • 密鑰庫文件(P12文件) - “保險箱和鑰匙”
    比喻為一個“保險箱”,里面存放著我們最重要的資產——私鑰和證書。在應用發布時,這個“保險箱”是必不可少的,它確保我們的應用是安全的,來自可信的來源。“鑰匙”就是我們用來打開這個保險箱的密碼,只能由我們自己掌握。

  • 證書請求文件(CSR文件) - “申請表”
    可以將CSR文件比喻為申請一個新的銀行賬戶時需要填寫的“申請表”。這個表格包含了我們的身份信息(公鑰和其他識別信息),當我們想要向證書頒發機構申請正式的“身份證明”(數字證書)時,就需要提交這個“申請表”。

  • 數字證書文件(CER文件) - “身份證”
    CER文件就像是我們的“身份證”。當我們通過申請表(CSR)獲得了這個證書,它就證明了我們的身份。這個“身份證”用于驗證我們所發布的應用的合法性和來源,讓用戶(或者操作系統)相信這個應用是安全的。

  • 證書鏈文件(P7B文件) - “身份背景調查”
    P7B文件可以看作是一個“身份背景調查報告”。它包含了多個證書的信息(根證書、中間證書等),這些證書共同確保了我們所持有的“身份證”是有效的,避免了偽造的可能性。當我們要展示我們的身份時,這份調查報告為認證提供了更強的信任。

總結

通過上述步驟和文件的介紹,相信各位開發者對于如何將HarmonyOS應用/元服務發布AppGallery Connect有了更清晰的認識。希望這篇博文能夠為各位開發者提供幫助,順利完成應用的簽名、打包和發布。

作者介紹

作者:csdn貓哥

原文鏈接:https://blog.csdn.net/yyz_1987,轉載請注明出處。

團隊介紹

堅果派團隊由堅果等人創建,團隊擁有12個華為HDE帶領熱愛HarmonyOS/OpenHarmony的開發者,以及若干其他領域的三十余位萬粉博主運營。專注于分享HarmonyOS/OpenHarmony、ArkUI-X、元服務、倉頡等相關內容,團隊成員聚集在北京、上海、南京、深圳、廣州、寧夏等地,目前已開發鴻蒙原生應用和三方庫60+,歡迎交流。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/77681.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/77681.shtml
英文地址,請注明出處:http://en.pswp.cn/web/77681.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

【BotSharp框架示例 ——實現聊天機器人,并通過 DeepSeek V3實現 function calling】

BotSharp框架示例 ——實現聊天機器人,并通過 DeepSeek V3實現 function calling 一、一點點感悟二、創建項目1、創建項目2、添加引用3、MyWeatherPlugin項目代碼編寫4、WeatherApiDefaultService項目代碼編寫5、WebAPI MyWeatherAPI 的項目代碼編寫6、data文件夾中…

百度CarLife實現手機車機無縫互聯

百度CarLife是百度推出的智能車聯網解決方案,通過手機與車機互聯技術,為用戶提供安全便捷的車載互聯網服務體驗。 CarLife 實現手機與車機屏幕的無縫互聯,讓應用內容同步至車載系統,減少駕駛過程中操作手機的頻率,提升…

基于STM32的虛線繪制函數改造

改造前: uint16_t DrawLine(uint16_t x1, uint16_t y1, uint16_t x2, uint16_t y2) { // GUI_DrawLine( x1, y1, x2, y2); // return 1;int16_t deltaX, deltaY;int16_t error, stepErrorLT, stepErrorGE;int16_t stepX, stepY;int16_t steep;int16_t…

Java高頻面試之并發編程-10

hello啊,各位觀眾姥爺們!!!本baby今天來報道了!哈哈哈哈哈嗝🐶 面試官:ThreadLocalMap 怎么解決 Hash 沖突的? ThreadLocalMap 是 ThreadLocal 的核心實現,它采用 開放…

AI應用實戰:Excel表的操作工具

有個小需求是這樣的,需要在一份數據表里,將1000多個客戶的月報數據分別單獨截圖存檔,有客戶需要的時候就要發給客戶,截圖下來的也是以客戶為命名,這樣查找時也比較容易匹配上。 在沒有寫工具之前,以往財務…

使用 DoH 查詢域名 —— 以 core.tantanapp.com 為例的實戰分析

前言 在現代 iOS 應用中,為了確保 DNS 查詢的隱私和完整性,我們可以使用 DoH(DNS over HTTPS) 來查詢域名信息。 本文將以 https://cloudflare-dns.com/dns-query?namecore.tantanapp.com&typeA 為例,通過 Postm…

Python----卷積神經網絡(卷積為什么能識別圖像)

一、卷積的概念 卷積是一種數學運算,通常用于信號處理和圖像分析。在卷積神經網絡中,卷積操作用于提取輸入數據(如圖像)中的特征。通過將輸入數據與卷積核(濾波器)進行卷積運算,CNN能夠識別圖像…

linux FTP服務器搭建

FTP服務器搭建 系統環境:ubuntu 搭建方式:win系統下通過ssh連接ubuntu,搭建FTP服務 一、ssh連接 ssh -p 端口 用戶名IP ssh -p 22 ubuntu192.168.1.109 密碼:ubuntu123456 二、安裝配置FTP服務器 1、安裝 sudo apt install v…

語音合成之十韻律之美:TTS如何模擬語音的節奏和語調

韻律之美:TTS如何模擬語音的節奏和語調 1. 引言:韻律在語音合成中的重要性1.1 追求自然的TTS:超越可懂度1.2 定義韻律:語音的音樂1.3 韻律為何重要:傳遞意義、情感與自然度 2. TTS韻律建模的基礎技術2.1 利用文本&…

基于強化學習的用于非剛性圖像配準的引導式超聲采集|文獻速遞-深度學習醫療AI最新文獻

Title 題目 Guided ultrasound acquisition for nonrigid image registration usingreinforcement learning 基于強化學習的用于非剛性圖像配準的引導式超聲采集 01 文獻速遞介紹 超聲成像通常用于引導手術和其他醫療程序,在這些過程中,臨床醫生會持…

數據庫中DDL、DML、DCL的區別是什么?

數據庫中DDL、DML、DCL的區別是什么? 在數據庫的使用過程中,SQL(結構化查詢語言)常常被用來執行不同的操作,主要分為三類:DDL(數據定義語言)、DML(數據操縱語言&#xf…

海量聊天消息處理:ShardingJDBC分庫分表、ClickHouse冷熱數據分離、ES復合查詢方案、Flink實時計算與SpringCloud集成

海量聊天消息處理:ShardingJDBC分庫分表、ClickHouse冷熱數據分離、ES復合查詢方案、Flink實時計算與SpringCloud集成 一、背景介紹 每天有2000萬條聊天消息,一年下來幾千萬億海量數據。為應對這種規模的數據存儲和處理需求,本文將從以下幾…

Vim 中替換字符或文本

在 Vim 中替換字符或文本可以使用 替換命令(substitute),其基本語法為: :[range]s/old/new/[flags]1. 基本替換 命令說明:s/foo/bar/替換當前行的第一個 foo 為 bar:s/foo/bar/g替換當前行的 所有 foo 為 bar:%s/foo/bar/g替換 …

當傳統美術館遇上數字革命:觀眾體驗將迎來哪些顛覆性變革?

當數字科技與藝術創作深度交織,美術館與藝術機構正經歷前所未有的顛覆性浪潮。這是否宣告傳統展覽空間已正式跨入數字媒介主導的新紀元?投影映射與虛擬現實技術不斷突破物理限制,畫布與雕塑的邊界在光影與代碼中逐漸消融。這場革命不僅重構了…

內容/社區APP增長:用Deeplink讓用戶分享的內容“一鍵直達”

對于內容平臺和互動社區APP而言,優質內容的自發傳播是用戶增長和活躍度提升的核心驅動力之一。用戶發現一篇深度好文、一個精彩視頻或是一個引人入勝的討論帖,自然而然地想要分享給好友。然而,這個看似簡單的分享動作,卻往往在觸達…

Uniapp:vite.config.js全局配置

目錄 一、基本概述二、配置自動引入插件一、基本概述 vite.config.js 是一個可選的配置文件,如果項目的根目錄中存在這個文件,那么它會被自動加載,一般用于配置 vite 的編譯選項 二、配置自動引入插件 在項目命令行終端中執行如下代碼 npm install unplugin-auto-import…

JavaScript 與 Java 學習筆記

一、JavaScript 簡介 1. 定義 瀏覽器腳本語言:主要用于實現網頁交互功能(鼠標點擊、鍵盤輸入響應等) 服務器端擴展:通過 Node.js 運行時環境可進行后端開發 2. 核心特點 動態性:可實時修改 DOM 結構(增…

Shell腳本-隨機數實戰案例

在Shell腳本編程中,生成隨機數是一項非常實用的技能。無論是用于模擬、測試、游戲開發還是安全相關的應用(如生成密碼),能夠靈活地生成隨機數都是非常有用的。本文將通過幾個實際的應用案例來展示如何在Shell腳本中使用隨機數解決…

面試算法高頻08-動態規劃-03

練習題 題目描述 你是一個專業的小偷,計劃偷竊沿街的房屋。每間房內都藏有一定的現金,影響你偷竊的唯一制約因素就是相鄰的房屋裝有相互連通的防盜系統,如果兩間相鄰的房屋在同一晚上被小偷闖入,系統會自動報警。 給定一個代表每…

基于 EFISH-SBC-RK3588 的無人機多光譜/紅外熱成像邊緣計算方案

一、硬件架構設計? ?核心算力平臺(EFISH-SBC-RK3588)? ?處理器性能?:搭載 8 核 ARM 架構(4Cortex-A762.4GHz 4Cortex-A551.8GHz),集成 6 TOPS NPU 與 Mali-G610 GPU,支持多光譜圖像實時融…