首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >OpenHarmony 应用开发中普通应用如何提升应用等级

OpenHarmony 应用开发中普通应用如何提升应用等级

作者头像
徐建国
发布2023-02-23 11:36:26
发布2023-02-23 11:36:26
1.4K00
代码可运行
举报
文章被收录于专栏:个人路线个人路线
运行总次数:0
代码可运行

作者:坚果,公众号:”大前端之旅“,哔哩哔哩,OpenHarmony布道师,OpenHarmony校源行开源大使,51CTO博客专家博主,阿里云博客专家。

有时候,我们需要使用系统API,但是我们新建一个工程时,应用的类型默认为hos_normal_app(普通应用),APL级别默认为normal。

这个时候,我们就需要做些修改,如何修改呢?

我这里给大家给一个参考。

我们就拿这个权限举例

ohos.permission.SYSTEM_FLOAT_WINDOW

允许应用使用悬浮窗的能力。

权限级别:system_basic

授权方式:system_grant

ACL使能:TRUE

首先需要针对两种不同的模型,去声明权限

声明权限

Stage模型

使用Stage模型的应用,需要在module.json5配置文件中声明权限。

代码语言:javascript
代码运行次数:0
运行
复制
{
  "module" : {
    // ...
    "requestPermissions":[
      {
        "name" : "ohos.permission.SYSTEM_FLOAT_WINDOW",
        "reason": "$string:reason",
        "usedScene": {
          "abilities": [
            "FormAbility"
          ],
          "when":"always"
        }
      }
      
    ]
  }
}

FA模型

使用FA模型的应用,需要在config.json配置文件中声明权限。

代码语言:javascript
代码运行次数:0
运行
复制
{
  "module" : {
    // ...
    "reqPermissions":[
      {
        "name" : "ohos.permission.SYSTEM_FLOAT_WINDOW",
        "reason": "$string:reason",
        "usedScene": {
          "ability": [
            "FormAbility"
          ],
          "when":"always"
        }
      },
     
    ]
  }
}

修改HarmonyAppProvision配置文件

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

  1. 打开OpenHarmony SDK所在目录(可通过DevEco Studio菜单栏中单击File > Settings > OpenHarmony SDK界面查看 )。
  2. 在SDK目录下,进入Toolchains > {Version} > lib文件夹,打开“UnsgnedReleasedProfileTemplate.json”文件。
  3. 根据实际需求,修改对应的字段。

这里有两个办法:

1.找到allowed-acls这个字段。

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

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

代码语言:javascript
代码运行次数:0
运行
复制
 "acls": {
        "allowed-acls": [
            "ohos.permission.SYSTEM_FLOAT_WINDOW"
        ]
    },

2.还有一个办法就是

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

代码语言:javascript
代码运行次数:0
运行
复制
{
  ...
  "bundle-info":{
    "developer-id":"OpenHarmony",
    ...
    "apl":"system_basic",
    "app-feature":"hos_system_app"
  },
  ...
}

4.完成以上步骤后,打开DevEco Studio工具进行自动化签名即可。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2023-01-04,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 大前端之旅 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 声明权限
    • Stage模型
    • FA模型
  • 修改HarmonyAppProvision配置文件
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档