【HarmonyOS NEXT】ACL 受限权限申请

关键词:受限开放权限、ACL、鸿蒙

在鸿蒙应用开发过程中,部分权限被受到限制(如悬浮窗开发、读取联系人数据、读取公共目录音频文件等权限),但是在我们的应用开发过程中又不得不使用该权限时可向华为申请受限权限,本期将介绍如何申请受限权限并完成开发配置。

需要注意的是:应用/元服务在上架华为应用市场时,华为应用市场会严格审核包含ACL(受限)权限的应用/元服务,不符合要求的应用/元服务将无法上架应用市场。因此,建议优先使用系统提供的替代技术方案,如系统Picker或安全控件。

目录

第一步:AGC 平台创建项目

第二步:AGC 平台创建 APP ID

第三步:生成应用证书 p12 与签名文件 csr

第四步:AGC 平台获取 cer 数字证书文件

第五步:发送申请邮件

第六步:AGC 平台获取 p7b 证书文件

第七步:配置项目签名

附:获取设备 UDID


第一步:AGC 平台创建项目

1. 在 AGC 平台创建项目

直达链接:AppGallery Connect

2. 创建项目后到此页返回即可。

第二步:AGC 平台创建 APP ID

1. 创建 APP ID 需要选择所属项目,所以需在第一步完成后进行。

直达链接:AppGallery Connect

2. 填入应用名称,应用包名,选择分类,需要注意的是:此处包名需与应用中包名一致。

3. 选择所属项目(第 1 步所创建的项目)

4. 确认后即可获得APP ID

第三步:生成应用证书 p12 与签名文件 csr

1. 打开 IDE 开发工具,点击上方 Build/Generate Key and CSR,供第四步生成 Profile 文件使用。

2. 新建证书文件,选择证书导出文件地址,设置证书名称

3. 确认证书密码,请记住该密码

4. 设置证书别名,请记住该别名,点击下一步

5. 选择签名导出目录,设置签名文件名称

6. 点击完成,签名文件生成成功

第四步:AGC 平台获取 cer 数字证书文件

直达链接:AppGallery Connect

1. 前往 AGC 平台上传第三步在 IDE 中生成的 csr 文件进行提交,换取 cer 数字证书

2. 下载保存,此处将获得 cer 证书文件

第五步:发送申请邮件

将第二步创建的APP ID、申请使用的受限开放权限、使用该权限的场景和功能信息,发送到 agconnect@huawei.com 邮箱,审核周期为1个工作日(基本当天可收到答复)。

第六步:AGC 平台获取 p7b 证书文件

在第五步申请邮件答复前不要生成 Profile 文件,因为还无受限权限选项,请等待 ACL受限权限开通

1. 选择创建的应用,填写Profile名称,选择Profile类型,选择设备(此处我生成的为发布证书),勾选受限权限。

直达链接:AppGallery Connect

2. 勾选受限权限

3. 若选择的是调试证书,请在此处添加设备

需要注意的是:发布与调试的区别为调试证书需要选择设备ID,使用该 Profile 打包的应用在开发阶段只可安装在指定的手机,如何获取设备 UDID 可查看文章结尾。

直达链接:AppGallery Connect

4. 下载生成的 Profile 文件(p7b)

第七步:配置项目签名

1. 经过前六步的操作,我们已经拿到了 .p12.csr.cer.p7b 四个文件,点击 DevEco 鸿蒙开发工具右上角 Project Structure 按钮,即可进入到签名配置页面。

2. 按描述选择对应格式文件,输入第三步中设置的证书密码与证书别名,点击 OK 即可完成受限权限的配置,后续使用第六步勾选的受限权限将不会再进行编译报错限制。

附:获取设备 UDID

1. 连接升级了 鸿蒙Next 系统的手机并开启开发者模式,打开USB调试

 2. 打开 DevEco 鸿蒙开发工具安装目录,找到 toolchains 目录

3. 打开 CMD 命令窗口,输入命令,即可获取当前设备 UDID

hdc shell bm get --udid

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

富文本编辑器图片上传并回显

1.概述 在代码业务需求中,我们会经常涉及到文件上传的功能,通常来说,我们存储文件是不能直接存储到数 据库中的,而是以文件路径存储到数据库中;但是存储文件的路径到数据库中又会有一定的问题,就是 浏览…

黑马程序员Java笔记整理(day05)

1.面向对象编程 2.用法 3.对象是什么 4.对象在计算机中是啥 5.无参与有参构造器 小结: 6.this的作用 7.小结 8.封装 9.小结 10.实体类 11.小结 12.static 13.小结 14.static修饰方法 15.static应用前景 16.几个注意事项 17.java中可以直接用类的名字创建数组,如: M…

微服务即时通讯系统的实现(服务端)----(2)

目录 1. 语音识别子服务的实现1.1 功能设计1.2 模块划分1.3 模块功能示意图1.4 接口的实现 2. 文件存储子服务的实现2.1 功能设计2.2 模块划分2.3 模块功能示意图2.4 接口的实现 3. 用户管理子服务的实现3.1 功能设计3.2 模块划分3.3 功能模块示意图3.4 数据管理3.4.1 关系数据…

Windows系统怎么把日历添加在桌面上用来记事?

在众多电脑操作系统中,Windows系统以其广泛的用户基础和强大的功能,成为许多人的首选。对于习惯于在电脑前工作和学习的用户来说,能够直接在桌面上查看和记录日历事项,无疑会大大提高工作效率和生活便利性。今天,就为大…

org.apache.commons.lang3包下的StringUtils工具类的使用

前言 相信平时在写项目的时候,一定使用到StringUtils.isEmpty();StringUtils.isBlank();但是你真的了解他们吗? 也许你两个都不知道,也许你除了isEmpty/isNotEmpty/isNotBlank/isBlank外,并不知道还有isAnyEmpty/isNon…

【ROS2】ROS2 Hello World (C++实现)

ROS 系列学习教程(总目录) ROS2 系列学习教程(总目录) 目录 一、Hello World工程简介二、ROS2 Hello World C版2.1 创建工作空间目录2.2 创建功能包2.3 编辑源文件2.4 编辑编译配置文件CMakeList.txt2.5 编译工程2.6 运行节点 万物始于Hello World,为了体验ROS2&…

springboot 整合 rabbitMQ (延迟队列)

前言: 延迟队列是一个内部有序的数据结构,其主要功能体现在其延时特性上。这种队列存储的元素都设定了特定的处理时间,意味着它们需要在规定的时间点或者延迟之后才能被取出并进行相应的处理。简而言之,延时队列被设计用于存放那…

电路基础——相量法

相量法 为什么要使用相量表示? 电路方程是微分方程: 电路的运算(如KCL、KVL方程运算)会涉及到两个正弦量的相加: 如下图所示同频率的正弦量相加仍得到同频率的正弦量,因此只需确定初相位和有效值。 基于上…

深度学习:梯度下降法

损失函数 L:衡量单一训练样例的效果。 成本函数 J:用于衡量 w 和 b 的效果。 如何使用梯度下降法来训练或学习训练集上的参数w和b ? 成本函数J是参数w和b的函数,它被定义为平均值; 损失函数L可以衡量你的算法效果&a…

ProtonBase 教育行业解决方案

01/方案概述 当前,大数据、云计算等技术正加速教育行业的数字化转型,教学模式从线下转向线上,传统教育企业向具有互联网性质的新型教育企业转变。在此背景下,教育企业亟需探索多源数据的融合扩展,以应对复杂的业务场景…

Socket编程(TCP/UDP详解)

前言:之前因为做项目和找实习没得空,计算机网络模块并没有写成博客,最近得闲了,把计算机网络模块博客补上。 目录 一,UDP编程 1)创建套接字 2)绑定端口号 3)发送与接收数据 4&…

求平均年龄

求平均年龄 C语言代码C 代码Java代码Python代码 💐The Begin💐点点关注,收藏不迷路💐 班上有学生若干名,给出每名学生的年龄(整数),求班上所有学生的平均年龄,保留到小数…

40分钟学 Go 语言高并发:GC原理与优化

GC原理与优化 一、GC基础知识概览 方面核心概念重要性优化目标GC算法三色标记法、并发GC⭐⭐⭐⭐⭐理解GC工作原理垃圾回收策略触发条件、回收步骤⭐⭐⭐⭐⭐掌握GC过程GC调优参数设置、性能监控⭐⭐⭐⭐优化GC效果内存管理内存分配、内存逃逸⭐⭐⭐⭐⭐减少内存压力 让我们…

论文笔记 SliceGPT: Compress Large Language Models By Deleting Rows And Columns

欲买桂花同载酒,终不似,少年游。 数学知识 秩: 矩阵中最大线性无关的行/列向量数。行秩与列秩相等。 线性无关:对于N个向量而言,如果任取一个向量 v \textbf{v} v,不能被剩下的N-1个向量通过线性组合的方式…

vscode的项目给gitlab上传

目录 一.创建gitlab帐号 二.在gitlab创建项目仓库 三.Windows电脑安装Git 四.vscode项目git上传 一.创建gitlab帐号 二.在gitlab创建项目仓库 图来自:Git-Gitlab中如何创建项目、创建Repository、以及如何删除项目_gitlab新建项目-CSDN博客) 三.Windows电脑安…

电阻可靠性的内容

一、影响电阻可靠性的因素: 影响电阻可靠性的因素有温度系数、额定功率,最大工作电压、固有噪声和电压系数 (一)温度系数 电阻的温度系数表示当温度改变1摄氏度时,电阻阻值的相对变化,单位为ppm/℃.电阻温…

(计算机网络)期末

计算机网络概述 物理层 信源就是发送方 信宿就是接收方 串行通信--一次只发一个单位的数据(串行输入) 并行通信--一次可以传输多个单位的数据 光纤--利用光的反射进行传输 传输之前,要对信源进行一个编码,收到信息之后要进行一个…

【K230 CanMV】machine.FPIOA、Pin 与 GPIO 全解析

引言:在嵌入式开发领域,GPIO(通用输入输出)引脚的功能配置和复用能力对设备的灵活性和功能实现起到了至关重要的作用。FPIOA(Field Programmable IO Array,现场可编程 IO 数组)是现代嵌入式芯片…

Observability:如何在 Kubernetes pod 中轻松添加应用程序监控

作者:来自 Elastic Jack Shirazi•Sylvain Juge•Alexander Wert Elastic APM K8s Attacher 允许将 Elastic APM 应用程序代理(例如 Elastic APM Java 代理)自动安装到 Kubernetes 集群中运行的应用程序中。该机制使用变异 webhook&#xff0…

【QT入门到晋级】QT项目打生产环境包--(Linux和window)

前言 使用QTcreator完成正常编译后,在构建目录中有可执行程序生成,如果直接把可执行程序拷贝到干净的生产环境上是无法运行成功的,使用ldd(查看程序依赖包)会发现缺失很多QT的特性包,以及将介绍国产Linux桌…