NDK 编译和使用静态库、动态库
2017-03-24 11:00
267 查看
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
相关文章推荐
- Android笔记---开发 NDK 编译和使用静态库、动态库
- android开发 NDK 编译和使用静态库、动态库
- NDK 编译和使用静态库、动态库
- android开发 NDK 编译和使用静态库、动态库
- android开发 NDK 编译和使用静态库、动态库
- android开发 NDK 编译和使用静态库、动态库
- android开发 NDK 编译和使用静态库、动态库
- android开发 NDK 编译和使用静态库、动态库 (转)
- android开发 NDK 编译和使用静态库、动态库
- NDK编译和使用静态库、动态库
- android开发 NDK 编译和使用静态库、动态库
- NDK 编译和使用静态库、动态库
- NDK 编译和使用静态库、动态库; Android.mk 文件语法详解; Android.mk高级写法
- android(NDK+JNI)---NDK 编译和使用静态库、动态库
- android开发 NDK 编译和使用静态库、动态库
- android开发 NDK 编译和使用静态库、动态库
- (收藏) NDK 编译和使用静态库、动态库
- android开发 NDK编译和使用静态库、动态库
- android开发 NDK 编译和使用静态库、动态库
- android开发 NDK 编译和使用静态库、动态库