系统android5.1,已有第三方静态库libstatic.a,头文件libstatic.h,调用文件main.c。
步骤如下:
1、external下创建文件夹lib_test(名称根据自己实际情况设定);
2、将第三方静态库libstatic.a,头文件libstatic.h,调用文件main.c复制到external/lib_test下;
3、编译android.mk
参考如下:
LOCAL_PATH:= $(call my-dir)
#-----------------------------------------------------------------------------
include $(CLEAR_VARS)
LOCAL_MODULE := libstatic
LOCAL_MODULE_CLASS := STATIC_LIBRARIES
LOCAL_SRC_FILES := libstatic.a
LOCAL_MODULE_SUFFIX := .a
include $(BUILD_PREBUILT)
include $(PREVUILT_STATIC_LIBRARY)
#-----------------------------------------------------------------------------
-----------------------------------------------------------------------------
include $(CLEAR_VARS)
LOCAL_C_INCLUDES:= $(LOCAL_PATH)
LOCAL_SRC_FILES := ./main.c
LOCAL_SHARED_LIBRARIES := \
libcutils \
libutils \
libbinder
LOCAL_STATIC_LIBRARIES:= libstatic
LOCAL_PRELINK_MODULE := false
LOCAL_MODULE_TAGS:= optional
LOCAL_MODULE := main
include $(BUILD_EXECUTABLE)
4、最重要的一步:
在out\target\product\rk322x_echo\obj\STATIC_LIBRARIES下创建文件夹libstatic_intermediates
没有这一步会出现:
5、复制libstatic.a到libstatic_intermediates,同时从\rk322x_echo\obj\STATIC_LIBRARIES下其他文件夹内复制export_includes、import_includes文件到libstatic_intermediates
没有这一步会出现:make: *** No rule to make target `out/target/product/rk322x_echo/obj/STATIC_LIBRARIES/libstatic_intermediates/export_includes', needed by `out/target/product/rk322x_echo/obj/EXECUTABLES/main_intermediates/import_includes'. Stop.
OK了