日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

android 如何添加第3方lib库到kernel中

發布時間:2025/4/16 编程问答 42 豆豆
生活随笔 收集整理的這篇文章主要介紹了 android 如何添加第3方lib库到kernel中 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
注意:只能將lib庫放在kernel編譯到的地方,如下:
alps/kernel/
alps/mediatek/custom/common/kernel/
alps/mediatek/custom/$platform/kernel/
alps/mediatek/custom/$proj/kernel/
alps/mediatek/kernel/
alps/mediatek/platform/$platform/kernel/core/
alps/mediatek/platform/$platform/kernel/drivers/
假設第3方庫名稱為test.a
(1). 如果存放的目錄存在Makefile,那么只需在該Makefile最后添加:
obj-y += test.a
然后將test.a文件復制到該目錄下,
重新命名為test.a_shipped,目的是防止clean kernel階段把該庫給清除掉!
重新編譯kernel即可。
(2). 如果存放的目錄不存在Makefile,比如在alps/mediatek/custom/目錄下的kernel目錄都沒有Makefile,這時需要自行添加一個Makefile,內容和第1種方法差不多:
obj-y := xxx.o yyy.o test.a
以上表示將xxx.c/yyy.c和test.a編譯到kernel
然后將test.a文件復制到該目錄下并重新命名為test.a_shipped
重新編譯kernel即可。
注意:alps/mediatek/custom/common/kernel/touchpanel/xxx目錄下的文件會和alps/mediatek/custom/common/kernel/touchpanel/src目錄合并,obj-y要將兩個目錄下的obj全部加入才行,否則編譯失敗。也可以用以下Makefile,自動將所有obj加入obj-y,省卻麻煩。其他目錄如有類似的情形一樣處理。
添加的Makefile(將所有*.c變為*.o并加入obj-y):
include $(MTK_PATH_BUILD)/common.mk
path := $(if $(filter yes,$(KBUILD_OUTPUT_SUPPORT)),$(srctree)/$(obj),$(obj))
obj-y := $(patsubst %.c,%.o,$(subst $(path)/,,$(call wildcard2,$(path)/*.c)))
obj-y += test.a

說明:對于kernel的Makefile編寫規則說明,可以到網絡搜索相關材料參考,比如obj-y表示要編譯到kernel,而obj-m表示要編譯成module,obj-n或obj-表示不編譯

總結

以上是生活随笔為你收集整理的android 如何添加第3方lib库到kernel中的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。