HarmonyOS 签名打包Hap(s)、App(s)

1. 基本概念

  HarmonyOS应用通过数字证书(.cer文件)和Profile文件(.p7b文件)来保证应用的完整性,数字证书和Profile文件可通过申请发布证书和Profile文件获取。
  申请数字证书和Profile文件前,首先需要通过DevEco Studio来生成密钥文件(.p12文件)和证书请求文件(.csr文件)。同时,也可以使用命令行工具的方式来生成密钥文件和证书请求文件。
  • 密钥:包含非对称加密中使用的公钥和私钥,存储在密钥库文件中,格式为.p12,公钥和私钥对用于数字签名和验证。
  • 证书请求文件:格式为.csr,全称为Certificate Signing Request,包含密钥对中的公钥和公共名称、组织名称、组织单位等信息,用于向AppGallery Connect申请数字证书。
  • 数字证书:格式为.cer,由华为AppGallery Connect颁发。
  • Profile文件:格式为.p7b,包含HarmonyOS应用的包名、数字证书信息、描述应用允许申请的证书权限列表,以及允许应用调试的设备列表(如果应用类型为Release类型,则设备列表为空)等内容,每个应用包中均必须包含一个Profile文件。

1.1.步骤

官方文档
HarmonyOS 签名打包Hap(s)、App(s)_第1张图片

1.2. 流程

官方文档-应用/服务发布
发布HarmonyOS应用
HarmonyOS 签名打包Hap(s)、App(s)_第2张图片

2. 基本操作

2.1. 密钥和证书请求文件

  使用DevEco Studio生成密钥和证书请求文件
  (1) 在主菜单栏点击Build > Generate Key and CSR。
HarmonyOS 签名打包Hap(s)、App(s)_第3张图片
  如果本地已有对应的密钥,无需新生成密钥,可以在Generate Key界面中点击下方的Skip跳过密钥生成过程,直接使用已有密钥生成证书请求文件。
  (2) 在Key Store File中,可以点击Choose Existing选择已有的密钥库文件;如果没有密钥库文件,点击New进行创建。下面以新创建密钥库文件为例进行说明。
HarmonyOS 签名打包Hap(s)、App(s)_第4张图片
HarmonyOS 签名打包Hap(s)、App(s)_第5张图片
HarmonyOS 签名打包Hap(s)、App(s)_第6张图片

2.1.1. 密钥(p12)

HarmonyOS 签名打包Hap(s)、App(s)_第7张图片
  密码必须至少包含8个字符,并包含以下任意两个字符:
  1.小写字母:a-z
  2.大写字母:A-Z
  3.数字:0-9
  4.特殊字符:“`~!@$%^ *()-=+\\[{}];:”,.>/
在这里插入图片描述
  名字和姓氏的值可以包含0到64个字符,仅包括大写字母、小写字母和空格。

2.1.2. 证书请求文件(csr)

HarmonyOS 签名打包Hap(s)、App(s)_第8张图片

2.2. 发布证书和Profile文件

AppGallery Connect
HarmonyOS 签名打包Hap(s)、App(s)_第9张图片
  通过生成的证书请求文件,向AppGallery Connect申请发布证书和Profile文件。
(1) 创建您的AGC项目;
(2) 创建HarmonyOS应用;
(3) 申请发布证书和Profile文件。

2.2.1. 应用发布证书

  一个账号最多可申请1个发布证书,2个调试证书。
(1)登录AppGallery Connect网站,在网站首页中点击“用户与访问”。
HarmonyOS 签名打包Hap(s)、App(s)_第10张图片
(2)在左侧导航栏点击“证书管理”,进入“证书管理”页面。
HarmonyOS 签名打包Hap(s)、App(s)_第11张图片
(3)点击“新增证书”,弹出“新增证书”窗口。
(4)在“新增证书”窗口中填写要申请的证书信息,点击“提交”。
HarmonyOS 签名打包Hap(s)、App(s)_第12张图片
  证书申请成功后,“证书管理”页面展示“证书名称”、“证书类型”,“失效日期”和“操作”列信息。
  在“操作”列点击“下载”,可下载证书。
  在“操作”列点击“废除”,且在弹出的“提示”窗口中点击“确认”,可废除证书。
  说明:如证书已过期,“失效日期”列展示“已于YYYY-MM-DD过期”。您可以下载或废除过期证书。
在这里插入图片描述
HarmonyOS 签名打包Hap(s)、App(s)_第13张图片

2.2.2. 添加设备

HarmonyOS 签名打包Hap(s)、App(s)_第14张图片

2.3. Profile文件

  一个账号最多可申请100个Profile文件。
(1)登录AppGallery Connect网站,在网站首页中点击“我的项目”。
(2)找到您的项目,点击您创建的HarmonyOS应用。
(3)在左侧导航栏选择“HarmonyOS应用 > HAP Provision Profile管理”,进入“管理HAP Provision Profile”页面。
HarmonyOS 签名打包Hap(s)、App(s)_第15张图片
(4)点击右上角“添加”,弹出“HarmonyAppProvision信息”窗口。
(5)在弹出的“HarmonyAppProvision信息”窗口中添加Profile。
HarmonyOS 签名打包Hap(s)、App(s)_第16张图片
(6)发布Profile申请成功后,“管理HAP Provision Profile”页面展示“名称”、“类型”、“证书”、“失效日期”和“操作”列信息。
HarmonyOS 签名打包Hap(s)、App(s)_第17张图片
(7)在“操作”列点击“下载”,可下载Profile文件。
(8)在“操作”列点击“删除”,且在弹出的“提示”窗口中点击“确认”,可删除Profile文件。

2.4. 打包

2.4.1. 签名配置

  DevEco Studio 中 File >Project Structure > project > Signing Configs进行配置
HarmonyOS 签名打包Hap(s)、App(s)_第18张图片

2.4.2. 位置

HarmonyOS 签名打包Hap(s)、App(s)_第19张图片
  app包仅用于上架应用市场,是最终release上架包;hap包为调试版本,调试应用过程中可以使用hap进行运行,同时app包无法通过hdc命令安装,hap调试包可通过hdc app install xxx.hap进行安装。
HarmonyOS 签名打包Hap(s)、App(s)_第20张图片

2.5. 获取设备UDID

HarmonyOS 签名打包Hap(s)、App(s)_第21张图片
HarmonyOS 签名打包Hap(s)、App(s)_第22张图片
HarmonyOS 签名打包Hap(s)、App(s)_第23张图片
HarmonyOS 签名打包Hap(s)、App(s)_第24张图片

2.5.1. 找到SDK的位置

(1)方法1
  在主菜单栏点击Tool > SDK Manager。
HarmonyOS 签名打包Hap(s)、App(s)_第25张图片
(2)方法2
HarmonyOS 签名打包Hap(s)、App(s)_第26张图片

2.5.2. 找到hdc.exe

HarmonyOS 签名打包Hap(s)、App(s)_第27张图片

#2.5.3. 查找

根据命令行查找
hdc.exe shell bm get -udid
HarmonyOS 签名打包Hap(s)、App(s)_第28张图片

2.5.4. hdc命令安装hap包


HarmonyOS 签名打包Hap(s)、App(s)_第29张图片
(1)第一步
cd D:\Harmoney\Sdk\toolchains
(2)第二步
hdc file send D:\Harmoney\JavaProject\Sdqlet\entry\build\outputs\hap\debug\entry-debug-rich-signed.hap /sdcard/zzs/entry-debug-rich-signed.hap
(3)第三步
hdc shell bm install -p /sdcard/zzs/

3. 签名打包所需文件

HarmonyOS 签名打包Hap(s)、App(s)_第30张图片

你可能感兴趣的:(HarmonyOS,harmonyos,华为)