当前位置:首页 >热点 >解决应用申请权限失败导致安装报错问题 在开发应用安装包时

解决应用申请权限失败导致安装报错问题 在开发应用安装包时

2024-06-30 19:49:28 [百科] 来源:避面尹邢网

解决应用申请权限失败导致安装报错问题

作者:Haoc_小源同学 系统 OpenHarmony 如果应用需要将自身的解决APL等级声明为system_basic及以上的APL等级,在开发应用安装包时,应用要修改应用的申请失败Profile文件。

​​想了解更多关于开源的权限内容,请访问:​​

解决应用申请权限失败导致安装报错问题 在开发应用安装包时

​​51CTO 开源基础软件社区​​

解决应用申请权限失败导致安装报错问题 在开发应用安装包时

​​https://ost.51cto.com​​

解决应用申请权限失败导致安装报错问题 在开发应用安装包时

前言

笔者最近在开发应用时遇到install failed due to grant request permissions failed,安装报错信息大概意思为由于申请权限失败导致安装失败。报错

【小源笔记】第六期 | 解决应用申请权限失败导致安装报错问题-开源基础软件社区

查询相关资料得知,应用APL等级有三个,解决分别是应用:

APL级别

说明

system_core等级

该等级的应用服务提供操作系统核心能力。

system_basic等级

该等级的应用服务提供系统基础服务。

normal等级

普通应用。

默认情况下,安装应用的报错APL等级都为normal等级。

如果应用需要将自身的问题APL等级声明为system_basic及以上的APL等级,在开发应用安装包时,解决要修改应用的Profile文件。

问题解决

1.首先根据参考资料[2] 查询应用申请的权限等级,例如笔者这里在config.json文件申请了以下权限。

"reqPermissions": [
{
"name": "ohos.permission.CAPTURE_SCREEN"
}
]

查询应用权限列表得到该权限的级别为system_core。

权限名

权限级别

授权方式

ACL使能

权限说明

ohos.permission.CAPTURE_SCREEN

system_core

system_grant

TRUE

允许应用截取屏幕图像。

2.打开编译当前应用的SDK版本对应的UnsgnedReleasedProfileTemplate.json文件。

【小源笔记】第六期 | 解决应用申请权限失败导致安装报错问题-开源基础软件社区

这里有两种修改方式:

方式一:

修改apl字段的值为应用申请权限的最高等级(system_core>system_basic>normal),高等级的应用可以申请该级别及以下的的权限。

{ 
...
"bundle-info":{ "developer-id":"OpenHarmony",
...
"apl":"system_core","app-feature":"hos_system_app"},
...
}

方式二:

由上面查询的信息得知,权限的ACL使能为TRUE,这意味着我们可以通过ACL方式申请。

将所需申请的权限中高于当前应用APL等级的,添加到allowed-acls列表中。

{ 
...
"bundle-info":{ "developer-id":"OpenHarmony",
...
"apl":"normal","app-feature":"hos_system_app"},"acls":{ "allowed-acls":["ohos.permission.CAPTURE_SCREEN"]},
...
}

3.完成以上步骤后,打开DevEco Studio工具进行自动化签名即可,如之前已签过名,需将自动签名的文件全部删除并将signingConfigs字段清空,这样自动签名时才会根据上面修改的签名证书模板生成新的证书。

【小源笔记】第六期 | 解决应用申请权限失败导致安装报错问题-开源基础软件社区

【小源笔记】第六期 | 解决应用申请权限失败导致安装报错问题-开源基础软件社区

【小源笔记】第六期 | 解决应用申请权限失败导致安装报错问题-开源基础软件社区

完成后打包安装即可,如遇到以下install sign info inconsistent报错问题,只需将原来设备上安装的应用卸载再安装即可。

【小源笔记】第六期 | 解决应用申请权限失败导致安装报错问题-开源基础软件社区

结语

对于权限等级开发者应根据实际情况修改对应的应用APL等级,为了系统的安全切勿滥用权限,例如笔者上面的情况推荐的做法是方式二。

​​想了解更多关于开源的内容,请访问:​​

​​51CTO 开源基础软件社区​​

​​https://ost.51cto.com​​。

责任编辑:jianghua 来源: 51CTO开源基础软件社区 开发应用应用申请权限

(责任编辑:时尚)

    推荐文章
    热点阅读