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-r7bexport 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开发之旅!

更多相关文章

  1. Android Studio下载安装教程及开发环境搭建
  2. Android简介与开发环境搭建
  3. 应用兼容性Android Studio IDEA:基于IDEA的安卓开发环境
  4. Android NDK环境搭建
  5. Android 4.4环境搭建——Android SDK下载与安装
  6. eclipse android开发环境 bug CDT包含路径名无法修改(JNI开发使用
  7. Android获取存储设备挂载路径
  8. Android自动化测试之环境搭建(二)
  9. 我的Android 4 学习系列之开始入手:配置开发环境与理解Hello Worl

随机推荐

  1. 基于 Yii2 开发的多店铺商城系统,免费开源
  2. 统信UOS系统中使用QQ浏览器导入pfx/p12认
  3. I/O模型和Java NIO源码分析
  4. 统信UOS系统中设置WPS双面打印的方法
  5. 快速排序c、c++
  6. springboot研究二:spring-boot单元测试
  7. MySQL 语句分析的神器-Optimizer Trace
  8. Spring AOP(三) Advisor类架构
  9. 【Vue框架学习】组件注册、组件通信、前
  10. spring-data详解之spring-data-jpa:简单三