OpenHarmony 第三方组件(第三方库)添加到编译系统方式理解(L2) 原创 精华

发布于 2022-1-12 19:33
浏览
7收藏

@toc

简介

  • 调用第三方组件sqlite的时候,以为跟普通模块一样,有BUILD.gn,也有对应ohos.build,subsystem名称 和 parts名称,实际没有ohos.build,这跟其他模块不一样,刚开始接触不理解。
  • 通过third_party中三方组件添加到编译系统,以及调用第三方组件的简单例子,让初学者大概了解第三方组件如何加入到编译系统中去。

第三组件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" ]
}

三方组件调用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" # 依赖第三组件,也就把第三组件加入到了编译系统
  ]

  install_enable = true
  part_name = "partB"
  subsystem_name = "sub_example"
}
  • ohos.build添加的内容
{
    "subsystem": "sub_example",
    "parts": {
        "partB": {
            "module_list": [
                ...
                "//test/example/partB/mythird_use:mythird_use"
            ],
	...
}

编译

  • 第三组件编译命令:
./build.sh --product-name Hi3516DV300 --ccache --build-target mythird_lib
  • 三方组件调用可执行文件编译命令:
./build.sh --product-name Hi3516DV300 --ccache --build-target mythird_use

测试运行

编译成功后,可以把编译好的libmythird_lib.z.so和mythird_use用hdc_std.exe发送到Hi3516DV300开发板中去运行,在串口终端上输出三方组件的调用测试结果。

  • 修改系统目录权限,目录能读能写:
mount -o remount,rw /
  • libmythird_lib.z.so放入开发板/system/lib目录下:
hdc_std.exe file send Z:\out\ohos-arm-release\common\common\libmythird_lib.z.so /system/lib
  • mythird_use放入开发板本人自建/data/test目录下:
hdc_std.exe file send Z:\out\ohos-arm-release\sub_example\partB\mythird_use /data/test
  • 修改成可执行权:
chmod 0711 /data/test/mythird_use
  • 运行可执行程序:
/data/test/mythird_use

OpenHarmony 第三方组件(第三方库)添加到编译系统方式理解(L2)-鸿蒙HarmonyOS技术社区

红色部分是第三方组件输出,文档里面涉及到的内容没有完全展示,想查看源码内容可以下载:
【源代码】

重点关注目录如下

©著作权归作者和HarmonyOS技术社区共同所有,如需转载,请注明出处,否则将追究法律责任
已于2022-1-12 20:15:05修改
8
收藏 7
回复
举报
回复
添加资源
添加资源将有机会获得更多曝光,你也可以直接关联已上传资源 去关联
    相关推荐