【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
相关推荐
UnicornDev5 小时前
【HarmonyOS 6】空状态页面布局设计
华为·harmonyos·arkts·鸿蒙·鸿蒙系统
互联网散修12 小时前
零基础鸿蒙应用开发第十九节:解锁灵活数据存储新技能Map/Set
harmonyos
枫叶丹413 小时前
【HarmonyOS 6.0】ArkData 应用间配置共享:构建跨应用协作新范式
开发语言·华为·harmonyos
互联网散修13 小时前
零基础鸿蒙应用开发第十八节:内置泛型工具类型应用
harmonyos
轻口味14 小时前
HarmonyOS 6 自定义人脸识别模型8:MindSpore Lite框架介绍与使用
c++·华为·ai·harmonyos
枫叶丹414 小时前
【HarmonyOS 6.0】ArkData 分布式数据对象新特性:资产传输进度监听与接续传输能力深度解析
开发语言·分布式·华为·wpf·harmonyos
枫叶丹414 小时前
【HarmonyOS 6.0】Agent Framework Kit深度解析:构建应用与智能体的无缝连接
华为·aigc·harmonyos
亚历克斯神1 天前
Flutter for OpenHarmony: Flutter 三方库 mutex 为鸿蒙异步任务提供可靠的临界资源互斥锁(并发安全基石)
android·数据库·安全·flutter·华为·harmonyos
钛态1 天前
Flutter 三方库 smartstruct 鸿蒙化字段映射适配指南:介入静态预编译引擎扫除视图及数据模型双向强转类型错乱隐患,筑稳如磐石的企业级模型治理防线-适配鸿蒙 HarmonyOS ohos
flutter·华为·harmonyos
键盘鼓手苏苏1 天前
Flutter 组件 csv2json 适配鸿蒙 HarmonyOS 实战:高性能异构数据转换,构建 CSV 流式解析与全栈式数据映射架构
flutter·harmonyos·鸿蒙·openharmony