前言
因为现在做的项目中需要用到JNI来实现apk同开发版的串口进行通讯。所以,需要安装NDK来进行开发。在网上查询了一些资料,其中百度经验中《Android NDK环境搭建》(http://jingyan.baidu.com/article/5d6edee22d908799eadeec9f.html)这份算是比较新也比较实用的,但是,其中也有很多问题并没有提及。还需要NDK文件中NDK Programmer's Guide中Getting Started with the NDK的部分。所以,本文以NDK Programmer's Guide的翻译为主,加入笔者做这些过程中的心得,写出来跟大家分享。
安装
对于NDK的安装没太多好说的。不过谷歌网站无法登陆,以致没办法获得官方资源这是一个不争的事实。所以,推荐一个网站:http://www.androiddevtools.cn/。基本上Android相关的所有官方非官方的资料都有,很好用。这其中还有服务器地址可以帮大家解决没办法正常更新sdk的问题。非常好用,强烈推荐一下。
从网站里下载下来ndk以后在adt相关目录里解压就可以了,至于哪里没有强制要求。根据后面步骤的设置让adt能够找到ndk目录即可。
还有需要设置一下ndk的环境变量,如下:
C:/Android_SDK/NDK/android-ndk-r10
配置Eclipse
- 打开Preferences
- 选择Android>NDK
- 在NDK Location中把上面的地址填进去
- 点击OK
验证
为了确认你的ndk已经正确安装,我们利用ndk给的例子来验证一下:
- 导入hello-jni的例子,在`<ndk>/samples/’目录中
- 在左侧Project Explorer中右击工程名(hello-jni)
- 选择Android Tools > Add Native Support
- 接受默认的库名称("hello-jni"),单击完成
- 编译和执行应用
在编译的过程中可能会遇到这样的问题Unable to launch cygpath. Is Cygwin on the path?以下是解决步步骤:
- 工程右击,点Properties->C/C++ Build的Building Settings中去掉Use default build command, 然后输入${NDKROOT}/ndk-build.cmd
- 在C/C++ Build中点击Environment, 点Add...添加环境变量NDKROOT,值为NDK的根目录
之后就应该会成功的显示出下面的图片,那样NDK的环境就已经搭建成功了。
后面我还会写一下怎么自己写一个JNI的程序,欢迎大家来交流。