OpenHarmony应用开发技巧 | 您所在的位置:网站首页 › hap应用是什么 › OpenHarmony应用开发技巧 |
概述
文档环境
开发环境:Windows 11 DevEco Studio 版本:DevEco Studio 3.1 Beta1(3.1.0.200) SDK 版本:3.2.10.7(OpenHarmony 3.2 Beta5 Full SDK) 应用模型:Stage 开发板型号:DAYU 200 系统版本:OpenHarmony 3.2 Beta5 示例工程:ServiceExtAbility的创建与使用(OpenHarmony 3.2 Beta5分支) 功能简介ServiceExtensionAbility是SERVICE类型的ExtensionAbility组件,提供后台服务相关扩展能力。ServiceExtensionAbility可以被其他组件启动或连接,并根据调用者的请求信息在后台处理相关事务,使用方法可以参考ServiceExtensionAbility文档学习。 在使用ServiceExtensionAbility时,开发者遇到的最大问题为无法安装的问题,在安装过程中报 install parse profile prop check error 错误。本文档将带大家学习如何正确配置系统应用特权,使包含ServiceExtensionAbility组件的应用可以正确的安装在OpenHarmony系统中。 本文档使用ServiceExtensionAbility文档中的示例工程ServiceExtAbility演示。 前期准备克隆ServiceExtAbility工程,使用DevEco Studio打开并配置自动签名,构建HAP包。 ![]() 由于本文档使用较新的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适配完后构建成功。 ![]() 安装构建好的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 finishServiceExtensionAbility目前仅供系统应用使用,需要在系统应用特权配置文件需配置相关应用的Service使用权限,未配置的应用是无法正确安装的。 如何安装ServiceExtensionAbility 证书指纹获取指纹获取有多种方式,此处选用一种较为方便的方式,其他方式可参考OpenHarmony应用开发技巧 - 如何获取证书指纹。 在工程中创建新 Module,File > New > Module > Empty Ability。一直点击 Next 直到创建成功。 ![]() 执行 Run > Run 'application',新创建的 Module 的HAP包被安装到系统中。 ![]() 执行以下命令打印出HAP的 finger 信息,然后删除新创建的 Module ,恢复工程。 hdc shell "bm dump -n ohos.samples.eTSServiceExtAbility | grep finger"![]() 提取当前系统中的特权配置文件 install_list_capability.json ,文件位于 /etc/app/ 中。 hdc file recv /etc/app/install_list_capability.json D:\![]() 在文档最下面添加应用的信息,以本文档示例工程为例。其中: bundleName:应用包名。 app_signature:上一章节获取的证书指纹。 allowAppUsePrivilegeExtension:是否允许应用使用ServiceExtension、DataExtension。 ![]() 将特权配置文件 install_list_capability.json 推送回系统中,覆盖系统配置。 hdc shell "mount -o remount,rw /" hdc file send D:\install_list_capability.json /etc/app/install_list_capability.json![]() 重启系统特权配置文件生效。 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 Gitee Docs - 应用特权配置指南 |
今日新闻 |
推荐新闻 |
专题文章 |
CopyRight 2018-2019 实验室设备网 版权所有 |