- 所属分类:网站建设知识
- 作者: 独占网络
- 更新时间: 2015-3-25 9:25:22
- 返回列表
在Android平台上,通过NDK可以编译C程序。下面介绍动态库和静态库的生成
1. 静态库
1.1 用途
静态库编译生成后是以*.a的文件形式存在;主要用于生成其他链接库或可执行程序;
在使用时,会用到声明了静态链接库中函数的头文件。
1.2 生成方式
使用NDK再带的ndk-build生成时,要求代码需放在./jni/目录下;同时在jni下创建Android.mk文件;根据需要创建Application.mk。
简单的生成静态链接库的Android.mk内容:
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := mystaticLibrary
LOCAL_SRC_FILES := mystaticLibrary.cpp
LOCAL_INCLUDES := $(LOCAL_PATH)/jni
include $(BUILD_STATIC_LIBRARY)
Application.mk文件的内容:
APP_MODULES := mystaticLibrary
#APP_PLATFORM := android-8 #声明应用平台的是可选项
在当前目录使用$(NDK_PATH)/ndk-build命令,可生成相应的模块,一般位于./libs/armeabi/目录下.
2. 动态库
2.1 用途
动态链接库,通常不会在编译时将库中代码直接连接到目标程序中。
2.2 生成动态链接共享库
与生成静态链接库的要求一样,需要将源代码和库放在当前目录下的jni目录下,并在jni目录创建Android.mk文件。
一般内容如下:
include $(CLEAR_VARS)
LOCAL_MODULE := myLibrary
LOCAL_C_INCLUDES := $(LOCAL_PATH)/jni
LOCAL_SRC_FILES := myLibrary.cpp
include $(BUILD_SHARED_LIBRARY)
在当前目录使用$(NDK_PATH)/ndk-build命令即可。
如有不懂,找深圳网站建设:独占网络