前言

本篇博客将介绍如何在Ubuntu12.04下安装Android NDK,在其他版本的Ubuntu下,方法也类似。由于Android NDK不能单独作为Android应用程序来运行,因此,使用Android NDK开发程序之前必须要先安装Android SDK。

本篇博客的主要内容:

  1. 准备工作
  2. 安装NDK

准备工作

首先必须得到Android NDK的安装文件,可以直接在Android的官方网站上得到,点击下载。因为这里使用的是32位的Ubuntu,所以下载android-ndk-r9d-linux-x86.tar.bz2。如下图:

下载完成之后,就得到一个后缀为tar.bz2的压缩包,可以在Ubuntu下进行解压。

安装NDK

得到tar.bz2的压缩包之后,还需要对这个压缩包进行解压。因为tar是标准的压缩格式,所以可以直接使用Ubuntu图形化去解压缩,右键→提取到此处,就可以在当前文件夹下对其进行解压缩,得到一个android-ndk-r9d文件夹。除了使用Ubuntu提供的图像化的方法,还可以在终端下,使用tar语句进行解压缩,同样可以得到一个android-ndk-r9d文件夹。当前下载的安装文件在Developer文件夹下,语句如下:

~/Developer$ tar jxvf android-ndk-r9d-linux-x86.tar.bz2

解压缩完成之后,还需要配置NDK的环境变量。这里有两种选择,如果修改当前用户名主文件夹下的.profile文件,则此配置只对当前登录用户有效,如果需要对本机所有用户有效,可以修改/etc/profile文件。这里使用gedit命令,具体如下:

修改当前登录用户配置文件:

~$ sudo gedit ~/.profile 

修改系统配置文件:

~$ sudo gedit /etc/profile

这两个命令均会打开一个profile文件,在其中修改系统配置文件,如下图:

在其末尾加上,并保存关闭:

export ANDROID_NDK=/home/bgxtand/Developer/android-ndk-r9d
export PATH=$ANDROID_NDK:$PATH

这里的NDK的路径是/home/bgxtand/Developer,如果不确定具体路径,可以使用pwd命令进行查看。如下图:

保存好profile文件之后,还需要使系统重新装载profile文件,这里可以使用如下两个命令使Ubuntu重新装载profile文件,以下两种方式均可:

使用source命令:

~$ source /etc/profile

使用.命令:

~$ . /etc/profile

配置好NDK的环境变量,可以使用echo $PATH命令查看当前的环境变量值,确保当前NDK目录已经被添加到环境变量中,如下:

到此时就完成了Ubuntu下,NDK的安装,NDK中包含了很多示例代码,为了验证NDK是否安装成功,可以进入~/android-ndk-r9d/samples/hello-jni/jni目录下,执行ndk-build命令,效果如下:

执行ndk-build命令之后,有上图输出,表示Ubuntu下NKD安装成功。

Linux--Ubuntu12.04安装NDK的更多相关文章

  1. Linux (Ubuntu12.04) 下开发工具安装和使用

    Linux (Ubuntu12.04) 下开发工具安装和使用 这里讲述的是关于在ubuntu12.04下面安装和使用各种IDE 开发环境和初步使用的知识.说一下背景:很多的开发基本都是在linux操作 ...

  2. Ubuntu12.04 安装Samba

    Ubuntu12.04 安装Samba Ubuntu12.04 安装Samba 本教程介绍了在Ubuntu12.04安装Samba文件服务器,以及如何配置它通过SMB协议共享文件,以及如何将用户添加. ...

  3. [分享]Ubuntu12.04安装基础教程(图文)

    [分享]Ubuntu12.04安装基础教程(图文) 原文地址: http://teliute.org/linux/Ubsetup/lesson21/lesson21.html 1.进入 live cd ...

  4. Ubuntu12.04安装64位系统出现编译错误error while loading shared libraries: libz.so.1: cannot open shared object file: No such file or dir

    问题: Ubuntu12.04安装64位系统出现编译错误error while loading shared libraries: libz.so.1: cannot open shared obje ...

  5. ubuntu12.04安装svn 1.7(转载)

    ubuntu12.04安装svn 1.7 分类: ubuntu2013-10-22 16:03 239人阅读 评论(0) 收藏 举报 svnubuntu   目录(?)[+]   1.问题     在 ...

  6. ubuntu12.04 安装 php5.4/php5.5

    1:修改源(我使用163的源)直接修改/etc/apt/sources.list deb http://mirrors.163.com/ubuntu/ precise main universe re ...

  7. Ubuntu12.04安装java6

    按照android官方文档 http://source.android.com 下载编译android源代码,jdk安装失败,尝试一下方法成功(2013-11-20) 下面我就把在Ubuntu12.0 ...

  8. ubuntu12.04 安装nginx+php+mysql (lnmp)的web服务器环境

    1.Ubuntu12.04 安装nginx+php+mysql (lnmp)的web服务器环境 http://blog.db89.org/ubuntu12-04-install-nginx-php-m ...

  9. Linux Ubuntu12.04下安装OpenCv2.4.10

    参考 http://blog.sina.com.cn/s/blog_53b0956801010lfu.html 捣鼓了一个晚上了,OpenCv还没装好,本来以为看个类似的比如Ubuntu安装OpenC ...

随机推荐

  1. SignalR一个集成的客户端与服务器库。内部的两个对象类:PersistentConnection和Hub

    SignalR 将整个交换信息的行为封装得非常漂亮,客户端和服务器全部都使用 JSON 来沟通,在服务器端声明的所有 hub 的信息,都会一般生成 JavaScript 输出到客户端. 它是基于浏览器 ...

  2. web浏览器工作原理

    HTML在浏览器里的渲染原理 我们打开的页面(Web页面)在各种不同的浏览器中运行,浏览器载入.渲染页面的速度直接影响着用户体验,简单地说下页面渲染,页面渲染就是浏览器将html代码根据CSS定义的规 ...

  3. Windows 8.1 应用再出发 - 几种新增控件(2)

    本篇我们接着来介绍Windows 8.1 的新增控件,分别是:Flyout.MenuFlyout.SettingsFlyout.Hub 和 Hyperlink. 1. Flyout Flyout被称为 ...

  4. Programming Assignment 2: Randomized Queues and Deques

    实现一个泛型的双端队列和随机化队列,用数组和链表的方式实现基本数据结构,主要介绍了泛型和迭代器. Dequeue. 实现一个双端队列,它是栈和队列的升级版,支持首尾两端的插入和删除.Deque的API ...

  5. 【原创】Windows Server 文件夹权限小问题

    服务器:Windows Server 2008 R2 Standard 做文件服务器 问题:在资源管理器里给账号设置了R/W权限,但是一直有问题,写失败. 解决:需要在server manager-r ...

  6. win7 64系统安装oracle客户端使用PL/SQL Developer工具

    1)安装Oracle 11g 64位,我用的版本下载地址: http://www.oracle.com/technetwork/database/enterprise-edition/download ...

  7. 在.sln文件中设置Visual Studio默认启动项目的简单方法

    昨天在一台电脑上用git新签出一个项目进行build,却出现一堆编译错误,而在原先的开发机上build无任何错误.对比分析后发现,开发机上VS的启动项目(startup project)与这台电脑上的 ...

  8. 在服务器端将现有Git项目导入GitLab

    GitLab是由Ruby语言开发的基于Linux的Git服务器,是我见过的最强大的Git服务器.发现它之后,立即决定将Git服务器换成GitLab. 但安装好GitLab之后面临一个问题,如何将服务器 ...

  9. 设计模式之美:Proxy(代理)

    索引 别名 意图 结构 参与者 适用性 效果 相关模式 实现 实现方式(一):使用相同 Subject 接口实现 Proxy. 别名 Surrogate 意图 为其他对象提供一种代理以控制对这个对象的 ...

  10. 集群NAS技术架构

    http://blog.csdn.net/liuaigui/article/details/6422700