動態(tài)庫的編譯與在動態(tài)庫中調(diào)用編譯的動態(tài)庫解析
這一篇講的是 動態(tài)庫中調(diào)用動態(tài)庫
第一個要編譯的動態(tài)庫:
PrintTest.h:
extern int Add(int ?x, int ?y); ?
PrintTest.c
#include "PrintTest.h" ?
??
int ?Add(int ?x, int ?y) ?
{ ?
? ? return x + y; ?
} ?
Android.mk:
LOCAL_PATH:= $(call my-dir) ??
include $(CLEAR_VARS) ?
LOCAL_MODULE ? ?:= print_share?
LOCAL_SRC_FILES := PrintTest.c ??
include $(BUILD_SHARED_LIBRARY) ?
運(yùn)行ndk-build
編譯出來的文件在?objlocalarmeabi 文件夾,而不是libs文件夾那個!特別要注意。。。。。。。。。。
現(xiàn)在來編譯第二個動態(tài)庫,他來調(diào)用第一個動態(tài)庫
user.c:
#include "PrintTest.h" ?
#include
Android.mk:
LOCAL_PATH:= $(call my-dir) ?
??
# 需要把動態(tài)庫導(dǎo)入?
# ?
include $(CLEAR_VARS) ?
LOCAL_MODULE ? ?:= print_share?
LOCAL_SRC_FILES := libprint_share.so?
include $(PREBUILT_SHARED_LIBRARY) ?
??
# 第二個為動態(tài)庫,在動態(tài)庫中使用我們編譯的動態(tài)庫
?
include $(CLEAR_VARS) ?
LOCAL_MODULE ? ?:= libuse ?
LOCAL_SRC_FILES := Use.c ?
LOCAL_SHARED_LIBRARIES := libprint_share
include $(BUILD_SHARED_LIBRARY) ?