GHOST系统之家 - Windows系统光盘下载网站!
当前位置:GHOST系统之家>系统教程 > OpenHarmony自定义系统应用之实践介绍

OpenHarmony自定义系统应用之实践介绍

来源:Ghost系统之家浏览:时间:2023-06-28 09:01:21

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

51CTO开源基础软件社区

https://ost.51cto.com

前言

OpenHarmony系统应用是指预装在OpenHarmony操作系统中的应用程序,也称为系统应用。这些应用程序通常由操作系统开发者开发,包括系统设置、电话、短信、浏览器、相机、音乐、视频等常用应用程序。这些应用程序通常具有更高的权限和更深入的系统集成,可以访问更多的系统资源和功能。自定义系统应用是指用户自己开发或定制的OpenHarmony系统应用程序。用户可以根据自己的需求和喜好,开发或定制自己的系统应用程序,如主题、锁屏、桌面、通知栏等。这些应用程序通常具有更高的个性化和定制化,可以满足用户更多的需求和偏好。

本文从文件准备、生成签名包、系统集成几个方面,介绍如何在OpenHarmony系统上开发自定义的系统应用,供开发者学习参考。

1、文件准备

(1)未签名应用包

选模板

在DevEco Studio中选择自定义应用所需的模板。

OpenHarmony自定义系统应用之实践介绍-开源基础软件社区OpenHarmony自定义系统应用之实践介绍-开源基础软件社区

然后选择自定义应用所需的应用模型、SDK。

OpenHarmony自定义系统应用之实践介绍-开源基础软件社区OpenHarmony自定义系统应用之实践介绍-开源基础软件社区

最后按照模板引导创建ArkTS工程。

编译包

工程创建成功后,启动编译选项,生成未签名的hap包。

OpenHarmony自定义系统应用之实践介绍-开源基础软件社区OpenHarmony自定义系统应用之实践介绍-开源基础软件社区

编译成功后,在工程目录\entry\build\default\outputs\default路径下,可见生成的未签名hap包。

OpenHarmony自定义系统应用之实践介绍-开源基础软件社区OpenHarmony自定义系统应用之实践介绍-开源基础软件社区

(2)签名所需文件

为了保证OpenHarmony应用的完整性和来源可靠,在应用构建时需要对应用进行签名。经过签名的应用才能在真机设备上安装、运行、和调试。本文介绍的是使用签名工具以命令行方式进行Hap包签名的方法,签名所需文件如下:

签名密钥库文件:OpenHarmony.p12Profile签名证书:OpenHarmonyProfileRelease.pem、OpenHarmonyProfileDebug.pemProfile模板文件:UnsgnedReleasedProfileTemplate.json、UnsgnedDebugProfileTemplate.json签名工具:hap-sign-tool.jar

以上文件可在SDK中会获得。

OpenHarmony自定义系统应用之实践介绍-开源基础软件社区OpenHarmony自定义系统应用之实践介绍-开源基础软件社区

OpenHarmony自定义系统应用之实践介绍-开源基础软件社区OpenHarmony自定义系统应用之实践介绍-开源基础软件社区

签名工具工具详细说明。

2、生成签名应用包

(1)修改profile

app1-profile-release.json中会定义当前应用名称"bundle-name"、应用的权限等级"apl"。权限等级有normal、system_basic、system_core三种,默认等级为normal,对于系统应用的话,需要修改权限,此处改为system_core。应用名称改为用户自定义的包名即可,此处改为com.example.zjxapp。

{"version-name": "2.0.0","version-code": 2,"app-distribution-type": "os_integration","uuid": "5027b99e-5f9e-465d-9508-a9e0134ffe18","validity": {"not-before": 1594865258,"not-after": 1689473258},"type": "release","bundle-info": {"developer-id": "OpenHarmony","distribution-certificate": "-----BEGIN CERTIFICATE-----\nMIICFTCCAZmgAwIBAgIEFRGSbjAMBggqhkjOPQQDAwUAMGMxCzAJBgNVBAYTAkNO\nMRQwEgYDVQQKEwtPcGVuSGFybW9ueTEZMBcGA1UECxMQT3Blbkhhcm1vbnkgVGVh\nbTEjMCEGA1UEAxMaT3Blbkhhcm1vbnkgQXBwbGljYXRpb24gQ0EwHhcNMjIwNDAy\nMDY1OTA4WhcNMzIwMzMwMDY1OTA4WjBKMRUwEwYDVQQDDAxpZGVfZGVtb19hcHAx\nDTALBgNVBAsTBFVuaXQxFTATBgNVBAoTDE9yZ2FuaXphdGlvbjELMAkGA1UEBhMC\nQ04wWTATBgcqhkjOPQIBBggqhkjOPQMBBwNCAARGc9ftjM6ncln8AqF0AhTsyphc\nhmKWktwgsZwisqy7X+clViYnbw9WpRRoxJYeZ6GL3MUiOHiM9UDpwOmjdYPOo1Iw\nUDAdBgNVHQ4EFgQUG91q9tKNxBRQgQFzfuSnhrP/mKcwDgYDVR0PAQH/BAQDAgeA\nMB8GA1UdIwQYMBaAFNuGtyIW1QuhS7fdJXu58QV9oi1HMAwGCCqGSM49BAMDBQAD\naAAwZQIweNK78cfmJdBVSMowMukZoIevBFNRNVYaUxxWpbn+X2Y9x8STmxqHhPj6\np0wKd9qnAjEAuU/AuW9NO04joHCJnM0I2PkDWJKw+eJiVc3ggLAOJTE9TfXyN0JM\nUdjqqzpQQj4u\n-----END CERTIFICATE-----\n","bundle-name": "com.example.zjxapp","apl": "system_core","app-feature": "hos_system_app"},"acls": {"allowed-acls": [""]},"permissions": {"restricted-permissions": [ ]},"issuer": "pki_internal"}

(2)签名Profile

Profile签名流程如下图:

OpenHarmony自定义系统应用之实践介绍-开源基础软件社区OpenHarmony自定义系统应用之实践介绍-开源基础软件社区

由图可见,根据sdk中的p12文件、2.1章节的profile文件,可以生成签名的Profile文件,文件格式为*.p7b;命令如下

java -jar hap-sign-tool.jarsign-profile -keyAlias "OpenHarmony Application Release" -signAlg "SHA256withECDSA" -mode "localSign" -profileCertFile "OpenHarmonyApplication.pem" -inFile "app1-profile-release.json" -keystoreFile "OpenHarmony.p12" -outFile "profile.p7b" -keyPwd "123456" -keystorePwd "123456"

(3)签名应用

应用签名流程如下图:

OpenHarmony自定义系统应用之实践介绍-开源基础软件社区OpenHarmony自定义系统应用之实践介绍-开源基础软件社区

由图可见,根据1.1中未签名的应用包以及2.2签名的Profile文件,可以生成签名的应用,命令如下

java -jar hap-sign-tool.jar sign-app -keyAlias "OpenHarmony Application Release" -signAlg "SHA256withECDSA" -mode "localSign" -appCertFile "OpenHarmonyApplication.pem" -profileFile "profile.p7b" -inFile "entry-default-unsigned.hap" -keystoreFile "OpenHarmony.p12" -outFile "zjxapp.hap" -keyPwd "123456" -keystorePwd "123456"

注意:entry-default-unsigned.hap为你未签名的hap包,zjxapp.hap为签名后生成的包

3、系统集成

(1)增加hap包

将2.3生成的包拷贝到applications\standard\hap路径下

OpenHarmony自定义系统应用之实践介绍-开源基础软件社区OpenHarmony自定义系统应用之实践介绍-开源基础软件社区

(2)修改gn文件

gn文件路径为:\applications\standard\hap\BUILD.gn,在文件中增加如下代码:

ohos_prebuilt_etc("zjxapp_hap") {source = "zjxapp.hap"module_install_dir = "app/com.ohos.zjxapp"part_name = "prebuilt_hap"subsystem_name = "applications"}

修改依赖项deps,增加zjxapp_hap:

group("hap") {deps = ["//applications/standard/hap:calc_demo_hap","//applications/standard/hap:zjxapp_hap",]

(3)修改预安装配置

获取app_signature

app_signature信息需要在系统预安装配置中使用,故需要优先生成app_signature。

新建profiler.cer文件

任意路径下新建一文件,命名为profiler.cer

添加profiler.cer内容

根据2.2生成的p7b文件中distribution-certificate字段的值到profiler.cer文件中,去掉回车符,示例如图:

OpenHarmony自定义系统应用之实践介绍-开源基础软件社区OpenHarmony自定义系统应用之实践介绍-开源基础软件社区

获取app_signature

到profiler.cer路径下,在命令行终端中根据证书文件获取签名信息,命令如下:

keytool -printcert -file .\profiler.cer

命令执行后结果如图所示:

OpenHarmony自定义系统应用之实践介绍-开源基础软件社区OpenHarmony自定义系统应用之实践介绍-开源基础软件社区

将SHA256值去掉冒号即可得到app_signature

修改权限配置文件

修改install_list

根据包名修改vendor\hihope\rk3568\preinstall-config\install_list.json

OpenHarmony自定义系统应用之实践介绍-开源基础软件社区OpenHarmony自定义系统应用之实践介绍-开源基础软件社区

修改install_list_capability

根据包名、app_signature修改vendor\hihope\rk3568\preinstall-config\install_list_capability.json

OpenHarmony自定义系统应用之实践介绍-开源基础软件社区OpenHarmony自定义系统应用之实践介绍-开源基础软件社区

修改install_list_permissions

根据包名、app_signature、以及需要的权限修改vendor\hihope\rk3568\preinstall-config\install_list_permissions.json

OpenHarmony自定义系统应用之实践介绍-开源基础软件社区OpenHarmony自定义系统应用之实践介绍-开源基础软件社区

(4)编译烧录

以上修改完成后,编译成功,进行烧录。烧录成功后,预置的系统应用显示在桌面上。

4、总结

本文介绍如何在OpenHarmony系统上开发自定义的系统应用,重点介绍了如何使用打包工具命令行方式生成应用签名包的方法,以及如何修改预置应用配置的步骤,开发者在此基础上即可开发自定义的系统应用程序,以便更好地提高系统的定制化和个性化、增强系统的功能和竞争力、满足用户需求等。

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

51CTO开源基础软件社区

https://ost.51cto.com

推荐系统

  • 电脑公司Ghost Win8.1 x32 精选纯净版2022年7月(免激活) ISO镜像高速下载

    电脑公司Ghost Win8.1 x32 精选纯净版2022年7月(免激活) ISO镜像高速下载

    语言:中文版系统大小:2.98GB系统类型:Win8

    电脑公司Ghost Win8.1x32位纯净版V2022年7月版本集成了自2022流行的各种硬件驱动,首次进入系统即全部硬件已安装完毕。电脑公司Ghost Win8.1x32位纯净版具有更安全、更稳定、更人性化等特点。集成最常用的装机软件,精心挑选的系统维护工具,加上绿茶独有

  • 微软Win11原版22H2下载_Win11GHOST 免 激活密钥 22H2正式版64位免费下载

    微软Win11原版22H2下载_Win11GHOST 免 激活密钥 22H2正式版64位免费下载

    语言:中文版系统大小:5.13GB系统类型:Win11

    微软Win11原版22H2下载_Win11GHOST 免 激活密钥 22H2正式版64位免费下载系统在家用办公上跑分表现都是非常优秀,完美的兼容各种硬件和软件,运行环境安全可靠稳定。Win11 64位 Office办公版(免费)优化  1、保留 Edge浏览器。  2、隐藏“操作中心”托盘图标。  3、保留常用组件(微软商店,计算器,图片查看器等)。  5、关闭天气资讯。 

  • Win11 21H2 官方正式版下载_Win11 21H2最新系统免激活下载

    Win11 21H2 官方正式版下载_Win11 21H2最新系统免激活下载

    语言:中文版系统大小:4.75GB系统类型:Win11

    Ghost Win11 21H2是微软在系统方面技术积累雄厚深耕多年,Ghost Win11 21H2系统在家用办公上跑分表现都是非常优秀,完美的兼容各种硬件和软件,运行环境安全可靠稳定。Ghost Win11 21H2是微软最新发布的KB5019961补丁升级而来的最新版的21H2系统,以Windows 11 21H2 22000 1219 专业版为基础进行优化,保持原汁原味,系统流畅稳定,保留常用组件

  • windows11中文版镜像 微软win11正式版简体中文GHOST ISO镜像64位系统下载

    windows11中文版镜像 微软win11正式版简体中文GHOST ISO镜像64位系统下载

    语言:中文版系统大小:5.31GB系统类型:Win11

    windows11中文版镜像 微软win11正式版简体中文GHOST ISO镜像64位系统下载,微软win11发布快大半年了,其中做了很多次补丁和修复一些BUG,比之前的版本有一些功能上的调整,目前已经升级到最新版本的镜像系统,并且优化了自动激活,永久使用。windows11中文版镜像国内镜像下载地址微软windows11正式版镜像 介绍:1、对函数算法进行了一定程度的简化和优化

  • 微软windows11正式版GHOST ISO镜像 win11下载 国内最新版渠道下载

    微软windows11正式版GHOST ISO镜像 win11下载 国内最新版渠道下载

    语言:中文版系统大小:5.31GB系统类型:Win11

    微软windows11正式版GHOST ISO镜像 win11下载 国内最新版渠道下载,微软2022年正式推出了win11系统,很多人迫不及待的要体验,本站提供了最新版的微软Windows11正式版系统下载,微软windows11正式版镜像 是一款功能超级强大的装机系统,是微软方面全新推出的装机系统,这款系统可以通过pe直接的完成安装,对此系统感兴趣,想要使用的用户们就快来下载

  • 微软windows11系统下载 微软原版 Ghost win11 X64 正式版ISO镜像文件

    微软windows11系统下载 微软原版 Ghost win11 X64 正式版ISO镜像文件

    语言:中文版系统大小:0MB系统类型:Win11

    微软Ghost win11 正式版镜像文件是一款由微软方面推出的优秀全新装机系统,这款系统的新功能非常多,用户们能够在这里体验到最富有人性化的设计等,且全新的柔软界面,看起来非常的舒服~微软Ghost win11 正式版镜像文件介绍:1、与各种硬件设备兼容。 更好地完成用户安装并有效地使用。2、稳定使用蓝屏,系统不再兼容,更能享受无缝的系统服务。3、为

  • 雨林木风Windows11专业版 Ghost Win11官方正式版 (22H2) 系统下载

    雨林木风Windows11专业版 Ghost Win11官方正式版 (22H2) 系统下载

    语言:中文版系统大小:4.75GB系统类型:

    雨林木风Windows11专业版 Ghost Win11官方正式版 (22H2) 系统下载在系统方面技术积累雄厚深耕多年,打造了国内重装系统行业的雨林木风品牌,其系统口碑得到许多人认可,积累了广大的用户群体,雨林木风是一款稳定流畅的系统,一直以来都以用户为中心,是由雨林木风团队推出的Windows11国内镜像版,基于国内用户的习惯,做了系统性能的优化,采用了新的系统

  • 雨林木风win7旗舰版系统下载 win7 32位旗舰版 GHOST 免激活镜像ISO

    雨林木风win7旗舰版系统下载 win7 32位旗舰版 GHOST 免激活镜像ISO

    语言:中文版系统大小:5.91GB系统类型:Win7

    雨林木风win7旗舰版系统下载 win7 32位旗舰版 GHOST 免激活镜像ISO在系统方面技术积累雄厚深耕多年,加固了系统安全策略,雨林木风win7旗舰版系统在家用办公上跑分表现都是非常优秀,完美的兼容各种硬件和软件,运行环境安全可靠稳定。win7 32位旗舰装机版 v2019 05能够帮助用户们进行系统的一键安装、快速装机等,系统中的内容全面,能够为广大用户