一、下载ndk压缩包,并解压
下载链接1:http://developer.android.com/tools/sdk/ndk/index.html
下载链接2:http://pan.baidu.com/s/1hsM6JpM
二、使用cmd编译
1、配置环境变量
2、打开cmd,输入ndk-build出现以下提示代表配置成功
3、hello-jni
第一步:创建jni文件夹,名称必须为jni
第二步:创建Android.mk文件,名称必须为Android.mk
LOCAL_PATH: 这个变量用于给出当前文件的路径。必须在 Android.mk 的开头定义
CLEAR_VARS: 指向一个编译脚本,几乎所有未定义的 LOCAL_XXX 变量都在"Module-description"节中列出。必须在开始一个新模块之前包含这个脚本:include$(CLEAR_VARS),用于重置除LOCAL_PATH变量外的,所有LOCAL_XXX系列变量
LOCAL_MODULE: 这是模块的名字,它必须是唯一的,且不能包含空格。必须在include$(BUILD_XXXX)之前定义它。
LOCAL_SRC_FILES: 要编译的源代码文件列表。 不需列出头文件等,编译系统自动计算依赖。文件名称是相对于LOCAL_PATH的,如: HelloJNI.cpp在jni目录下,test1.cpp和test2.cpp在jni/src目录下
LOCAL_SRC_FILES := HelloJNI.cpp \
src/test1.cpp src/test2.cpp
文件之间用空格或Tab键进行分割,换行用"\" ,注:换行的反斜杠后不要包含任何字符,包括空格。
BUILD_SHARED_LIBRARY: 用于编译一个动态库,生成一个名为 lib$(LOCAL_MODULE).so 的文件
4、编译,进入到jni目录,输入ndk-build命令,如下图:会在jni同级目录生成libs//armeabi/libHelloJNI.so
三、使用eclipse编译
1. 打开Eclipse,点Window->Preferences->Android->NDK,设置NDK路径,注设置的目录为ndk的跟目录
2、创建android工程,右键工程Android Tools-->Add Native Support,输入要生成的动态库的名字,点击完成。
3、会在工程目录下生成一个jni文件
4、将eclipse切换到C/C++模式
5、选中工程,点击导航栏处锤子图标
6、会自动生成动态库