JNI make文件

来源:互联网 发布:js压缩 tomcat 编辑:程序博客网 时间:2024/06/06 18:29

1.编译多个共享库

LOCAL_PATH := $(call my-dir)## Module 1#include $(CLEAR_VARS)LOCAL_MODULE := module1LOCAL_SRC_FILES := module1.c## Module 2#include $(CLEAR_VARS)LOCAL_MODULE := module2LOCAL_SRC_FILES := module2.cinclude $(BUILD_SHARED_LIBRARY)

2.编译静态库

编译静态库然后链接生成动态库

LOCAL_PATH := $(call my-dir)## 3rd party AVI library#include $(CLEAR_VARS)LOCAL_MODULE := avilibLOCAL_SRC_FILES := avilib.c platform_posix.cinclude $(BUILD_STATIC_LIBRARY)## Native module#include $(CLEAR_VARS)LOCAL_MODULE := moduleLOCAL_SRC_FILES := module.cLOCAL_STATIC_LIBRARIES := avilibinclude $(BUILD_SHARED_LIBRARY)

3.多个模块使用共享库

静态库会编进每一个共享库,无形中增加了整个库文件的大小,所以推荐用第4种方式

include $(CLEAR_VARS)LOCAL_MODULE := avilibLOCAL_SRC_FILES := avilib.c platform_posix.cinclude $(BUILD_SHARED_LIBRARY)## Native module 1#include $(CLEAR_VARS)LOCAL_MODULE := module1LOCAL_SRC_FILES := module1.cLOCAL_SHARED_LIBRARIES := avilibinclude $(BUILD_SHARED_LIBRARY)## Native module 2#include $(CLEAR_VARS)LOCAL_MODULE := module2LOCAL_SRC_FILES := module2.cLOCAL_SHARED_LIBRARIES := avilibinclude $(BUILD_SHARED_LIBRARY)

4.使用已经编译过的共享库
libmonogoose.so是已经用ndk编译生成的共享库

LOCAL_PATH := $(call my-dir)include $(CLEAR_VARS)LOCAL_MODULE := mongoose-prebuildLOCAL_SRC_FILES := myLibs/libmonogoose.soinclude $(PREBUILT_SHARED_LIBRARY) # 这里是PREBUILT_SHARED_LIBRARYinclude $(CLEAR_VARS)LOCAL_MODULE := hello_worldLOCAL_SRC_FILES := hello_world.cLOCAL_SHARED_LIBRARIES := mongoose-prebuild #上面的LOCAL_MODULEinclude $(BUILD_SHARED_LIBRARY)
0 0