本文转自:http://www.cnblogs.com/skywang12345/archive/2013/05/23/3095013.html

本文主要介绍“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开发之旅!

Android JNI和NDK学习(01)--搭建NDK开发环境(转)的更多相关文章

  1. 【转】android 最新 NDK r8 在window下开发环境搭建 安装配置与使用 详细图文讲解,完整实际配置过程记录(原创)

    原文网址:http://www.cnblogs.com/zdz8207/archive/2012/11/27/android-ndk-install.html android 最新 NDK r8 在w ...

  2. android 最新 NDK r8 在window下开发环境搭建 安装配置与使用 详细图文讲解,完整实际配置过程记录(原创)

      android 最新 NDK r8 在window下开发环境搭建 安装配置与使用 详细图文讲解,完整实际配置过程记录(原创) 一直想搞NDK开发却一直给其他事情耽搁了,参考了些网上的资料今天终于把 ...

  3. Eclipse+ADT+Android SDK 搭建安卓开发环境

    Eclipse+ADT+Android SDK 搭建安卓开发环境   要求 必备知识 windows 7 基本操作. 运行环境 windows 7(64位); eclipse-jee-luna-SR2 ...

  4. Eclipse+ADT+Android SDK 搭建安卓开发环境(版权属于forever-z)

    运行环境 windows 7或者10(64位); 为例eclipse-jee-neon-3-win32-x86_64: ADT-23.0.4 下载地址 安装JDK 这里可以参考关于安装JDK的教程,请 ...

  5. Eclipse+ADT+Android SDK 搭建安卓开发环境(转)

    要求 必备知识 windows 7 基本操作. 运行环境 windows 7(64位); eclipse-jee-luna-SR2-win32(32位);ADT-23.0.4 下载地址 环境下载 最近 ...

  6. Android(java)学习笔记219:开发一个多界面的应用程序之两种意图

    1.两种意图: (1)显式意图: 在代码里面用intent设置要开启Activity的字节码.class文件: (2)隐式意图: Android(java)学习笔记218:开发一个多界面的应用程序之人 ...

  7. qt学习教程1.qt开发环境搭建

    qt学习教程1.qt开发环境搭建 首先下载qt 下载地址:http://download.qt.io/archive/qt/ 此教程使用的版本为5.1.1 下载好后,打开安装包,然后点下一步 选择一个 ...

  8. JAVA入门(1.JAVA平台应用 2.核心概念:JVM,JDK,JRE 3.搭建JAVA开发环境 4.学习JAVA的原则)

    主要内容: 1.JAVA平台应用 2.核心概念:JVM,JDK,JRE 3.搭建JAVA开发环境 4.学习JAVA的原则 JAVA的平台应用 JAVA的平台应用分为3个部分: 一.JAVA SE,主要 ...

  9. (转)Lua学习笔记1:Windows7下使用VS2015搭建Lua开发环境

    Lua学习笔记1:Windows7下使用VS2015搭建Lua开发环境(一)注意:工程必须添加两个宏:“配置属性”/“C或C++”/“预处理器”/“预处理器定义”,添加两个宏:_CRT_SECURE_ ...

随机推荐

  1. [Codeforces 19E] Fiary

    Brief Intro: 给定一个无向图,询问删去哪条边能使得剩下的图为一个二分图,输出所有结果 Algorithm: 关于二分图的重要性质:一个图为二分图的充要条件为其中没有奇环 1.如果没有奇环, ...

  2. 【树链剖分】【线段树】bzoj3083 遥远的国度

    记最开始的根为root,换根之后,对于当前的根rtnow和询问子树U而言, ①rtnow==U,询问整棵树 ②fa[rtnow]==U,询问除了rtnow所在子树以外的整棵树 ③rtnow在U的子树里 ...

  3. Postman Json测试接口

    当传递Json数据时: 1.必须添加http头:content-type:application/json,否则会报错(后台取不到相对应的值) 注意:如果服务端只支持UTF-8,但程序未对提交数据进行 ...

  4. GAILS里面的SAVE方法

    用途 保存一个domain类的实例到数据库,需要的话会级联保存所有的子实例. 举例 def b = new Book(title:"The Shining") b.save() 描 ...

  5. Androids中数据库的使用SQLite

    (一) 知识点: SQLite3支持的数据类型:NULL,INTEGER,REAL(浮点数字),TEXT(字符串文本),BLOB(二进制对象),虽然他支持的类型只有五种,但实际上sqlite3也接受v ...

  6. 冒泡排序--注意flag变量的设置

    代码: #include<stdio.h> void BubbleSort(int a[],int n){ int i,j; int temp; ; // 此处flag变量的设置可以提高算 ...

  7. [转][译] 分分钟学会一门语言之 Python 篇

    Python was created by Guido Van Rossum in the early 90's. It is now one of the most popularlanguages ...

  8. Oracle API Gateway SOAP到REST协议转换

    1.SOAP到REST协议转换 打开policystudio,加入一个policy Container. 搜索extract rest 设置成为start 搜索set message,将url中的变量 ...

  9. web UIproject师必读的一篇文档,写的很好

    今天在花瓣网上看到的一片文章.写的是web UIproject师的工作应该是如何的,内容非常精彩,分享给小伙伴.希望web UIproject师看了之后有所启示. 我不是一个简单的web UI htt ...

  10. http://blog.csdn.net/tkwxty/article/details/34474501

    http://blog.csdn.net/tkwxty/article/details/34474501