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.步骤
官方文档
1.2. 流程
官方文档-应用/服务发布
发布HarmonyOS应用
2. 基本操作
2.1. 密钥和证书请求文件
使用DevEco Studio生成密钥和证书请求文件
(1) 在主菜单栏点击Build > Generate Key and CSR。
如果本地已有对应的密钥,无需新生成密钥,可以在Generate Key界面中点击下方的Skip跳过密钥生成过程,直接使用已有密钥生成证书请求文件。
(2) 在Key Store File中,可以点击Choose Existing选择已有的密钥库文件;如果没有密钥库文件,点击New进行创建。下面以新创建密钥库文件为例进行说明。
2.1.1. 密钥(p12)
密码必须至少包含8个字符,并包含以下任意两个字符:
1.小写字母:a-z
2.大写字母:A-Z
3.数字:0-9
4.特殊字符:“`~!@$%^ *()-=+\\[{}];:”,.>/
名字和姓氏的值可以包含0到64个字符,仅包括大写字母、小写字母和空格。
2.1.2. 证书请求文件(csr)
2.2. 发布证书和Profile文件
AppGallery Connect
通过生成的证书请求文件,向AppGallery Connect申请发布证书和Profile文件。
(1) 创建您的AGC项目;
(2) 创建HarmonyOS应用;
(3) 申请发布证书和Profile文件。
2.2.1. 应用发布证书
一个账号最多可申请1个发布证书,2个调试证书。
(1)登录AppGallery Connect网站,在网站首页中点击“用户与访问”。
(2)在左侧导航栏点击“证书管理”,进入“证书管理”页面。
(3)点击“新增证书”,弹出“新增证书”窗口。
(4)在“新增证书”窗口中填写要申请的证书信息,点击“提交”。
证书申请成功后,“证书管理”页面展示“证书名称”、“证书类型”,“失效日期”和“操作”列信息。
在“操作”列点击“下载”,可下载证书。
在“操作”列点击“废除”,且在弹出的“提示”窗口中点击“确认”,可废除证书。
说明:如证书已过期,“失效日期”列展示“已于YYYY-MM-DD过期”。您可以下载或废除过期证书。
2.2.2. 添加设备
2.3. Profile文件
一个账号最多可申请100个Profile文件。
(1)登录AppGallery Connect网站,在网站首页中点击“我的项目”。
(2)找到您的项目,点击您创建的HarmonyOS应用。
(3)在左侧导航栏选择“HarmonyOS应用 > HAP Provision Profile管理”,进入“管理HAP Provision Profile”页面。
(4)点击右上角“添加”,弹出“HarmonyAppProvision信息”窗口。
(5)在弹出的“HarmonyAppProvision信息”窗口中添加Profile。
(6)发布Profile申请成功后,“管理HAP Provision Profile”页面展示“名称”、“类型”、“证书”、“失效日期”和“操作”列信息。
(7)在“操作”列点击“下载”,可下载Profile文件。
(8)在“操作”列点击“删除”,且在弹出的“提示”窗口中点击“确认”,可删除Profile文件。
2.4. 打包
2.4.1. 签名配置
DevEco Studio 中 File >Project Structure > project > Signing Configs进行配置
2.4.2. 位置
app包仅用于上架应用市场,是最终release上架包;hap包为调试版本,调试应用过程中可以使用hap进行运行,同时app包无法通过hdc命令安装,hap调试包可通过hdc app install xxx.hap进行安装。
2.5. 获取设备UDID
2.5.1. 找到SDK的位置
(1)方法1
在主菜单栏点击Tool > SDK Manager。
(2)方法2
2.5.2. 找到hdc.exe
#2.5.3. 查找
根据命令行查找
hdc.exe shell bm get -udid
2.5.4. hdc命令安装hap包
(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/