OpenHarmony应用开发技巧 - 如何安装ServiceExtensionAbility

本文档使用ServiceExtensionAbility文档中的示例工程ServiceExtAbility演示。

本文档使用ServiceExtensionAbility文档中的示例工程ServiceExtAbility演示。

OpenHarmony应用开发技巧 - 如何安装ServiceExtensionAbility

​想了解更多关于开源的内容,请访问:​

​清一色开源基础软件社区​

​https://ost.51cto.com​

概述

文档环境

功能简介

  • ServiceExtensionAbilitySERVICE类型的ExtensionAbility组件,提供后台服务相关扩展能力。ServiceExtensionAbility可以被其他组件启动或连接,并根据调用者的请求信息在后台处理相关事务,使用方法可以参考​​ServiceExtensionAbility文档​​学习。
  • 在使用ServiceExtensionAbility时,开发者遇到的最大问题为无法安装的问题,在安装过程中报install parse profile prop check error错误。本文档将带大家学习如何正确配置系统应用特权,使包含ServiceExtensionAbility组件的应用可以正确的安装在OpenHarmony系统中。
  • 本文档使用ServiceExtensionAbility文档中的示例工程ServiceExtAbility演示。

前期准备

克隆ServiceExtAbility工程,使用DevEco Studio打开并配置​​自动签名​​,构建HAP包。

OpenHarmony应用开发技巧 - 如何安装ServiceExtensionAbility-开源基础软件社区

由于本文档使用较新的SDK版本不适配于OpenHarmony 3.2 Beta5分支Sample的部分工程,需对此工程进行适配。

@ohos.application.AbilityStage 接口引用修改为 @ohos.app.ability.AbilityStage
@ohos.application.Ability 接口引用修改为 @ohos.app.ability.UIAbility
@ohos.application.ServiceExtensionAbility 接口引用修改为 @ohos.app.ability.ServiceExtensionAbility

适配完后构建成功。

OpenHarmony应用开发技巧 - 如何安装ServiceExtensionAbility-开源基础软件社区

安装构建好的HAP包,报failed to install bundle. error: install parse profile prop check error错误。

hdc install entry\build\default\outputs\default\entry-default-signed.hap

[Info]App install path:entry\build\default\outputs\default\entry-default-signed.hap,
queuesize:0,
msg:error: failed to install bundle. error: install parse profile prop check error.
AppMod finish

ServiceExtensionAbility目前仅供系统应用使用,需要在系统应用特权配置文件需配置相关应用的Service使用权限,未配置的应用是无法正确安装的。

如何安装ServiceExtensionAbility

证书指纹获取

指纹获取有多种方式,此处选用一种较为方便的方式,其他方式可参考​​OpenHarmony应用开发技巧 - 如何获取证书指纹​​。​

  1. 在工程中创建新ModuleFile > New > Module > Empty Ability。一直点击Next直到创建成功

OpenHarmony应用开发技巧 - 如何安装ServiceExtensionAbility-开源基础软件社区

  1. 执行Run > Run 'application'(application为新创建Module的名称),新创建的Module的HAP包被安装到系统中。

OpenHarmony应用开发技巧 - 如何安装ServiceExtensionAbility-开源基础软件社区

  1. 执行以下命令打印出HAP的finger信息,然后删除新创建的Module,恢复工程。

hdc shell "bm dump -n ohos.samples.eTSServiceExtAbility | grep finger"

OpenHarmony应用开发技巧 - 如何安装ServiceExtensionAbility-开源基础软件社区

7AA667BC46B8B1EAAA36EEFC2E7FED47BD49A68C7C07A36F29191769FCF36AD0

应用特权配置

  1. 提取当前系统中的特权配置文件install_list_capability.json,文件位于/etc/app/

hdc file recv /etc/app/install_list_capability.json D:\

OpenHarmony应用开发技巧 - 如何安装ServiceExtensionAbility-开源基础软件社区

  1. 在文档最下面添加应用的信息,以本文档示例工程为例。其中:
  • bundleName:应用包名。
  • app_signature:上一章节获取的证书指纹。
  • allowAppUsePrivilegeExtension:是否允许应用使用ServiceExtension、DataExtension。

OpenHarmony应用开发技巧 - 如何安装ServiceExtensionAbility-开源基础软件社区

  1. 将特权配置文件install_list_capability.json推送回系统中,覆盖系统配置。

hdc shell "mount -o remount,rw /"
hdc file send D:\install_list_capability.json /etc/app/install_list_capability.json

OpenHarmony应用开发技巧 - 如何安装ServiceExtensionAbility-开源基础软件社区

  1. 重启系统特权配置文件生效。

hdc shell reboot

应用安装验证

重新执行安装命令,安装前期准备章节中构建好的HAP包。

hdc install entry\build\default\outputs\default\entry-default-signed.hap

[Info]App install path:entry\build\default\outputs\default\entry-default-signed.hap,

queuesize:0,

msg:install bundle successfully.

AppMod finish

OpenHarmony应用开发技巧 - 如何安装ServiceExtensionAbility-开源基础软件社区

参考文档

​OpenHarmony Gitee Docs - 应用特权配置指南​

​想了解更多关于开源的内容,请访问:​

​清一色开源基础软件社区​

​https://ost.51cto.com​

©本文为清一色官方代发,观点仅代表作者本人,与清一色无关。清一色对文中陈述、观点判断保持中立,不对所包含内容的准确性、可靠性或完整性提供任何明示或暗示的保证。本文不作为投资理财建议,请读者仅作参考,并请自行承担全部责任。文中部分文字/图片/视频/音频等来源于网络,如侵犯到著作权人的权利,请与我们联系(微信/QQ:1074760229)。转载请注明出处:清一色财经

(0)
打赏 微信扫码打赏 微信扫码打赏 支付宝扫码打赏 支付宝扫码打赏
清一色的头像清一色管理团队
上一篇 2023年5月7日 06:51
下一篇 2023年5月7日 06:52

相关推荐

发表评论

登录后才能评论

联系我们

在线咨询:1643011589-QQbutton

手机:13798586780

QQ/微信:1074760229

QQ群:551893940

工作时间:工作日9:00-18:00,节假日休息

关注微信