相关问题
有谁知道常用AppFreeze使用指导
836浏览 • 1回复 待解决
JSVM使用示例,有谁知道吗?
888浏览 • 1回复 待解决
动态页面跳转方案,有谁知道吗?
1694浏览 • 1回复 待解决
同进程多Hap问题 ,有谁知道吗?
1299浏览 • 1回复 待解决
有谁知道常用hdc命令使用指导
2366浏览 • 1回复 待解决
有谁知道如何访问沙盒路径
424浏览 • 1回复 待解决
有谁知道如何生成UUID
1486浏览 • 1回复 待解决
有谁知道如何创建 JSONObject
244浏览 • 1回复 待解决
有谁知道flexBasis使用问题
704浏览 • 1回复 待解决
有谁知道ArkTS支持定时器吗
2465浏览 • 1回复 待解决
有谁知道ArkTS支持隐式跳转吗?
1661浏览 • 1回复 待解决
滑动选择组件,有谁知道怎么解决吗?
579浏览 • 1回复 待解决
有谁知道可以直接使用so库吗?
914浏览 • 1回复 待解决
集成HAR包报错,有谁知道怎么解决吗?
570浏览 • 1回复 待解决
有谁知道应用升级的方式
1575浏览 • 1回复 待解决
有谁知道如何理解栅格布局
288浏览 • 1回复 待解决
有谁知道如何主动关闭应用
1749浏览 • 1回复 待解决
有谁知道Image图片取反色
1944浏览 • 1回复 待解决
有谁知道沙箱目录怎么获取
2161浏览 • 1回复 待解决
多个har引用问题,有谁知道怎么解决吗?
1452浏览 • 1回复 待解决
有谁知道an\ai文件是什么
1735浏览 • 1回复 待解决
有谁知道如何获取IMEI码
1894浏览 • 1回复 待解决
有谁知道如何屏蔽触摸事件
1613浏览 • 1回复 待解决
有谁知道如何强制退出app?
276浏览 • 1回复 待解决
有谁知道是否支持帧动画
2156浏览 • 1回复 待解决
ATM(AccessTokenManager)是OpenHarmony上基于AccessToken构建的统一的应用权限管理能力。默认情况下,应用只能访问有限的系统资源;但某些情况下,应用为了扩展功能的诉求,需要访问额外的系统或其他应用的数据(包括用户个人数据)、功能;系统或应用也必须以明确的方式对外提供接口来共享其数据或功能。
当应用访问操作目标对象时,目标对象会对应用进行权限检查,如果没有对应权限,则访问操作将被拒绝。
权限等级说明
应用权限等级包括应用APL等级和访问控制列表(ACL)两部分。
应用APL等级可以分为三个等级,分别是:
APL级别
说明
system_core
该等级的应用服务提供操作系统核心能力。
system_basic
该等级的应用服务提供系统基础服务。
normal
普通应用。
默认情况下,应用的APL等级都为normal等级,APL等级级别:normal < system_basic < system_core。原则上,拥有低APL等级的应用默认无法申请更高等级的权限。访问控制列表ACL(Access Control List)提供了解决低等级应用访问高等级权限问题的特殊渠道。
权限类型说明
根据授权方式的不同,权限类型可分为system_grant(系统授权)和user_grant(用户授权)。
典型场景
开发者正在开发应用A,该应用的APL等级为normal级别。由于功能场景需要,应用A必须申请到权限B和权限C,其中,权限B的权限等级为system_basic,权限C的权限等级为normal级别。假如应用没有提升访问控制权限等级,就会报错:install failed due to grant request permissions failed。遇到该报错,首先检查module.json5文件申请权限是否全是必需权限,如果无法进一步删减,则需要手动签名提升应用权限。
签名前准备
l 安装python3.5以上
l 安装JDK1.8以上
IDE自动签名
1. 下载Hap包签名工具。
2. 拷贝developtools_hapsigner/dist下的hap-sign-tool.jar文件到developtools_hapsigner/autosign目录。
3. 修改developtools_hapsigner/autosign目录下的UnsgnedReleasedProfileTemplate.json文件。
4. 图中1的位置bundle-name修改为自己应用的bundleName,图中2的位置填写自己应用需要申请的所有权限。
5. 修改developtools_hapsigner/autosign目录下的autosign.py文件,把标记的两个去掉。
6. developtools_hapsigner/autosign目录下的createAppCertAndProfile.config文件第一行config.signtool修改为:config.signtool=./hap-sign-tool.jar。
7. 执行developtools_hapsigner/autosign目录下的create_appcert_sign_profile.bat脚本,会在developtools_hapsigner\autosign\result目录下生成app1.pem、app1-profile.p7b、OpenHarmony.p12三个文件。
8. 通过DevEco编译Hap包,拷贝unsigned后缀的文件到developtools_hapsigner\autosign目录下。
9. 修改developtools_hapsigner/autosign目录下的signHap.config文件。
10. 图中1的位置config.signtool修改为config.signtool=./hap-sign-tool.jar,图中2的位置填写第7步拷贝过来的unsigned的Hap包文件名,图中3的位置可以自定义签名后的Hap包文件名。
11. 运行developtools_hapsigner/autosign目录下的sign_hap.bat,签名成功后会在developtools_hapsigner\autosign\result目录下生成签名好的Hap包。
12. 执行hdc_std install -r 签名Hap包文件路径可以将签名好的Hap包安装到设备上。