下载ndk,安装完cygwin后
1.在系统变量Path后面加上C:\cygwin\bin
2.在系统变量Path后面加上E:\android\android-ndk-r8
3.先定义一个系统变量NDK_ROOT=E:\android\android-ndk-r8
在cygwin安装目录etc\profile文件打开后修改添加NDK目录PATH="/usr/local/bin:/usr/bin:/cygdrive/d/android/android-ndk-r8e:${PATH}"
修改后可以在bash客户端运行ndk-build。
4.首先找到cygwin的安装目录,找到一个home\<你的用户名>\.bash_profile文件,我的是:D:\cygwin\home\Administrator\.bash_profile,
打开bash_profile文件,添加NDK=/cygdrive/<你的盘符>/<android ndk
(NDKRoot这个名字是随便取的,为了方面以后使用方便,选个简短的名字,然后保存,前面不要加"#");
这个可能在config配置文件中用到NDK_ROOT,起到作用。
打开cygwin,输入cd $NDK_ROOT,如果输出上面配置的/cygdrive/e/android-ndk-r8e信息,则表明环境变量设置成功了。
编译c代码,用的E:\android\android-ndk-r8下的ndk-build命令
在bash里面输入
$cd /cygdrive/e/android/android-ndk-r8/samples/hello-jni
在hello-jni目录下输入ndk-build
(在hello-jni/jni目录下执行ndk-build也得到一样的结果,但不知道有什么区别)
如果出现如下画面,并且存在这个文件:e:androidandroid-ndk-r5b/samples/hello-jni/obj/local/armeabi/libhel
在编译如ffmpeg这样的项目时,往往需要先写配置文件(config.sh),然后再写编译脚本(mk文件)
然后再编译。
如果有的项目这些配置工作都做好了,那么可以像编译hello-jni一样直接ndk-build.(比如havenaptr ffmpeg)