打開鴻蒙系統的源碼,可以看到有這么一個文件夾:third_party。里面存放的是第三方的代碼。
點開我們可以看到有很多第三方代碼:
后續我們如果需要往系統中添加、移植任何開源代碼,都可以添加到這個文件夾中。
接下來,教大家如何添加一個自己的軟件包,名字為 a_myparty。
01
新建一個文件夾 a_myparty
02
往文件中放置軟件包源碼
這里我放在的是 myparty.c 文件。
03
新建 BUILD.gn 文件
整個代碼目錄如下:
04
myparty.c 文件內容如下
其實,我這個只是為了演示的,所以里面代碼沒什么作用:
#include
05
BUILD.gn 文件內容如下
BUILD.gn 文件主要是描述了軟件包的相關信息,包括編譯哪些源文件,頭文件路徑、編譯方式(目前 Hi3861 只支持靜態加載)。
import("http://build/lite/config/component/lite_component.gni") import("http://build/lite/ndk/ndk.gni") #這里是配置頭文件路徑 config("a_myparty_config"){ include_dirs=[ ".", ] } #這里是配置要編譯哪些源碼 a_myparty_sources=[ "myparty.c", ] #這里是靜態鏈接,類似于Linux系統的.a文件 lite_library("a_myparty_static"){ target_type="static_library" sources=a_myparty_sources public_configs=[":a_myparty_config"] } #這里是動態加載,類似于Linux系統的.so文件 lite_library("a_myparty_shared"){ target_type="shared_library" sources=a_myparty_sources public_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=[ "http://third_party/a_myparty" ] }
到了這里我們基本上就寫完了。最后我們要讓這個第 3 放軟件包編譯到我們固件中。
06
打開第 3 方軟件包功能,使其參與編譯
打開 vendorhisihi3861hi3861BUILD.gn 文件,在下圖部分添加 "http://third_party/a_myparty:a_myparty_static",別忘了分號。
07
使用
到了這里我們的第 3 方軟件包就添加完成了,接下來我們要在 app 代碼中使用它。
打開 applicationssamplewifi-iotappmy_first_appBUILD.gn 文件,沒有的同學請自己先完成 hello world 入門例程先。
添加 "http://third_party/a_myparty" 頭文件路徑,BUILD.gn 文件內容如下:
static_library("my_first_app"){ sources=[ "hello_world.c" ] include_dirs=[ "http://utils/native/liteos/include", "http://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 ",__FILE__,__LINE__); printf("[DEMO]Helloworld. "); //調用第3方軟件包的函數myparty_test() myparty_test(); } SYS_RUN(HelloWorld);
08
最后編譯測試即可看到打印信息
[DEMO]Helloworld. firstmyparty
說明添加成功。
責任編輯:PSY
原文標題:如何往鴻蒙系統源碼中添加第三方軟件包
文章出處:【微信公眾號:HarmonyOS技術社區】歡迎添加關注!文章轉載請注明出處。
-
源碼
+關注
關注
8文章
633瀏覽量
29140 -
軟件包
+關注
關注
0文章
101瀏覽量
11584 -
鴻蒙系統
+關注
關注
183文章
2634瀏覽量
66220
原文標題:如何往鴻蒙系統源碼中添加第三方軟件包
文章出處:【微信號:gh_834c4b3d87fe,微信公眾號:OpenHarmony技術社區】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論