【HarmonyOS NEXT】ACL 受限权限申请

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

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

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

目录

[第一步:AGC 平台创建项目](#第一步:AGC 平台创建项目)

[第二步:AGC 平台创建 APP ID](#第二步:AGC 平台创建 APP ID)

[第三步:生成应用证书 p12 与签名文件 csr](#第三步:生成应用证书 p12 与签名文件 csr)

[第四步:AGC 平台获取 cer 数字证书文件](#第四步:AGC 平台获取 cer 数字证书文件)

第五步:发送申请邮件

[第六步:AGC 平台获取 p7b 证书文件](#第六步:AGC 平台获取 p7b 证书文件)

第七步:配置项目签名

[附:获取设备 UDID](#附:获取设备 UDID)


第一步:AGC 平台创建项目

  1. 在 AGC 平台创建项目

直达链接:AppGallery Connect

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

第二步:AGC 平台创建 APP ID

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

直达链接:AppGallery Connect

  1. 填入应用名称,应用包名,选择分类,需要注意的是:此处包名需与应用中包名一致。
  1. 选择所属项目(第 1 步所创建的项目)
  1. 确认后即可获得APP ID

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

  1. 打开 IDE 开发工具,点击上方 Build/Generate Key and CSR,供第四步生成 Profile 文件使用。
  1. 新建证书文件,选择证书导出文件地址,设置证书名称
  1. 确认证书密码,请记住该密码
  1. 设置证书别名,请记住该别名,点击下一步
  1. 选择签名导出目录,设置签名文件名称
  1. 点击完成,签名文件生成成功

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

直达链接:AppGallery Connect

  1. 前往 AGC 平台上传第三步在 IDE 中生成的 csr 文件进行提交,换取 cer 数字证书
  1. 下载保存,此处将获得 cer 证书文件

第五步:发送申请邮件

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

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

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

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

直达链接:AppGallery Connect

  1. 勾选受限权限
  1. 若选择的是调试证书,请在此处添加设备

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

直达链接:AppGallery Connect

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

第七步:配置项目签名

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

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

附:获取设备 UDID

  1. 连接升级了 鸿蒙Next 系统的手机并开启开发者模式,打开USB调试
  1. 打开 DevEco 鸿蒙开发工具安装目录,找到 toolchains 目录
  1. 打开 CMD 命令窗口,输入命令,即可获取当前设备 UDID
bash 复制代码
hdc shell bm get --udid
相关推荐
lqj_本人2 小时前
Flutter_Rust_Bridge:让 Flutter 稳定调用 Rust 的跨语言桥梁
harmonyos
贾伟康3 小时前
【HarmonyOS 7新能力|040】QUIC长连接工程封装:把接入逻辑放进可维护的分层结构
网络编程·harmonyos·arkts·quic·软件架构
hqzing3 小时前
Harmonybrew 仓库中的 gcc(GCC 16)和 llvm(LLVM 23)已经可用
harmonyos
昇腾知识体系3 小时前
昇腾 torchrec_npu Docker 镜像选择:CANN/PyTorch/torchrec 版本矩阵与启动参数
人工智能·华为·知识图谱
昇腾知识体系4 小时前
K8s 调度昇腾 NPU:device-plugin 部署、Volcano 与 vNPU 切分
人工智能·华为·知识图谱
菜鸟~noob2336 小时前
【Bonjour】华为Peerium架构深度解析:从冯·诺依曼到百万处理器“一台计算机”,附MATLAB性能仿真【含matlab代码,可直接运行】
开发语言·matlab·华为·peerium
万物智能信息科技8 小时前
PWM散热风扇设置—【万物智能之开源鸿蒙OpenHarmony系统实战开发系列教程】
人工智能·华为·开源·harmonyos·鸿蒙
昇腾知识体系9 小时前
昇腾训练性能分析实战:torch_npu profiler 从采集到 kernel_details 解读
人工智能·华为·知识图谱
zhangfeng113310 小时前
昇腾 950PR/950DT 新增regbase 编程方式和MemBase SIMD/SIMT 混合编程模型
人工智能·华为·ai编程·npu·cann