HarmonyOS 签名打包并安装
HarmonyOS应用通过数字证书(.cer文件)和Profile文件(.p7b文件)来保证应用的完整性,数字证书和Profile文件可通过申请发布证书和Profile文件获取。
1. HarmonyOS签名打包并安装
1.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. 步骤
1.1.2. 流程
1.2. 基本操作
1.2.1. 密钥和证书请求文件
使用DevEco Studio生成密钥和证书请求文件
(1) 在主菜单栏点击Build > Generate Key and CSR。
如果本地已有对应的密钥,无需新生成密钥,可以在Generate Key界面中点击下方的Skip跳过密钥生成过程,直接使用已有密钥生成证书请求文件。
(2) 在Key Store File中,可以点击Choose Existing选择已有的密钥库文件;如果没有密钥库文件,点击New进行创建。下面以新创建密钥库文件为例进行说明。
1.2.1.1. 密钥(p12)
密码必须至少包含8个字符,并包含以下任意两个字符:
1.小写字母:a-z
2.大写字母:A-Z
3.数字:0-9
4.特殊字符:“`~!@$%^ *()-=+\\[{}];:”,.>/
名字和姓氏的值可以包含0到64个字符,仅包括大写字母、小写字母和空格。
1.2.1.2. 证书请求文件(csr)
1.2.2. 发布证书和Profile文件
AppGallery Connect
通过生成的证书请求文件,向AppGallery Connect申请发布证书和Profile文件。
(1) 创建您的AGC项目;
(2) 创建HarmonyOS应用;
(3) 申请发布证书和Profile文件。
1.2.2.1. 应用发布证书
一个账号最多可申请1个发布证书,2个调试证书。
(1)登录AppGallery Connect网站,在网站首页中点击“用户与访问”。
(2)在左侧导航栏点击“证书管理”,进入“证书管理”页面。
(3)点击“新增证书”,弹出“新增证书”窗口。
(4)在“新增证书”窗口中填写要申请的证书信息,点击“提交”。
证书申请成功后,“证书管理”页面展示“证书名称”、“证书类型”,“失效日期”和“操作”列信息。
在“操作”列点击“下载”,可下载证书。
在“操作”列点击“废除”,且在弹出的“提示”窗口中点击“确认”,可废除证书。
说明:如证书已过期,“失效日期”列展示“已于YYYY-MM-DD过期”。您可以下载或废除过期证书。
1.2.2.2. 添加设备
1.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文件。
1.2.4. 打包
1.2.4.1. 签名配置
DevEco Studio 中 File >Project Structure > project > Signing Configs进行配置
1.2.4.2. 位置
app包仅用于上架应用市场,是最终release上架包;hap包为调试版本,调试应用过程中可以使用hap进行运行,同时app包无法通过hdc命令安装,hap调试包可通过hdc app install xxx.hap进行安装。
1.2.5. 获取设备UDID
1.2.5.1. 找到SDK的位置
(1)方法1
在主菜单栏点击Tool > SDK Manager。
(2)方法2
1.2.5.2. 找到hdc.exe
1.2.5.3. 查找
根据命令行查找
hdc.exe shell bm get -udid
1.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/
1.3. 签名打包所需文件
1.4. 流程操作
1.4.1. 第一步
1.4.2. 第二步:创建.p12文件,点击New如果有的话就Choose Existing
填好下面信息
点击Next进入到下面界面
开始生成csr文件如下图
点击OK–>Finish 文件保存在了下面目录
1.4.3. 第三步 访问华为开发者平台,登录开发者账号,进入控制台
华为开发者平台地址:
AppGallery Connect
创建应用
点击证书
这个时候我们就有.p12文件和一个.cer文件
1.4.4. 第四步:生成.p7文件
点击profile项
1.4.5. 第五步,打开鸿蒙开发工具
依次填好下面参数 点击OK
在工程的这个文件里,填写签名配置,相当于之前Android的debug,release
打包 Build–>Build Hap(s)
app包仅用于上架应用市场,是最终release上架包;hap包为调试版本,调试应用过程中可以使用hap进行运行,同时app包无法通过hdc命令安装,hap调试包可通过hdc app install xxx.hap进行安装。
生成.hap文件
然后就是安装haps,先配置一下hdc环境变量,相当于Android的 adb
来到开发工具安装目录,我的是在这里
添加好环境变量执行安装命令
hdc install xxx.hap
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
所有评论(0)