NDK 编译和使用静态库、动态库
来源:互联网 发布:微信秒抢红包软件苹果 编辑:程序博客网 时间:2024/06/05 02:00
NDK 编译和使用静态库、动态库
情况一:编译静态库
情况二:编译动态库
情况三:编译动态库+静态库
情况四:已有第三方静态库(动态库),编译静态库(动态库)
默认所有代码和文件在$project/jni下,否则特殊说明。
情况一:编译静态库
文件Android.mk:
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := hello-jni
LOCAL_SRC_FILES := hello-jni.c
include $(BUILD_STATIC_LIBRARY)
文件Application.mk:
APP_MODULES :=hello-jni
情况二:编译动态库
文件Android.mk:
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := hello-jni
LOCAL_SRC_FILES := hello-jni.c
include $(BUILD_SHARED_LIBRARY)
情况三:编译动态库+静态库
文件Android.mk:
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := mylib_static
LOCAL_SRC_FILES := src.c
include $(BUILD_STATIC_LIBRARY)
include $(CLEAR_VARS)
LOCAL_MODULE := mylib_shared
LOCAL_SRC_FILES := src2.c
LOCAL_STATIC_LIBRARIES := mylib_static
include $(BUILD_SHARED_LIBRARY)
情况四:已有第三方静态库(动态库),编译静态库(动态库)
文件Android.mk:
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := thirdlib1 # name it whatever
LOCAL_SRC_FILES := $(TARGET_ARCH_ABI)/libthird1.a # or $(so_path)/libthird1.so
#LOCAL_EXPORT_C_INCLUDES := $(LOCAL_PATH)/include
include $(PREBUILT_STATIC_LIBRARY) #or PREBUILT_SHARED_LIBRARY
include $(CLEAR_VARS)
LOCAL_MODULE := mylib_use_thirdlib
LOCAL_SRC_FILES := src.c
LOCAL_STATIC_LIBRARIES := thirdlib1 #or LOCAL_SHARED_LIBRARY
include $(BUILD_SHARED_LIBRARY) #如果编译静态库,需要Application.mk
用cd命令移至jni目录,运行/mnt/500G/public/NDK/android-ndk-r7b/ndk-build命令,这时命令行中可能会出现编译错误,比如头文件找不到,函数找不到等等,细心找找就能改掉。编译成功后,在工程目录下libs/x86中就会生成你想要的.so库。
可以参考的如下:
1.http://blog.csdn.net/ztguang/article/details/53708841
2.http://blog.csdn.net/npjocj/article/details/7973832
0 0
- android开发 NDK 编译和使用静态库、动态库
- (收藏) NDK 编译和使用静态库、动态库
- NDK 编译和使用静态库、动态库
- android开发 NDK 编译和使用静态库、动态库
- android开发 NDK 编译和使用静态库、动态库
- android开发 NDK 编译和使用静态库、动态库
- android开发 NDK 编译和使用静态库、动态库
- android开发 NDK 编译和使用静态库、动态库
- android开发 NDK 编译和使用静态库、动态库
- NDK 编译和使用静态库、动态库
- android开发 NDK 编译和使用静态库、动态库
- android开发 NDK 编译和使用静态库、动态库
- android开发 NDK编译和使用静态库、动态库
- android开发 NDK 编译和使用静态库、动态库
- android开发 NDK 编译和使用静态库、动态库
- NDK编译和使用静态库、动态库
- NDK 编译和使用静态库、动态库
- android开发 NDK 编译和使用静态库、动态库
- 毕业设计过程记录四,激光点检测
- vs2010编译log4cxx-0.10.0详细方法(下载,安装)
- Unix和Linux有什么区别? 通俗解释
- C语言头文件定义全局变量问题
- 使用 javaScript 编写倒计时小程序,到时提交表单
- NDK 编译和使用静态库、动态库
- Collection集合之六大接口(Collection、Set、List、Map、Iterator和Comparable)
- abap中检查字符串长度、字符串中是否有空格、前两位是否为字符、正则表达式
- java 企业网站源码模版 屏幕自适应 有前后台 springmvc
- tab切换(使用jquery)
- android 漂亮的EditText样式
- BZOJ 2957: 楼房重建
- qt中时间戳和时间的转换
- json数组笔记