我有一個框架,我想在我的項目中使用三個靜態庫。這些庫被稱爲libtinySAK_armv7-a.a, libtinyNET_armv7-a.a and libtinyHTTP_armv7-a.a
。我已將它們放在與Android.mk
和Application.mk
相同的文件夾中。android-ndk添加靜態庫到android.mk
我的本地代碼依賴於它們,所以我想將它們包含在我的共享庫中。
從我讀過關於計算器和google'd我相信android.mk應該是這個樣子:
# TINYSAK
include $(CLEAR_VARS)
LOCAL_MODULE := tinySAK
LOCAL_SRC_FILES := libtinySAK_armv7-a.a
LOCAL_EXPORT_C_INCLUDES := $(LOCAL_PATH)/../../../doubango/tinySAK/src/
include $(PREBUILT_STATIC_LIBRARY)
# TINYNET
include $(CLEAR_VARS)
LOCAL_MODULE := tinyNET
LOCAL_SRC_FILES := libtinyNET_armv7-a.a
LOCAL_EXPORT_C_INCLUDES := $(LOCAL_PATH)/../../../doubango/tinyNET/src/
include $(PREBUILT_STATIC_LIBRARY)
# TINYHTTP
include $(CLEAR_VARS)
LOCAL_MODULE := tinyHTTP
LOCAL_SRC_FILES := libtinyHTTP_armv7-a.a
LOCAL_EXPORT_C_INCLUDES := $(LOCAL_PATH)/../../../doubango/tinyHTTP/include/
include $(PREBUILT_STATIC_LIBRARY)
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := libtest
LOCAL_SRC_FILES := \
../../test/stack.cpp \
../../test/main.cpp
LOCAL_C_INCLUDES := \
$(LOCAL_PATH)/../../test/include/ \
$(LOCAL_PATH)/../../../doubango/tinyHTTP/include/ \
$(LOCAL_PATH)/../../../doubango/tinySAK/src/ \
$(LOCAL_PATH)/../../../doubango/tinyNET/src/
LOCAL_STATIC_LIBRARIES := \
tinySAK \
tinyNET \
tinyHTTP
include $(BUILD_SHARED_LIBRARY)
我Application.mk:
APP_STL := stlport_static
APP_ABI := armeabi-v7a
的編譯錯誤(項目目錄中的「ndk-build」)是
jni/Android.mk:tinySAK: LOCAL_SRC_FILES points to a missing file
而且我想其他2個lib拉里也失敗了。爲什麼它找不到它們? 除此之外,在makefile中是否還有其他錯誤?
感謝
感謝發佈,這也解決了我的問題! –
應該在哪裏聲明LOCAL_PATH – alex