Android.mk文件编写
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := IDataEncapsulation #生成的库名
LOCAL_CPPFLAGS := -DJSON_IS_AMALGAMATION -fexceptions #-Wwrite-strings #编译选项
LOCAL_LDLIBS += -L$(SYSROOT)/usr/lib -llog #需要连接的库文件
# 依赖的源文件
LOCAL_SRC_FILES := jsoncpp.cpp src/function.cpp \
src/protocol.cpp \
src/DeviceInit/deviceInit.cpp \
src/PositionData/positionData.cpp \
src/RouteRecord/routeRecord.cpp \
src/DeviceData/deviceData.cpp \
src/RequestAck/requestAck.cpp \
src/ExtendData/extendData.cpp
LOCAL_ALLOW_UNDEFINED_SYMBOLS := true
APP_PLATFORM := android-14
#指定使用到的头文件路径
LOCAL_C_INCLUDES += $(LOCAL_PATH) \
$(LOCAL_PATH)/inc \
$(LOCAL_PATH)/inc/DeviceInit \
$(LOCAL_PATH)/inc/PositionData \
$(LOCAL_PATH)/inc/RouteRecord \
$(LOCAL_PATH)/inc/DeviceData \
$(LOCAL_PATH)/inc/RequestAck \
$(LOCAL_PATH)/inc/ExtendData \
include $(BUILD_SHARED_LIBRARY) #表示生成动态库文件
#引用第三方库文件
include $(CLEAR_VARS)
LOCAL_MODULE := libencapsulatedIData
LOCAL_SRC_FILES := prebuilt/libencapsulatedIData.so
include $(PREBUILT_SHARED_LIBRARY)
#引用第三方库文件
include $(CLEAR_VARS)
#LOCAL_CPPFLAGS := -DJSON_IS_AMALGAMATION -fexceptions
#LOCAL_CPPFLAGS := -DJSON_IS_AMALGAMATION -fexceptions
LOCAL_MODULE := libjsoncpp
LOCAL_SRC_FILES := prebuilt/libjsoncpp.so
include $(PREBUILT_SHARED_LIBRARY)
- libs、obj目录里面的文件是IDE临时生成的,能够通过clean清理掉。
- 把需要编译进apk的,或者引用的第三方库文件放在prebuilt目录下。
本文详细介绍了Android.mk文件的编写方法,包括模块名称、编译选项、依赖源文件、头文件路径以及动态库文件的生成过程。同时,阐述了如何引用第三方库文件,并解释了libs、obj目录的作用。

2万+

被折叠的 条评论
为什么被折叠?



