OpenHarmony第三方組件(第三方庫)添加到編譯系統(tǒng)方式理解(L2)
作者:拓維信息_青松
通過third_party中三方組件添加到編譯系統(tǒng),以及調(diào)用第三方組件的簡單例子,讓初學(xué)者大概了解第三方組件如何加入到編譯系統(tǒng)中去。
51CTO和華為官方合作共建的鴻蒙技術(shù)社區(qū)
簡介
- 調(diào)用第三方組件sqlite的時候,以為跟普通模塊一樣,有BUILD.gn,也有對應(yīng)ohos.build,subsystem名稱 和 parts名稱,實際沒有ohos.build,這跟其他模塊不一樣,剛開始接觸不理解。
- 通過third_party中三方組件添加到編譯系統(tǒng),以及調(diào)用第三方組件的簡單例子,讓初學(xué)者大概了解第三方組件如何加入到編譯系統(tǒng)中去。
第三組件demo
- 編譯之后的名稱:libmythird_lib.z.so
- 三方組件路徑:third_party\mythird
- 編譯配置:third_party\mythird\BUILD.gn
- # 三組件沒有寫sub_example和part_name
- # 編譯后輸出目錄:out\ohos-arm-release\common\common
- ohos_shared_library("mythird_lib") {
- sources = [
- "src/mythird.c"
- ]
- public_configs = [ ":mythird_config" ]
- }
三方組件調(diào)用demo
- 編譯之后的路徑:out\ohos-arm-release\sub_example\partB\mythird_use
- 代碼目錄:test\example\partB\mythird_use
- 編譯配置路徑: test\example\partB\mythird_use\BUILD.gn
- import("//build/ohos.gni")
- ohos_executable("mythird_use") {
- sources = [
- "src/main.c"
- ]
- deps = [
- "//third_party/mythird:mythird_lib" # 依賴第三組件,也就把第三組件加入到了編譯系統(tǒng)
- ]
- install_enable = true
- part_name = "partB"
- subsystem_name = "sub_example"
- }
- ohos.build添加的內(nèi)容
- {
- "subsystem": "sub_example",
- "parts": {
- "partB": {
- "module_list": [
- ...
- "//test/example/partB/mythird_use:mythird_use"
- ],
- ...
- }
編譯
第三組件編譯命令:
- ./build.sh --product-name Hi3516DV300 --ccache --build-target mythird_lib
三方組件調(diào)用可執(zhí)行文件編譯命令:
- ./build.sh --product-name Hi3516DV300 --ccache --build-target mythird_use
測試運行
編譯成功后,可以把編譯好的libmythird_lib.z.so和mythird_use用hdc_std.exe發(fā)送到Hi3516DV300開發(fā)板中去運行,在串口終端上輸出三方組件的調(diào)用測試結(jié)果。
- 修改系統(tǒng)目錄權(quán)限,目錄能讀能寫:
- mount -o remount,rw /
- libmythird_lib.z.so放入開發(fā)板/system/lib目錄下:
- hdc_std.exe file send Z:\out\ohos-arm-release\common\common\libmythird_lib.z.so /system/lib
- mythird_use放入開發(fā)板本人自建/data/test目錄下:
- hdc_std.exe file send Z:\out\ohos-arm-release\sub_example\partB\mythird_use /data/test
- 修改成可執(zhí)行權(quán):
- chmod 0711 /data/test/mythird_use
- 運行可執(zhí)行程序:
- /data/test/mythird_use

51CTO和華為官方合作共建的鴻蒙技術(shù)社區(qū)
責(zé)任編輯:jianghua
來源:
鴻蒙社區(qū)