当前位置: 首页 > 科技观察

如何在鸿蒙源码中添加第三方软件包

时间:2023-03-14 15:04:22 科技观察

,可以看到有这么一个文件夹:third_party。它包含第三方代码。点击打开,可以看到有很多第三方代码:如果以后需要在系统中添加或移植任何开源代码,可以添加到这个文件夹中。接下来教大家如何添加自己的名为a_myparty的软件包。1.新建一个文件夹a_myparty2.把软件包源码放在文件里我这里放myparty.c文件3.新建一个BUILD.gn文件整个代码目录如下:4.myparty里面的内容.c文件如下:其实我的只是为了演示,所以里面的代码没有作用#includevoidmyparty_test(void){printf("firstmyparty\r\n");}5.BUILD.gn文件内容如下:BUILD.gn文件主要描述了软件包的相关信息,包括编译哪些源文件、头文件路径、编译方式(目前Hi3861只支持静态加载)import("//build/lite/config/component/lite_component.gni")import("//build/lite/ndk/ndk.gni")#这里是配置头文件路径config("a_myparty_config"){include_dirs=[,]}#这里是编译哪个源码的配置a_myparty_sources=["myparty.c",]#这里是静态链接,类似linux系统的.a文件.so文件lite_library("a_myparty_shared"){target_type="shared_library"sources=a_myparty_sourcespublic_configs=[":a_myparty_config"]}#这里是入口,选择静态或者动态ndk_lib("a_myparty_ndk"){if(board_name!="hi3861v100"){lib_extension=".so"deps=[":a_myparty_shared"]}else{deps=[":a_myparty_static"]}head_files=["//third_party/a_myparty"]}到这里基本写完了最后我们需要把这个第三方软件包编译成我们的固件。6.打开第三方软件包的功能让它参与编译:打开vendor\hisi\hi3861\hi3861\BUILD.gn文件,添加“//third_party/a_myparty:a_myparty_static"不要忘了分号...7、这里已经添加了我们的第三方软件包,接下来需要在app代码中使用,打开applications\sample\wifi-iot\app\my_first_app\BUILD.gn文件,没有的同学请先完成helloworld入口例程。添加“//third_party/a_myparty”头文件路径,BUILD.gn文件内容如下:static_library("my_first_app"){sources=["hello_world.c"]include_dirs=["//utils/native/liteos/include","//third_party/a_myparty"]}打开hello_world.c文件,内容如下:#include"ohos_init.h"#include"ohos_types.h"#include"stdio.h"//导入头文件#include"myparty.h"voidHelloWorld(void){printf("%s%d\r\n",__FILE__,__LINE__);printf("[DEMO]Helloworld.\n");//调用函数myparty_test()第三方软件包myparty_test();}SYS_RUN(HelloWorld);8.最后编译测试,可以看到打印信息:[DEMO]Helloworld.firstmyparty表示添加成功。了解更多请访问:与华为官方共建鸿蒙科技社区https://harmonyos.51cto.com/#zz