某日,有需求,需要在Android下调用c,于是小小研究了一下Android NDK开发,简单记录一下:
1.下载Android-NDK-r7,具体下载地址可以google一下 .下载后解压.
2.NDK开发需要Linux环境,所以在windows上一般使用cygwin来进行模拟,下载cygwin,一般在官网可以下载一个setup.exe文件,安装不说。其中在选择的时候需要注意一下点下面这个:
然后各种选路径下一步。安装完成之后可以简单测试一下cygwin安装是否成功,比如 gcc --version、g++ --version等。如果没问题的话 打开 “<cyg安装目录>/home/用户名/.bash_profile”在该文件的最后部分加上如下代码:
ANDROID_NDK_ROOT=/cygdrive/c/Soft/android-ndk-r7(你的ndk的安装目录) export ANDROID_NDK_ROOT
开发简单的ndk实例:
1.新建一个Android Project。
2.在项目的根目录下新建一个文件夹jni,在jni中新建两个文件:Android.mk,XXX.c
3.Android.mk中输入以下代码:
LOCAL_PATH := $(call my-dir) include $(CLEAR_VARS) # Here we give our module name and source file(s) LOCAL_MODULE := ndkfoo LOCAL_SRC_FILES := XXX.c include $(BUILD_SHARED_LIBRARY)
4.将XXX.c文件补充完整
5.打开cygwin,cd到项目目录下,输入$ANDROID_NDK_ROOT(profile中自定义的名称)/ndk-build进行编译so共享库
6.如果顺利的话你可以发现自动生成了libs文件夹和obj文件夹,在eclipse中refresh一下项目就可以将这两个文件夹同步过来,将activity中的代码补充完整然后run一下项目看看效果吧。