从零开始开发纯血鸿蒙应用之多签名证书管理

从零开始开发纯血鸿蒙应用

  • 一、前言
  • 二、鸿蒙应用配置签名证书的方式
    • 1、自动获取签名证书
    • 2、手动配置签名证书
  • 三、多签名证书配置和使用
  • 四、多证书使用

一、前言

由于手机操作系统,比电脑操作系统脆弱很多,同时,由于手机的便携性,用户群体中存在许多计算机知识并不怎么丰富的人,诸多原因纠集在一起,使得当下的部分手机操作系统,采取了比电脑操作系统更为严格的应用管控策略,其中,就规定了安装到手机上的app,都必须具有签名证书。

如今,纯血鸿蒙系统为了进一步保障用户的手机安全,理所当然的引入了app签名证书的策略,并且,即便是开发者部署Debug版app到自己的手机上,也是需要签名证书才能完成部署,否则就会失败。

在这里插入图片描述

二、鸿蒙应用配置签名证书的方式

目前,DevEco Studio 中配置签名证书的方式有两种,自动和手动。

1、自动获取签名证书

只要 DevEco Studio 成功登录开发者的华为开发者账号,那么,就可以在上图的页面中,勾选Automatically generate signature 去自动生成 Debug、也即调试证书;这种自动生成证书的方式,不适合用于发布证书的配置,发布证书的配置只能通过手动的方式进行配置。

2、手动配置签名证书

想要手动配置鸿蒙应用的签名证书,首先,需要登录华为鸿蒙应用市场官网 AppGallery Connect:
在这里插入图片描述
在其中的证书、APP ID和Profile 页面就可以进行证书的创建、也即申请:
在这里插入图片描述
不过,在前往 APPGallery Connect 平台创建证书前,还必须用 DevEco Studio 获取一个签名文件、即p12文件和csr文件:
在这里插入图片描述
生成的 CSR 文件,会在 APPGallery Connect 平台上创建证书时使用:
在这里插入图片描述
证书区分调试证书和发布证书,签名文件则不区分,因此,调试证书和发布证书可以使用同一个证书请求文件(CSR)

一份签名证书会有四个文件:
1)p12 文件
2)csr 文件
3)p7b 文件
4)cer 文件

其中的p12文件、p7b文件和 cer 文件的保存路径,可以填写在如下的四个地方:
在这里插入图片描述
这样就完成了签名证书的手动配置。

三、多签名证书配置和使用

一个鸿蒙app,可以同时配置多份签名证书,这是为了适应不同类型设备的需要,例如手机端一个证书、平板端一个证书。这种多证书配置,会体现在项目根目录下的build-perofile.json5文件中:
在这里插入图片描述

如上所示,我同时配置了默认的调试证书和可选的发布证书。由此也可以发现,虽然多证书配置是为了多终端的需要,然而,再具体使用的过程中,完全可以灵活一点,特别是当app是团队开发时,每个开发者都可以配置上自己的调试证书,从而互不干扰的进行使用。

通常来说,不考虑不同终端的情况下,一个应用创建一个调试证书和一个发布证书就够了。因为,AppGallery Connect 平台支持将调试设备绑定到调试证书上:
在这里插入图片描述
所以,当你拥有多台手机作为调试设备时,采用手动配置调试证书的方式更为合适,因为,自动获取调试证书的方式,往往需要数据线连接一台手机,每换一台手机证书文件就需要重新生成,而目前 DevEco Studio 并不支持记住华为账号的登录状态,IDE 关闭重启后就需要重新登录,颇为费时。

四、多证书使用

在鸿蒙项目中,每个模块下都有一个build-profile.json5文件,只不过模块级别的该文件,要比项目级别的简略很多:
在这里插入图片描述
一般来说,我们需要关注的模块级别的 build-profile.json5 文件,只有 Entry 模块的,因为里面的 targets 标签的配置,与项目的多证书使用有关系:
在这里插入图片描述
在 DevEco Studio 如上图所示的位置,有一个按钮可以打开运行编译配置的修改对话框,可以根据编译运行所需选择不同的 Product、Build Mode 和 Module Target:
在这里插入图片描述
切换 Product 的同时,签名证书也会切换,而 Module Target 又可以和 Product 绑定:
在这里插入图片描述
所以,包括签名证书在内的一整套编译运行配置就这样完成了切换。

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

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

相关文章

数据结构初阶---排序

一、排序相关概念与运用 1.排序相关概念 排序:所谓排序,就是使一串记录,按照其中的某个或某些关键字的大小,递增或递减的排列起来的操作。 稳定性:假定在待排序的记录序列中,存在多个具有相同的关键字的…

系统看门狗配置--以ubuntu为例

linux系统配置看门狗 以 ubuntu 系统配置看门狗为例 配置看门狗使用的脚本文件,需要使用管理员权限来执行: 配置是:系统每 30S 喂一次狗,超过 60S 不进行投喂,就会自动重启。 1. 系统脚本内容: #!/bin/b…

opencv的NLM去噪算法

NLM(Non-Local Means)去噪算法是一种基于图像块(patch)相似性的去噪方法。其基本原理是: 图像块相似性:算法首先定义了一个搜索窗口(search window),然后在该窗口内寻找…

Docker运维高级容器技术知识点总结

1、虚拟机部署和容器化部署的区别是什么&#xff1f; 1、技术基础&#xff1a; <1>.虚拟化技术在物理硬件上创建虚拟机&#xff0c;每台虚拟机运行自己完整的操作系统、从而实现资源隔离。 <2>.容器化技术&#xff1a;将应用程序打包在容器内&#xff0c;在进程空间…

双模充电桩发展前景:解锁新能源汽车未来的金钥匙,市场潜力无限

随着全球能源转型的浪潮席卷而来&#xff0c;新能源汽车行业正以前所未有的速度蓬勃发展&#xff0c;而作为其坚实后盾的充电基础设施&#xff0c;特别是双模充电桩&#xff0c;正逐渐成为推动这一变革的关键力量。本文将从多维度深入剖析双模充电桩的市场现状、显著优势、驱动…

python3GUI--大屏可视化-传染病督导平台 By:PyQt5

文章目录 一&#xff0e;前言二&#xff0e;预览三&#xff0e;软件组成&开发心得1.样式&使用方法2.左侧表格实现3.设计4.学习5.体验效果 四&#xff0e;代码分享1.环形渐变进度组件2.自定义图片的背景组件 五&#xff0e;总结 大小&#xff1a;60.9 M&#xff0c;软件…

某漫画网站JS逆向反混淆流程分析

文章目录 1. 写在前面1. 接口分析2. 反混淆分析 【&#x1f3e0;作者主页】&#xff1a;吴秋霖 【&#x1f4bc;作者介绍】&#xff1a;擅长爬虫与JS加密逆向分析&#xff01;Python领域优质创作者、CSDN博客专家、阿里云博客专家、华为云享专家。一路走来长期坚守并致力于Pyth…

ffmpeg aac s16 encode_audio.c

用ffmpeg库时&#xff0c;用代码对pcm内容采用aac编码进行压缩&#xff0c;出现如下错误。 [aac 000002bc5edc6e40] Format aac detected only with low score of 1, misdetection possible! [aac 000002bc5edc8140] Error decoding AAC frame header. [aac 000002bc5edc81…

深度学习的原理和应用

一、深度学习的原理 深度学习是机器学习领域的一个重要分支&#xff0c;其原理基于多层神经网络结构和优化算法。以下是深度学习的核心原理&#xff1a; 多层神经网络结构&#xff1a;深度学习模型通常由多层神经元组成&#xff0c;这些神经元通过权重和偏置相互连接。输入数据…

mv指令详解

&#x1f3dd;️专栏&#xff1a;计算机操作系统 &#x1f305;主页&#xff1a;猫咪-9527-CSDN博客 “欲穷千里目&#xff0c;更上一层楼。会当凌绝顶&#xff0c;一览众山小。” 目录 基本语法 主要功能 常用选项详解 1. 移动文件或目录 2. 重命名文件或目录 3. -i&am…

5 分布式ID

这里讲一个比较常用的分布式防重复的ID生成策略&#xff0c;雪花算法 一个用户体量比较大的分布式系统必然伴随着分表分库&#xff0c;分机房部署&#xff0c;单体的部署方式肯定是承载不了这么大的体量。 雪花算法的结构说明 如下图所示: 雪花算法组成 从上图我们可以看…

怎么实现Redis的高可用?

大家好&#xff0c;我是锋哥。今天分享关于【怎么实现Redis的高可用&#xff1f;】面试题。希望对大家有帮助&#xff1b; 怎么实现Redis的高可用&#xff1f; 1000道 互联网大厂Java工程师 精选面试题-Java资源分享网 为了实现 Redis 的高可用性&#xff0c;我们需要保证在发…

牛客网刷题 ——C语言初阶(6指针)——BC106 上三角矩阵判定

1. 题目描述——BC106 上三角矩阵判定 牛客网OJ题链接 描述 KiKi想知道一个n阶方矩是否为上三角矩阵&#xff0c;请帮他编程判定。上三角矩阵即主对角线以下的元素都为0的矩阵&#xff0c;主对角线为从矩阵的左上角至右下角的连线。 示例 输入&#xff1a; 3 1 2 3 0 4 5 0 0…

H266/VVC 帧内预测中 ISP 技术

帧内子划分 ISP ISP 技术是在 JVET-2002-v3 提案中详细介绍其原理&#xff0c;在 VTM8 中完整展示算法。ISP是线基内预测&#xff08;LIP&#xff09;模式的更新版本&#xff0c;它改善了原始方法在编码增益和复杂度之间的权衡&#xff0c;ISP 算法的核心原理就是利用较近的像…

了解npm:JavaScript包管理工具

在JavaScript的生态系统中&#xff0c;npm&#xff08;Node Package Manager&#xff09;无疑是一个举足轻重的存在。它不仅是Node.js的包管理器&#xff0c;更是前端开发不可或缺的一部分&#xff0c;为开发者提供了丰富的包资源、便捷的包管理以及强大的社区支持。本文将深入…

CNN Test Data

由于数据量过大&#xff0c;打不开了 搞一组小的吧。收工睡觉 https://download.csdn.net/download/spencer_tseng/90256048

协同过滤算法商品推荐系统|Java|SpringBoot|VUE|

【技术栈】 1⃣️&#xff1a;架构: B/S、MVC 2⃣️&#xff1a;系统环境&#xff1a;Windowsh/Mac 3⃣️&#xff1a;开发环境&#xff1a;IDEA、JDK1.8、Maven、Mysql5.7 4⃣️&#xff1a;技术栈&#xff1a;Java、Mysql、SpringBoot、Mybatis-Plus、VUE、jquery,html 5⃣️…

初学stm32 --- DMA直接存储器

目录 DMA介绍 STM32F1 DMA框图 DMA处理过程 DMA通道 DMA优先级 DMA相关寄存器介绍 F1 DMA通道x配置寄存器&#xff08;DMA_CCRx&#xff09; DMA中断状态寄存器&#xff08;DMA_ISR&#xff09; DMA中断标志清除寄存器&#xff08;DMA_IFCR&#xff09; DMA通道x传输…

Routine Load 导入问题处理指南

Routine Load 导入问题处理指南 在使用 Apache Doris 的 Routine Load 时&#xff0c;你是否曾经被各种奇奇怪怪的问题卡住&#xff1f;今天就来分享一些最常见的 Routine Load 问题&#xff0c;并提供相应的解决方案&#xff0c;让你快速应对&#xff0c;高效解决&#xff01;…

【面试题】技术场景 6、Java 生产环境 bug 排查

生产环境 bug 排查思路 分析日志&#xff1a;首先通过分析日志查看是否存在错误信息&#xff0c;利用之前讲过的 elk 及查看日志的命令缩小查找错误范围&#xff0c;方便定位问题。远程 debug 适用环境&#xff1a;一般公司正式生产环境不允许远程 debug&#xff0c;多在测试环…