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.步骤

官方文档
步骤

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/

3. 签名打包所需文件

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/576921.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

渗透测试——1.2被动扫描

一、概念 目标无法觉察的情况下进行的信息收集。公开渠道可获得的信息,与目标系统不产生直接交互,尽量避免留下一切痕迹。 二、CDN(content delivery netword内容分发网路) 多台边缘服务器提供网络服务, 三、WAF&am…

docker-compose 安装Sonar并集成gitlab

文章目录 1. 前置条件2. 编写docker-compose-sonar.yml文件3. 集成 gitlab4. Sonar Login with GitLab 1. 前置条件 安装docker-compose 安装docker 创建容器运行的特有网络 创建挂载目录 2. 编写docker-compose-sonar.yml文件 version: "3" services:sonar-postgre…

地图导航测试点总结

地图导航是我们经常使用的工具,能帮助我们指引前进的方向。 接下来,会从功能测试、UI测试、兼容测试、安全测试、网络测试、性能测试、易用性测试、文档和国际化语言测试8个方面来编写地图导航测试用例。 一、功能测试 1. 输入起点和终点,…

CSS样式斜切边

html部分 <div class"rectangle"></div> 样式一&#xff1a; .rectangle { width: 251px; height: 75px; background: linear-gradient(-135deg, transparent 52px, #ffffff 0) top right; background-size: 100% 100%; background-repeat: no-repeat; b…

德思特分享丨V2X在做什么?连接未来智能出行的车联网(下)

来源&#xff1a;德思特测试测量 德思特分享丨V2X在做什么&#xff1f;连接未来智能出行的车联网&#xff08;下&#xff09; 原文链接&#xff1a;https://mp.weixin.qq.com/s/yEoCrLls-xuaF4CvVT2_zQ 欢迎关注虹科&#xff0c;为您提供最新资讯&#xff01; 在之前的文章中…

pytorch 踩坑

pytorch 踩坑 在pytorch中&#xff0c;如果你定义了没用的组件&#xff0c;同样也会影响你的模型(我也不知道从哪里影响的)&#xff0c;看一个例子 def _make_layer(self, block, planes, blocks, stride1, dilateFalse):norm_layer self._norm_layer#downsample Noneprevio…

外卖系统开发:构建高效、安全的外卖平台

在当今数字化时代&#xff0c;外卖系统成为了餐饮行业不可或缺的一部分。本文将介绍如何使用一些主流的技术和代码片段来开发一个简单而功能强大的外卖系统。 1. 技术选择 在开始外卖系统的开发之前&#xff0c;首先需要选择合适的技术栈。以下是一个常见的技术栈&#xff1…

新型智慧城市解决方案:PPT全文56页,附下载

关键词&#xff1a;智慧城市解决方案&#xff0c;智慧城市管理技术&#xff0c;智慧城市建设&#xff0c;数字城市建设 一、智慧城市宏观形势 1、政策支持&#xff1a;出台了一系列政策&#xff0c;鼓励和支持智慧城市的发展。这些政策为智慧城市的建设提供了政策保障和资金支…

小区物业大数据监控服务平台(PSD文件资料)

现分享简约物业大数据平台页面、小区物业大数据监控服务平台模版的UI源文件&#xff0c;供设计师们快速获取PS源文件完成工作。 若需 更多行业 相关的大屏&#xff0c;请移步小7的另一篇文章&#xff1a;200套精选数据可视化大屏&#xff0c;大屏PSD设计&#xff08;各行业大屏…

ssh工具 向指定的ssh服务器配置公钥

此文分享一个python脚本,用于向指定的ssh服务器配置公钥,以达到免密登录ssh服务器的目的。 效果演示 🔥完整演示效果 👇第一步,显然,我们需要选择功能 👇第二步,确认 or 选择ssh服务器 👇第三步,输入ssh登录密码,以完成公钥配置 👇验证,我们通过ssh登录…

python区块链简单模拟【03】

引入钱包&#xff0c;账户地址&#xff0c;公私钥 # 导入椭圆曲线算法 from ecdsa import SigningKey, SECP256k1, VerifyingKey, BadSignatureError import binascii import base64 from hashlib import sha256class Wallet:"""钱包"""def __i…

(1)(1.11) SiK Radio v2(一)

文章目录 前言 1 概述 2 特点 3 状态LED灯 前言 SiK 遥测无线电是在自动驾驶仪和地面站之间建立遥测连接的最简单方法之一。本文提供了如何连接和配置无线电的基本用户指南。 3DR Radio v2&#xff08;SiKRadio 的消费者版本&#xff09; &#xff01;Note 本页面以前的…

企业跨境数据传输的创新技术和应用领域

在当前数字化时代&#xff0c;跨境数据传输成为一个极为关键的领域。随着数据传输需求的不断增加&#xff0c;跨国企业在这一过程中面临着越来越多的问题。为了解决这些挑战&#xff0c;创新技术层出不穷&#xff0c;为跨境数据传输提供了更高效、安全和可靠的解决方案。本文将…

visual studio code B站教程:GPT4

B站教程&#xff1a;AI编程辅助神器-CodeMoss使用介绍_哔哩哔哩_bilibili 通用 General 按 Press 功能 Function Ctrl Shift P&#xff0c;F1 显示命令面板 Show Command Palette Ctrl P 快速打开 Quick Open Ctrl Shift N 新窗口/实例 New window/instance Ctrl Sh…

Flink CDC 1.0至3.0回忆录

Flink CDC 1.0至3.0回忆录 一、引言二、CDC概述三、Flink CDC 1.0&#xff1a;扬帆起航3.1 架构设计3.2 版本痛点 四、Flink CDC 2.0&#xff1a;成长突破4.1 DBlog 无锁算法4.2 FLIP-27 架构实现4.3 整体流程 五、Flink CDC 3.0&#xff1a;应运而生六、Flink CDC 的影响和价值…

腾讯云4核8G服务器选择轻量还是标准型S5服务器?

腾讯云4核8G服务器优惠价格表&#xff0c;云服务器CVM标准型S5实例4核8G配置价格15个月1437.3元&#xff0c;5年6490.44元&#xff0c;轻量应用服务器4核8G12M带宽一年446元、529元15个月&#xff0c;阿腾云atengyun.com分享腾讯云4核8G服务器详细配置、优惠价格及限制条件&…

whistle网络监控 fiddler的开源替代

github源码&#xff1a;https://github.com/avwo/whistle 官网说明&#xff1a;http://wproxy.org/whistle/ windows/mac一键安装 先安装nodejs 然后运行命令 npm i -g whistle && w2 start --init启动 w2 start停止 w2 stop注意停止后要手动关闭代理服务器设置 w…

【免杀测试】Kali之Metasploit几款工具免杀练习

余磊 不知攻&#xff0c;焉知防。作为渗透测试攻城狮&#xff0c;实战之前要做大量的攻防练习。一般黑客拿到主机的shell之后&#xff0c;需要留后门方便进行下一步的渗透。普通的木马已经很容易被查杀工具识别&#xff0c;这时就催生出了免杀技术来绕过杀毒软件。 下面就尝试…

Domino 14中的重新设定样式功能

大家好&#xff0c;才是真的好。 上周末&#xff0c;我测试了一些Domino 14版本新功能&#xff0c;令人惊喜的是重新设定样式&#xff08;Restyle&#xff09;新特性。 如果不知道什么是Restyle&#xff0c;请参考这篇《Notes 12.0.2版本新特性》。 简而言之&#xff0c;Res…