Android系统external层集成第三方静态库.a文件经验

系统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

扫描二维码关注公众号,回复: 2467732 查看本文章

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了

猜你喜欢

转载自blog.csdn.net/James19890812/article/details/81222101
今日推荐