使用最新ndk,直接抛弃cygwin,曾经做Android的项目要用到NDK就必需要下载NDK,下载安装Cygwin(模拟Linux环境用的),下载CDT(Eclipse C/C++开发插件),还要配置编译器,环境变量,特别麻烦,新版就不需要了
步骤 :
一、Android官网下载Android的开发工具ADT(Android
Development Tool的缩写),该工具集成了最新的ADT和NDK插件以及Eclipse,另一个最新版本号SDK。解压之后就能够用了
二、ADT插件:管理Android SDK和相关的开发工具的
NDK插件:用于开发Android NDK的插件,ADT版本号在20以上,就能安装NDK插件。另外NDK集成了CDT插件
下载链接见:http://developer.android.com/sdk/index.html
三、Android官网下载最新的NDK,注:NDK版本号在r7以上之后就集成了Cygwin,并且还是十分精简版。
下载链接见: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.完毕了。然后执行。
执行之前先编译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的根文件夹