OpenHarmony3.2 安装系统应用

OpenHarmony3.2开启了严格的权限管控, 普通应用程序无法调用系统API, 应用需要修改应用为system_core级别才能访问系统API. 此外3.2OS支持预置系统权限(系统初次启动自动配置敏感权限, 无需向用户申请), 本文将介绍如何手动安装系统应用和预置权限

本文基于Deveco Studio一键签名操作

1. 修改HarmonyAppProvision配置文件

创建新工程时, 该应用的类型默认为hos_normal_app(普通应用),APL级别默认为normal。

当需要使用系统API时,需要手动修改app-feature字段为hos_system_app(系统应用);当需要申请高级别权限时,可能需要修改apl、acl等字段,请根据实际需要,参考访问控制开发概述
进行修改。

可以参考以下步骤,修改HarmonyAppProvision配置文件。

  1. 打开OpenHarmony SDK所在目录(可通过DevEco Studio菜单栏中单击File > Settings > OpenHarmony SDK界面查看 )。

  2. 在SDK目录下,进入Toolchains > {Version} > lib文件夹,打开“UnsgnedReleasedProfileTemplate.json”文件。

  3. 根据实际需求,修改对应的字段。

    {
      // others...
      "bundle-info": {
        // 表示可以调用系统核心API
        "apl": "system_core",
        "app-feature":"hos_system_app"
      },
      "acls": {
        "allowed-acls": [
          // 根据实际需求,填写acl权限
        ]
      },
    }
    
  4. 使用Deveco Studio重新签名

以下为手动安装配置依赖过程, 目前提供一键安装系统应用的python脚本, 推荐使用

2. 证书指纹获取

  1. 连接shell, 开启hilog debug级别日志

    hdc_shell shell hilog -b D
    
  2. 使用Deveco Studio重新生成签名, 编译安装, 打开hilog, 过滤finger关键字查看指纹
    请添加图片描述

3. 替换预安装配置文件

  1. 使用hdc file recv 命令pull配置文件

    hdc_std shell mount -o remount,rw /
    hdc_std file recv system/etc/app/install_list.json
    hdc_std file recv system/etc/app/install_list_capability.json
    hdc_std file recv system/etc/app/install_list_permissions.json
    

    请添加图片描述

  2. 参考其他应用, 新增或修改预安装配置文件

    install_list.json – 预安装配置, 配置hap包安装目录
    install_list_capability.json – 包能力配置, 填写应用bundleName和从步骤2获取的指纹等信息
    install_list_permissions.json – 预赋权限配置, 填写bundleName和指纹和权限等信息

  3. 推送hap应用, 预安装配置文件

    hdc_std shell mount -o remount,rw /
    forfiles /M *.json /C "cmd /c hdc_std file send @path system/etc/app/"
    hdc_std shell mkdir system/app/{your_hap_bundleName}/
    hdc_std file send ${your_hap_path} system/app/${your_hap_bundleName}/
    hdc_std shell chmod -R 777 system/app/${your_hap_bundleName}/
    hdc_std shell bm install -u 0 -p system/app/${your_hap_bundleName}/${your_hap_name}
    pause
    

    ![请添加图片描述](https://img-blog.csdnimg.cn/ace4b0a0f1114947a3f3d6cfed2f86b2.png

4. 参考

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐