使用最新ndk,直接抛弃cygwin,曾经作Android的项目要用到NDK就必须要下载NDK,下载安装Cygwin(模拟Linux环境用的),下载CDT(Eclipse C/C++开发插件),还要配置编译器,环境变量,特别麻烦,新版就不须要了html
步骤 :android
1、Android官网下载Android的开发工具ADT(Android Development Tool的缩写),该工具集成了最新的ADT和NDK插件以及Eclipse,另外一个最新版本号SDK。解压以后就可以用了eclipse
2、ADT插件:管理Android SDK和相关的开发工具的工具
NDK插件:用于开发Android NDK的插件,ADT版本号在20以上,就能安装NDK插件。另外NDK集成了CDT插件开发工具
下载连接见:http://developer.android.com/sdk/index.htmlui
3、Android官网下载最新的NDK,注:NDK版本号在r7以上以后就集成了Cygwin,而且仍是十分精简版。spa
下载连接见:http://developer.android.com/tools/sdk/ndk/index.html插件
eclipse配置 :
1.打开Eclipse,点Window->Preferences->Android->NDK,设置NDK路径。好比Shamoo的是E:\android-ndk-r9c
2.新建一个Androidproject,在project上右键点击Android Tools->Add Native Support...,而后给咱们的.so文件取个名字,好比:my-ndk
3.这时候project就会多一个jni的目录。jni下有Android.mk和my-ndk.cpp文件。Android.mk是NDKproject的Makefile,my-ndk.cpp就是NDK的源文件。指针
4.接下来仿着NDK的demo,Hello-JNIproject写一下。使用Alt + '/'可以代码提示!很是爽!有木有?以前用CDT时候死活都按不出代码提示,郁闷...
5.JNI接口的命名规范是:Java_ + 调用该方法的包名(包名的点用_取代) + _ + 调用该接口的类名 + _ + 方法名。对于实例方法。有两个參数是必要的,一个JNI的环境指针JNIEnv *
6.完毕了。而后执行。htm
执行以前先编译NDK,而后在编译JAVA代码。编译或许会遇到Unable to launch cygpath. Is Cygwin on the path?怎样解决?例如如下
7.project右键。点Properties->C/C++ Build的Building Settings中去掉Use default build command。而后输入${NDKROOT}/ndk-build.cmd
8.在C/C++ Build中点击Environment,点Add...加入环境变量NDKROOT,值为NDK的根文件夹