#夏日挑战赛#OpenHarmony 应用安装报权限错误 原创

发布于 2022-8-1 10:18
浏览
1收藏

背景

最近从OpenHarmony官方app_sample仓库下载了一些 sample 到本地安装,但安装时出现权限问题,提示:Failed due to grant request permissions failed

#夏日挑战赛#OpenHarmony 应用安装报权限错误-开源基础软件社区

从错误日志上看安装失败原因:由于授予请求权限失败,安装失败。

环境

  • 设备:DAYU200【RK3568】
  • 系统:OpenHarmony 3.2 Beat1
  • SDK:8
  • IDE:DevEco Studio 3.0 Beta4,Build Version: 3.0.0.992, built on July 14, 2022

问题分析与解决

知道是权限问题,现在要确认是那些权限导致,OpenHarmony中涉及的权限等级你可以参看:查看申请权限的等级,文档中列举出了目前OpenHarmony所有的权限和权限等级,如果权限的等级值为: “availableLevel”: “system_basic”,则需要在UnsgnedReleasedProfileTemplate.json 配置alcs字段,将需要的高等级权限放在acls中,具体做法如下:

解决方案

步骤1:下载签名需要的工具包

说明:签名工具下载解压后可以看到以下几个文件
备注:见在文末附件:OpenHarmony签名证书工具.zip
#夏日挑战赛#OpenHarmony 应用安装报权限错误-开源基础软件社区

步骤2:修改UnsgnedReleasedProfileTemplate.json

1、新增acls字段,将权限等级为system_basic添加到此对象中,如下图:
#夏日挑战赛#OpenHarmony 应用安装报权限错误-开源基础软件社区

2、修改bundler-name为需要编译的名称,如下图:
#夏日挑战赛#OpenHarmony 应用安装报权限错误-开源基础软件社区

步骤3:执行签名脚本

说明:点击“签名证书.bat”执行签名脚本,生成myApplication_ohos_Provision.p7b。

  • 签名证书.bat脚本的内容
java -jar hap-sign-tool.jar sign-profile -mode "localSign" -keyAlias "OpenHarmony Application Profile Release" -keyPwd "123456" -inFile "UnsgnedReleasedProfileTemplate.json" -outFile "myApplication_ohos_Provision.p7b" -keystoreFile "OpenHarmony.p12" -keystorePwd "123456"  -signAlg "SHA256withECDSA" -profileCertFile "OpenHarmonyProfileRelease.pem" -validity "365" -developer-id "ohosdeveloper"

步骤4:配置签名

说明:在DevEco Studio->Project Stucture->Signing Configs中添加签名需要的必要文件。

#夏日挑战赛#OpenHarmony 应用安装报权限错误-开源基础软件社区

备注:因为签名文件我是从早前的代码仓库下载的,如果出现上图中提示的问题,可以先忽略,编译打包正常。

签名文件配置完成,可以在项目的 build-profile.json5 文件中查看签名配置内容:
#夏日挑战赛#OpenHarmony 应用安装报权限错误-开源基础软件社区

步骤5:重新编译运行

说明:重新运行安装
#夏日挑战赛#OpenHarmony 应用安装报权限错误-开源基础软件社区

这样就可以安装成功了。

参看文档:华为技术社区解决方案

感谢

如果您能看到最后,还希望您能动动手指点个赞,一个人能走多远关键在于与谁同行,我用跨越山海的一路相伴,希望得到您的点赞。

©著作权归作者所有,如需转载,请注明出处,否则将追究法律责任
OpenHarmony签名证书工具.zip 7.18M 23次下载
2
收藏 1
回复
举报
回复
添加资源
添加资源将有机会获得更多曝光,你也可以直接关联已上传资源 去关联
    相关推荐