5 升级App为system权限
调用system相关api,如power.reboot('reboot_test')
,需要system权限。资料相对比较分散,甚至遇到一些问题。以下是配置system权限的步骤
升级APP为system权限需要修改两个位置,一是DevEco Studio里添加requestPermissions,二是OpenHarmony sdk里配置为system。下面以重启接口power.reboot('reboot_test');
为例。
A. DevEco Studio 相关业务代码里使用接口:
try {
console.info('onPageShow reboot start.')
// @ts-ignore
power.reboot('reboot_test')
} catch (err) {
console.error('reboot failed, err: ' + err)
}
B. module.json5里增加权限ohos.permission.REBOOT
"module": {
-----
"requestPermissions":[
{
"name" : "ohos.permission.REBOOT"
}
]
----
}
C. OpenHarmony sdk修改UnsgnedReleasedProfileTemplate.json文件,如这边的文件地址为:
D:\SDKs\OpenHarmony\sdk\10\toolchains\lib
修改"bundle-name" 为应用包名,apl为"system_core"
"bundle-name":"com.smdt.ostools.agingtest",
"apl":"system_core",
"app-feature":"hos_system_app"
D. 重新生成key,DevEco Studio-->Project Structure -> project ->Signing Configs。此处要注意,要勾掉Support HarmonyOS,进入相关文件夹,看下新生成key的修改时间,确认是否重新生成,如果未重新生成,先删掉旧key,再重新生成。

F. 运行APP,如果安装成功,且未打印 "reboot failed, err", 重启成功,且完成System权限升级。
G. 系统签名

在sdk目录找到如上文件,修改如下
