HarmonyOS 鸿蒙Next怎么把自己的demo应用搞成系统应用并使用datashare(仅限系统应用)

发布于 1周前 作者 itying888 来自 鸿蒙OS

HarmonyOS 鸿蒙Next怎么把自己的demo应用搞成系统应用并使用datashare(仅限系统应用) 怎么把自己的demo应用搞成系统应用,我看datashare只限系统应用

3 回复

默认情况下,应用的APL等级都为normal等级。当应用需要申请权限项的等级高于应用默认的等级时,需要通过ACL方式进行声明使用。应用可申请的权限项参见应用权限列表

1. 打开D:\DevEcoSdk\OpenHarmony\Sdk_4.0.1.2_20221216_081017_Monthly\10\toolchains\lib\UnsgnedReleasedProfileTemplate.json文件。

2. 修改bundle-name字段为Demo对应的Bundle名称,并且将相关权限项配置到HarmonyAppProvision配置文件的acl字段中。

例如应用在申请访问用户公共目录下音乐类型的文件,需要申请ohos.permission.WRITE_AUDIO权限,该权限为system_basic等级;以及应用在申请截取屏幕图像功能,该权限为system_core等级,需要申请ohos.permission.CAPTURE_SCREEN权限。

3. 配置完成之后,对工程重新签名后安装使用即可。

说明:在安装HAP包时,如果仍然报签名错误,可以在工程级build-profile.json5文件中,删除对应的签名内容,再次重新签名使用即可。


如果想修改成系统权限的话

说明:系统应用需要下载Full SDK进行使用,SDK下载参见OpenHarmony SDK转测试版本

1. 打开D:\Huawei\DevEcoStudioSdk\OpenHarmony\Sdk\10\toolchains\lib\UnsgnedReleasedProfileTemplate.json文件。

说明:

需要修改OpenHarmony SDK的Release Profile文件。

2. 修改bundle-name字段为Demo对应的Bundle名称,并且修改app-feature参数属性,配置应用类型为系统应用。

  • hos_normal_app:普通应用(默认)
  • hos_system_app:系统应用
{
  ...
  "bundle-info":{
    ...
    "bundle-name": "com.example.myapplication",
    ...
    "app-feature": "hos_system_app"
  },
  ...
}

3. 打开Project Structure > Signing Configs菜单,去勾选Support HarmonyOS,只勾选Automatically generate signature,对应用进行重新签名。

4. 完成签名之后,Run到设备中。

更多关于HarmonyOS 鸿蒙Next怎么把自己的demo应用搞成系统应用并使用datashare(仅限系统应用)的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


在HarmonyOS系统中,三方应用不允许设置为系统应用。

要将自己的demo应用转换为鸿蒙系统的系统应用并使用datashare功能,你需要执行以下步骤:

  1. 应用打包:首先,确保你的demo应用已经按照鸿蒙系统的应用开发规范进行打包,生成HAP(HarmonyOS Ability Package)文件。

  2. 签名与认证:系统应用需要经过特定的签名和认证流程。你需要获取鸿蒙系统的签名密钥,并对你的HAP文件进行签名。此外,可能还需要向华为申请系统应用的认证。

  3. 部署到系统分区:将签名后的HAP文件部署到鸿蒙系统的系统分区中,这通常需要设备拥有root权限或通过特定的开发工具进行。

  4. 配置权限:在系统应用的配置文件中,添加对datashare功能的权限声明。确保你的应用有权访问和使用系统级的datashare服务。

  5. 使用datashare:在你的应用代码中,通过鸿蒙系统提供的API来调用和使用datashare功能。注意遵循鸿蒙系统的开发文档和API规范。

如果问题依旧没法解决请联系官网客服,官网地址是:https://www.itying.com/category-93-b0.html

回到顶部