更多信息请访问:https://harmonyos.51cto.com与华为官方共同建立的鸿蒙技术社区介绍有些公司不希望自己的算法开放-来源。仅提供开发库,本文档演示如何使用他人闭源动态库过程。C/C++动态库的使用。编译后闭源动态库名称:libmoduleb_lib.z.so动态库路径:test\example\partB\dll_use\dll编译配置:test\example\partB\dll_use\dll\BUILD.gnimport("//build/ohos.gni")#完整完整的编译会将库复制到以下路径#out/ohos-arm-release/packages/phone/system/lib/libmoduleb_lib.z.soohos_prebuilt_shared_library("dll_module_lib"){source=".??/libmoduleb_lib.z.so"install_enable=truesubsystem_name="sub_example"part_name="partB"}group("dll"){deps=[":dll_module_lib"]}调用动态库的可执行文件编译后的可执行文件:out\ohos-arm-release\sub_example\partB\dll_use编译配置路径:test\example\partB\dll_use\BUILD.gnimport("//build/ohos.gni")config("dll_use_config"){include_dirs=["include","dll/include"]}ohos_executable("dll_use"){sources=["//test/example/partB/dll_use/src/dll_use.c","//test/example/partB/dll_use/src/main.c"]public_configs=[":dll_use_config"]deps=[]#依赖dy纳米库external_deps=["partB:dll",]part_name="partB"subsystem_name="sub_example"}ohos.build添加内容{"subsystem":"sub_example","parts":{"partB":{"module_list":[..."//test/example/partB/dll_use/dll:dll","//test/example/partB/dll_use:dll_use",...],"inner_kits":[...{"type":"so","name":"//test/example/partB/dll_use/dll:dll","header":{"header_files":["moduleB.h"],"header_base":"//test/示例/partB/dll_use/dll/include"}}...]},...}编译闭源动态链接库的编译命令:./build.sh--product-nameHi3516DV300--ccache--build-targetdll_module_lib调用动态库可执行文件编译命令:./build.sh--product-nameHi3516DV300--ccache--build-targetdll_use试运行编译成功后,就可以使用编译好的可执行文件和闭源动态库配合hdc_std.exe发送到Hi3516DV300开发板运行,在串口终端运行可执行文件,查看调用状态,如果变量被编译编程ed进入系统,就不需要使用hdc_std.exe来发送文件了。动态库libmoduleb_lib.z.so放在开发板的/system/lib目录下:hdc_std.exefilesendZ:\test\example\partB\dll_use\dll\libmoduleb_lib.z.so/data/testdll_use放在自己开发板/data/test目录下:hdc_std.exefilesendZ:\out\ohos-arm-release\sub_example\partB\dll_use/data/test改为可执行权限:chmod0711/data/test/dll_use运行单元测试cases:/data/test/dll_use蓝色部分是动态库中的输出。注意:动态库与系统的兼容性,因为文档中的动态库是作者之前在同一系统下编译的,所以没有其他问题。文档中设计的内容没有完整展示。如果想查看源码内容,可以下载:【源码】,关注example\partB\dll_use目录。更多信息请访问:与华为官方共建的鸿蒙科技社区https://harmonyos.51cto.com
