OpenHarmony應用開發(fā)技巧 - 如何安裝ServiceExtensionAbility
概述
文檔環(huán)境
- 開發(fā)環(huán)境: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
- 開發(fā)板型號:DAYU 200
- 系統(tǒng)版本:OpenHarmony 3.2 Beta5
- 示例工程:??ServiceExtAbility的創(chuàng)建與使用(OpenHarmony 3.2 Beta5分支)??
功能簡介
- ServiceExtensionAbility是SERVICE類型的ExtensionAbility組件,提供后臺服務相關擴展能力。ServiceExtensionAbility可以被其他組件啟動或連接,并根據調用者的請求信息在后臺處理相關事務,使用方法可以參考??ServiceExtensionAbility文檔??學習。
- 在使用ServiceExtensionAbility時,開發(fā)者遇到的最大問題為無法安裝的問題,在安裝過程中報 install parse profile prop check error 錯誤。本文檔將帶大家學習如何正確配置系統(tǒng)應用特權,使包含ServiceExtensionAbility組件的應用可以正確的安裝在OpenHarmony系統(tǒng)中。
- 本文檔使用ServiceExtensionAbility文檔中的示例工程ServiceExtAbility演示。
前期準備
克隆ServiceExtAbility工程,使用DevEco Studio打開并配置??自動簽名??,構建HAP包。
由于本文檔使用較新的SDK版本不適配于OpenHarmony 3.2 Beta5分支Sample的部分工程,需對此工程進行適配。
適配完后構建成功。
安裝構建好的HAP包,報failed to install bundle. error: install parse profile prop check error錯誤。
ServiceExtensionAbility目前僅供系統(tǒng)應用使用,需要在系統(tǒng)應用特權配置文件需配置相關應用的Service使用權限,未配置的應用是無法正確安裝的。
如何安裝ServiceExtensionAbility
證書指紋獲取
指紋獲取有多種方式,此處選用一種較為方便的方式,其他方式可參考??OpenHarmony應用開發(fā)技巧 - 如何獲取證書指紋??。?
- 在工程中創(chuàng)建新Module,File > New > Module > Empty Ability。一直點擊Next 直到創(chuàng)建成功。
- 執(zhí)行Run > Run 'application'(application為新創(chuàng)建Module的名稱),新創(chuàng)建的Module 的HAP包被安裝到系統(tǒng)中。
- 執(zhí)行以下命令打印出HAP的finger 信息,然后刪除新創(chuàng)建的Module ,恢復工程。
hdc shell "bm dump -n ohos.samples.eTSServiceExtAbility | grep finger"
7AA667BC46B8B1EAAA36EEFC2E7FED47BD49A68C7C07A36F29191769FCF36AD0
應用特權配置
- 提取當前系統(tǒng)中的特權配置文件install_list_capability.json ,文件位于/etc/app/ 中。
hdc file recv /etc/app/install_list_capability.json D:\
- 在文檔最下面添加應用的信息,以本文檔示例工程為例。其中:
- bundleName:應用包名。
- app_signature:上一章節(jié)獲取的證書指紋。
- allowAppUsePrivilegeExtension:是否允許應用使用ServiceExtension、DataExtension。
- 將特權配置文件install_list_capability.json 推送回系統(tǒng)中,覆蓋系統(tǒng)配置。
hdc shell "mount -o remount,rw /"
hdc file send D:\install_list_capability.json /etc/app/install_list_capability.json
- 重啟系統(tǒng)特權配置文件生效。
hdc shell reboot
應用安裝驗證
重新執(zhí)行安裝命令,安裝前期準備章節(jié)中構建好的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