Android JNI和NDK学习(01)--搭建NDK开发环境
本文主要介绍“JNI”、“Android NDK”以及“如何搭建Android NDK开发环境”
1 JNI介绍
JNI是Java Native Interface的缩写,中文为JAVA本地调用。
从Java1.1开始,Java Native Interface(JNI)标准成为java平台的一部分,它允许Java代码和其他语言写的代码进行交互。JNI一开始是为了本地已编译语言,尤其是C和C++而设计的,但是它并不妨碍你使用其他语言,只要调用约定受支持就可以了。
2 NDK介绍
Android NDK,即Native Development Kit。
众所周知,Android程序运行在Dalvik虚拟机中,NDK允许用户使用类似C / C++之类的原生代码语言执行部分程序。Android的NDK是采用JNI机制实现的。
3 NDK开发环境需求
(一)linux开发环境。如ubuntu操作系统,或cygwin模拟环境;因为jni编程会用到gcc等交叉编译环境。
本文环境:ubuntu 12.04。
(二)Android应用开发环境。包括eclipse、jdk等。
本文环境:ubuntu 12.04下搭建好的eclipse开发环境。
(三)Android ndk开发包。
本文环境:(ubuntu)ndk r7b版本
本文只介绍如何“(三)Android ndk开发包”的配置。
4 搭建NDK开发环境
(01)下载ndk包
可以到andorid官网下载,路径如下:
http://developer.android.com/tools/sdk/ndk/index.html
注意:要选择与操作系统匹配的ndk。例如,我的是ubuntu 12.04的32位操作系统;就选择的是Linux 32-bit (x86) 的ndk包。
(02)下载完毕后,解压缩;然后将ndk-build添加到环境变量中。
首先,将解压后得到的ndk-build添加到环境变量中。执行以下命令,修改环境变量配置文件.bashrc。
$ gedit ~/.bashrc
在.bashrc中添加ndk-build的路径到PATH中,参考如下内容:
# NDK_HOME必须和ndk的路径一致!
export NDK_HOME=/home/skywang/workspace/ndk/r7b/android-ndk-r7b export PATH=$PATH:$NDK_HOME
注意:/home/skywang/workspace/ndk/r7b/android-ndk-r7b 是ndk解压之后包的完整路径,若用户下载的ndk版本或路径不同;只需要将其修改成相应的路径即可。例如,若ndk的路径是 /home/skywang/ndk/android-ndk-r9b;则设置 NDK_HOME=/home/skywang/ndk/android-ndk-r9b 即可。
配置完成之后,重新导入环境变量,通过以下命令:
$ source ~/.bashrc
接下来,检查环境变量是否配置成功,通过以下命令:
$ ndk-build
没有输出“ndk-build: command not found” ,则意味着配置环境变量成功!
环境配置全部完成之后,即可开启ndk开发之旅!