HarmonyOS应用签名、打Hap包、Hap调试包真机安装步骤

2024-03-17 07:59

本文主要是介绍HarmonyOS应用签名、打Hap包、Hap调试包真机安装步骤,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

鸿蒙应用自定义打包

鸿蒙应用打hap安装包,使用自定义打包证书进行签名,以及自定义证书创建步骤。

tips:根据官方文档(4.0版本)操作后整理,如有不准确之处还请批评指正

注:申请证书方式有多种,本文使用DevEco Studio工具,也可通过命令行工具生成(官方文档:为应用/服务进行签名-调试HarmonyOS应用/服务-应用/服务调试-DevEco Studio使用指南-工具-HarmonyOS应用开发)

一.签名文件配置

签名所需文件

  1. 密钥:格式为.p12
  2. 证书请求文件:格式为.csr,用于向AppGallery Connect申请数字证书
  3. 数字证书:格式为.cer,由华为AppGallery Connect颁发
  4. Profile文件:格式为.p7b

文件生成关系

DevEco Studio新建.p12、.csr文件,AppGallery Connect中通过.csr文件请求.cer文件,然后通过.cer请求.p7b文件。

签名文件申请流程图

DevEco Studio中创建.p12和.csr

S1. 在DevEco Studio中选择Build - Generate Key and CSR。

S2. 新建.p12文件,弹出如下图所示界面,设置文件‘保存路径’、‘证书密码’,点击‘OK’即可生成.p12文件。

如果已申请过.p12文件,不使用New新建,直接点击‘Choose Existing’选择创建好的.p12文件。

S3. 选择完.p12文件后,填写下图中各输入框信息,点击‘Next’。

S4. 在此界面中设置.csr文件‘保存路径’、‘.csr文件名’。

S5. 点击‘Finish’,即可生成.csr文件。

S6. 上述步骤完成后,即可在保存目录中看到刚创建的两个文件,保存备用。

AppGallery Connect 申请.cer

1.访问华为开发者平台,登录开发者账号,进入控制台

注:华为开发者平台地址

AppGallery Connect

2.选择‘用户与访问’

3.选择‘证书管理’,‘新增证书’

4.填入证书名称,选择证书类型(发布、调试),选择上面步骤中创建的.csr文件,点击‘提交’生成.cer证书

5.设备管理,由于鸿蒙应用debug包必须绑定设备才能安装,故在设备管理页面中添加设备。可添加单个设备,也可通过excel批量导入。

AppGallery Connect 申请.p7b

1.返回AppGallery Connect控制台首页,选择‘我的项目’,选择一个已创建的HarmonyOS项目。

2.进入此项目,选择‘HarmonyOS应用’,‘HAP Provision Profile管理’进行添加、删除、下载Profile文件操作。

3.添加Profile,填写证书名称,选择类型,选择上述步骤中申请好的.cer证书,选择设备。

4.点击提交后生成profile文件.p7b。

至此打包所需的文件,全部生成完毕。

二.使用自定义证书进行打包

1.DevEco Studio工具打包配置,选择‘Project Structture’,‘Signing Configs’,选择上述步骤中创建的.p12、.p7b、.cer证书文件,填入密码,别名等信息。

2.打包时先在工程中build-profile.json5文件文件中,设备signingConfig签名证书。

3.开始打包,选择‘Build’,‘Build Hap(s)/App(s)’,‘Build Hap(s)’

4.打包完成后在工程目录下,‘entry’,‘build’,‘default’,‘outputs’即可看到已签名的hap安装包

三.Hap包安装hdc环境及命令

本次打的为调试包,需使用hdc命令行工具才可以将hap包安装至真机中。

hdc工具通过HarmonyOS SDK获取,存放于SDK的toolchains目录下,使用时将SDK的toolchains目录添加到环境变量。(注:toolchains必须为SDK下hmscore/3.1.0,否则会报无法连接设备错误)

添加HDC端口变量名为:HDC_SERVER_PORT,变量值可设置为任意未被占用的端口,如7035。

安装命令:

hdc install E:\com.example.hello.hap

这篇关于HarmonyOS应用签名、打Hap包、Hap调试包真机安装步骤的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/818314

相关文章

PostgreSQL的扩展dict_int应用案例解析

《PostgreSQL的扩展dict_int应用案例解析》dict_int扩展为PostgreSQL提供了专业的整数文本处理能力,特别适合需要精确处理数字内容的搜索场景,本文给大家介绍PostgreS... 目录PostgreSQL的扩展dict_int一、扩展概述二、核心功能三、安装与启用四、字典配置方法

IDEA中新建/切换Git分支的实现步骤

《IDEA中新建/切换Git分支的实现步骤》本文主要介绍了IDEA中新建/切换Git分支的实现步骤,通过菜单创建新分支并选择是否切换,创建后在Git详情或右键Checkout中切换分支,感兴趣的可以了... 前提:项目已被Git托管1、点击上方栏Git->NewBrancjsh...2、输入新的分支的

Python中win32包的安装及常见用途介绍

《Python中win32包的安装及常见用途介绍》在Windows环境下,PythonWin32模块通常随Python安装包一起安装,:本文主要介绍Python中win32包的安装及常见用途的相关... 目录前言主要组件安装方法常见用途1. 操作Windows注册表2. 操作Windows服务3. 窗口操作

Python中re模块结合正则表达式的实际应用案例

《Python中re模块结合正则表达式的实际应用案例》Python中的re模块是用于处理正则表达式的强大工具,正则表达式是一种用来匹配字符串的模式,它可以在文本中搜索和匹配特定的字符串模式,这篇文章主... 目录前言re模块常用函数一、查看文本中是否包含 A 或 B 字符串二、替换多个关键词为统一格式三、提

Java MQTT实战应用

《JavaMQTT实战应用》本文详解MQTT协议,涵盖其发布/订阅机制、低功耗高效特性、三种服务质量等级(QoS0/1/2),以及客户端、代理、主题的核心概念,最后提供Linux部署教程、Sprin... 目录一、MQTT协议二、MQTT优点三、三种服务质量等级四、客户端、代理、主题1. 客户端(Clien

Visual Studio 2022 编译C++20代码的图文步骤

《VisualStudio2022编译C++20代码的图文步骤》在VisualStudio中启用C++20import功能,需设置语言标准为ISOC++20,开启扫描源查找模块依赖及实验性标... 默认创建Visual Studio桌面控制台项目代码包含C++20的import方法。右键项目的属性:

python删除xml中的w:ascii属性的步骤

《python删除xml中的w:ascii属性的步骤》使用xml.etree.ElementTree删除WordXML中w:ascii属性,需注册命名空间并定位rFonts元素,通过del操作删除属... 可以使用python的XML.etree.ElementTree模块通过以下步骤删除XML中的w:as

java向微信服务号发送消息的完整步骤实例

《java向微信服务号发送消息的完整步骤实例》:本文主要介绍java向微信服务号发送消息的相关资料,包括申请测试号获取appID/appsecret、关注公众号获取openID、配置消息模板及代码... 目录步骤1. 申请测试系统2. 公众号账号信息3. 关注测试号二维码4. 消息模板接口5. Java测试

Mac系统下卸载JAVA和JDK的步骤

《Mac系统下卸载JAVA和JDK的步骤》JDK是Java语言的软件开发工具包,它提供了开发和运行Java应用程序所需的工具、库和资源,:本文主要介绍Mac系统下卸载JAVA和JDK的相关资料,需... 目录1. 卸载系统自带的 Java 版本检查当前 Java 版本通过命令卸载系统 Java2. 卸载自定

CSS中的Static、Relative、Absolute、Fixed、Sticky的应用与详细对比

《CSS中的Static、Relative、Absolute、Fixed、Sticky的应用与详细对比》CSS中的position属性用于控制元素的定位方式,不同的定位方式会影响元素在页面中的布... css 中的 position 属性用于控制元素的定位方式,不同的定位方式会影响元素在页面中的布局和层叠关