国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - 編程技術 - OpenHarmony SA 動態庫服務拉起的main入口

OpenHarmony SA 動態庫服務拉起的main入口

2021-12-27 23:36鴻蒙社區拓維信息_青松 編程技術

OpenHarmony 很多服務都是編譯成動態庫, 動態庫服務,沒有main函數入口。服務的拉起的入口在哪?

OpenHarmony SA 動態庫服務拉起的main入口

簡介

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 動態庫的編譯配置

動態庫編譯配置:

  1. base\update\updateservice\engine\BUILD.gn 

動態庫編譯后的名稱:

  1. libupdateservice.z.so 

1.2 xml的編譯配置

1.2.1 xml的原始文件

原始xml的文件路徑:base\update\updateservice\engine\sa_profile\3006.xml

內容:

 

  1. <info> 
  2.     <process>updater_sa</process> 
  3.     <systemability> 
  4.         <name>3006</name
  5.         <libpath>libupdateservice.z.so</libpath> 
  6.         <run-on-create>true</run-on-create
  7.         <distributed>false</distributed> 
  8.         <dump-level>1</dump-level
  9.     </systemability> 
  10. </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

內容:

  1. import("//build/ohos/sa_profile/sa_profile.gni"
  2.  
  3. ohos_sa_profile("updater_sa_profile") { 
  4.   sources = [ "3006.xml" ] 
  5.  
  6.   part_name = "updater" 

1.2.3 編譯配置ohos.build

文件路徑:base\update\updater\ohos.build

內容如下:

OpenHarmony SA 動態庫服務拉起的main入口

1.2.4 編譯成功生產的文件

1.2.4.1 編譯后Ubuntu路徑:

out/ohos-arm-release/packages/phone/system/profile/updater_sa.xml

1.2.4.2 內容:

 

  1. <?xml version="1.0" encoding="utf-8"?> 
  2. <info> 
  3.     <process>updater_sa</process> 
  4.     <loadlibs> 
  5.         <libpath>libupdateservice.z.so</libpath> 
  6.     </loadlibs> 
  7.     <systemability> 
  8.         <name>3006</name
  9.         <libpath>libupdateservice.z.so</libpath> 
  10.         <run-on-create>true</run-on-create
  11.         <distributed>false</distributed> 
  12.         <dump-level>1</dump-level
  13.     </systemability> 
  14. </info> 

1.2.4.3 燒入開發板后的路徑:

system/profile/updater_sa.xml

OpenHarmony SA 動態庫服務拉起的main入口

2. 服務的啟動配置

2.1 服務啟動配置

配置文件路徑:base\update\updateservice\engine\etc\updater_sa.cfg

文件內容如下:

  1.     "jobs" : [{ 
  2.             "name" : "boot"
  3.             "cmds" : [ 
  4.                 "start updater_sa" 
  5.             ] 
  6.         } 
  7.     ], 
  8.     "services" : [{ 
  9.             "name" : "updater_sa"
  10.             "path" : ["/system/bin/sa_main""/system/profile/updater_sa.xml"], 
  11.             "uid" : "system"
  12.             "gid" : ["system""shell"
  13.         } 
  14.     ] 

2.2 啟動編譯配置

配置文件路徑:base\update\updateservice\engine\BUILD.gn

內容如下:

OpenHarmony SA 動態庫服務拉起的main入口

2.3 編譯成功生成的文件

編譯后Ubuntu路徑:out\ohos-arm-release\packages\phone\system\etc\init\updater_sa.cfg

燒入開發板后的路徑:system\etc\init\updater_sa.cfg

3 運行過程

每次開機,init階段會讀取配置updater_sa.cfg,啟動updater_sa。即拉起服務動態庫libupdateservice.z.so

進程啟動查詢:ps -A | grep updater

串口終端顯示:

OpenHarmony SA 動態庫服務拉起的main入口

重新拉取服務

運行hdc_std.exe shell 終端運行 sa_main /system/profile/updater_sa.xml:

OpenHarmony SA 動態庫服務拉起的main入口

串口終端查詢,多運行了一個update_sa進程:

OpenHarmony SA 動態庫服務拉起的main入口

服務拉起注冊到SAMGR進程的日志:

OpenHarmony SA 動態庫服務拉起的main入口

服務拉起之后:

客戶端就可以與服務端通信了,客戶端獲取與服務端通信的對象 代碼塊如下所示:

OpenHarmony SA 動態庫服務拉起的main入口

原文鏈接:https://harmonyos.51cto.com

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: av不卡在线播放 | 久久国产精品久久久久久久久久 | 欧美一级在线 | 免费看国产片在线观看 | 国产精品免费一区二区三区四区 | 黄色网址免费观看 | 欧美日韩国产精品 | 久久久午夜爽爽一区二区三区三州 | 日韩精品视频一区二区三区 | 中文字幕第一页在线 | 日韩精品一二三区 | 综合久 | 香蕉视频在线看 | 亚洲精品国产精品国自产在线 | jlzzjlzz国产精品久久 | 国产精品久久久久久中文字 | 久草成人 | 狠狠操狠狠干 | 亚洲视频在线观看免费 | 99视频在线 | 久久国产欧美日韩精品 | 91.成人天堂一区 | 日韩福利 | 午夜国产| 欧美99 | 一本久道久久综合狠狠爱 | 亚洲福利在线观看 | 日韩电影中文字幕 | 国产毛片久久久久 | 国产精品第一国产精品 | 日韩在线不卡 | a∨色狠狠一区二区三区 | 玖玖爱视频在线 | 国产宾馆自拍 | 淫片免费观看 | 免费国产一区 | 亚洲第一视频网站 | 日韩超级大片免费看国产国产播放器 | 亚洲视频在线一区 | 国产欧美久久一区二区三区 | 欧美精品99 |