您现在的位置是:亿华云 > IT科技类资讯
OpenHarmony SA 动态库服务拉起的main入口
亿华云2025-10-09 01:23:07【IT科技类资讯】6人已围观
简介想了解更多内容,请访问:和华为官方合作共建的鸿蒙技术社区https://harmonyos.51cto.com简介OpenHarmony 很多服务都是编译成动态库, 动态库服务,没有main函数入口。
想了解更多内容,动的请访问:
和华为官方合作共建的态库鸿蒙技术社区
https://harmonyos.51cto.com
简介
OpenHarmony 很多服务都是编译成动态库, 动态库服务,没有main函数入口。服务服务的拉起拉起的入口在哪?
以在线升级服务为例说明服务入口,说明如下:
一. 服务的动的动态库:libupdateservice.z.so
这个编译代码里面有,源码下载学习者可以在源代码中去看:
配置路径:base\update\updateservice\engine\BUILD.gn
二. main入口:sa_main
sa_main是态库含有main入口的独立可执行文件。学习者可以自己在代码中去看:
配置路径:foundation\distributedschedule\safwk\services\safwk\BUILD.gn
三. sa_main如何加载 libupdateservice.z.so
updater_sa.xml配置了动态库libupdateservice.z.so的服务各项信息。
sa_main通过读取解析updater_sa.xml,拉起 把动态库libupdateservice.z.so加载到自身进程中来。
即运行命令:/system/bin/sa_main /system/profile/updater_sa.xml
1. 动态库服务的动的编译配置
1.1 动态库的编译配置
动态库编译配置:
base\update\updateservice\engine\BUILD.gn动态库编译后的名称:
libupdateservice.z.so1.2 xml的亿华云编译配置
1.2.1 xml的原始文件
原始xml的文件路径:base\update\updateservice\engine\sa_profile\3006.xml
内容:
<info> <process>updater_sa</process> <systemability> <name>3006</name> <libpath>libupdateservice.z.so</libpath> <run-on-create>true</run-on-create> <distributed>false</distributed> <dump-level>1</dump-level> </systemability> </info>1.2.1.1 3006:
是UPDATE_DISTRIBUTED_SERVICE_ID的值,该值定义在
utils\system\safwk\native\include\system_ability_definition.h中。态库
1.2.1.2 libupdateservice.z.so:
是服务服务对应的动态库
1.2.2 xml的编译配置BUILD.gn
编译文件配置路径:base\update\updateservice\engine\sa_profile\BUILD.gn
内容:
import("//build/ohos/sa_profile/sa_profile.gni") ohos_sa_profile("updater_sa_profile") { sources = [ "3006.xml" ] part_name = "updater" }1.2.3 编译配置ohos.build
文件路径:base\update\updater\ohos.build
内容如下:

1.2.4 编译成功生产的文件
1.2.4.1 编译后Ubuntu路径:
out/ohos-arm-release/packages/phone/system/profile/updater_sa.xml
1.2.4.2 内容:
b2b供应网很赞哦!(356)
上一篇: 旧域名的外链是否会对新建站点产生影响?
相关文章
- 顶级域名可以增加企业品牌的价值。随着经济的快速发展,域名已不再是企业在网络中的独立地位。顶级域名的服务范围、企业产品、综合形象体现等,对于企业单位来说,顶级域名的重要性不言而喻。
- Golang GinWeb框架-快速入门/参数解析
- 7000字超多神器!腾讯设计师也在用的高效设计工具
- 不到1000行代码GitHub千星,天才黑客开源深度学习框架
- 6、提示添加成功,点击确认进行最后的确定操作。一般10分钟就解析生效,可以用域名进行访问了。
- JUC之阻塞队列BlockingQueue竟然有8种类型?
- Github Actions 入门指南及实践
- 去一家小公司从0到1搭建后端架构,做个总结!
- 审核通过的域名将显示在域名竞拍页面,并进入正式拍卖期,买家可以在拍卖周期内出价,加价幅度与拍卖保证金说明,点此查看。
- 不可不知的三种缓冲类型