Android NDK环境配置
之前做了一个基于ffmpeg的软解播放器,熟悉了NDK开发的配置环境过程,但是由于太忙一直没有时间写笔记。
首先,介绍一下在这里所参与协作的软件包:
1、 JDK: 这个软件被Eclipse依赖。
2、 Eclipse: 也就是我们所需要配置的目标IDE环境了。版本可以选择Eclipse SE版,也可以选择J2EE版。
3、 Android SDK: 也就是Android开发所需要的Java包以及一些编译工具等。
4、 Android NDK: 包含了一些头文件以及交叉编译器。
5、 ADT(Android Development Tool): 这是Eclipse的Android开发插件。这个插件是关联Eclipse,NDK,SDK的纽带。
一、安装JDK
从Oracle官网下载JDK http://www.oracle.com/technetwork/java/javase/downloads/index.html
Windows:
下载好了之后,安装到你想安装的文件夹里。比如我是安装在 D:\ProgramFiles\Java 中。
然后右键桌面的“我的电脑”(XP) "计算机“(Win7/8) -> ”属性“ -> ”高级系统设置“ -> "高级” -> "环境变量“ -> "系统变量” 。
如下图所示。
然后在系统环境变量 中,
新建 变量名为JAVA_HOME,内容为
D:\ProgramFiles\Java //这里替换成你的JDK安装的路径
新建 CLASSPATH,内容为
.;%JAVA_HOME%\lib;
编辑 Path, 在尾巴上添加
%JAVA_HOME%\bin;
//注意 上面是编辑Path,而不是新建Path,新建了就悲剧的覆盖了你原来的Path,你的控制台命令会都无法使用的。
//注意 如果Path变量的最后一个项没有分号,则要添加一个分号
这样就 配置好了JDK了! 验证一下的话,Win+R输入CMD,然后在控制台中输入java -version,如果提示了Java版本,那么JDK就配置好了。
Linux:
在linux的话,下载了JDK之后,解压到你想解压的路径
比如我是 解压到 /usr/lib/中。假设我解压之后的文件夹的名字是 jdk1.7.0_45。
然后就是配置环境变量了。
在 /etc/profile 或 ~/.bashrc 中添加以下代码
export JAVA_HOME=/usr/lib/jdk1..0_45
#上面换成你的JDK的解压路径
export CLASSPATH=.:%JAVA_HOME%/lib
export PATH=$PATH:%JAVA_HOME%/bin
然后在终端,执行
source ~/.bashrc
source /etc/profile
#上面你是在哪个文件中编辑的就执行哪个命令
在Ubuntu 12以及以后版本的Ubuntu中还需执行以下命令来配置默认的Java版本。
sudo update-alternatives --install /usr/bin/java java $JAVA_HOME/bin/java
sudo update-alternatives --install /usr/bin/javac javac $JAVA_HOME/javac
sudo update-alternatives --install /usr/bin/jar jar $JAVA_HOME/bin/jar
sudo update-alternatives --install /usr/bin/javah javah $JAVA_HOME/bin/javah
sudo update-alternatives --install /usr/bin/javap javap $JAVA_HOME/bin/javap
然后执行以下代码
sudo update-alternatives --config java
这时候,终端会列出所有Java版本,然后你选择这个版本。
二、 安装Eclipse
Eclipse安装非常简单,windows下直接下载解压就好了,linux是也是如此。当然Ubuntu也可以从软件中心安装。至于从Eclipse官网下载的版本,怎样在Ubuntu中做得像从软件中心安装的那样的效果 的话,可以参考
http://blog.csdn.net/gavin_dinggengjia/article/details/7364375
在Ubuntu 13.10中 下拉菜单失效的问题,可以参考
http://my.oschina.net/kinsomc/blog/178997
三、 安装Android SDK
从 http://developer.android.com/sdk/index.html#ExistingIDE 中下载相应的SDK版本。
注意,这里有 ADT Bundle 和 SDK Tools Only两个版本。其中ADT Bundle中集成了一个Eclipse,而且这个集成的Eclipse安装好了ADT插件。
SDK Tools Only只有SDK下载工具,连SDK都没有。
我的建议是下载 SDK Tools Only,然后再运行SDK工具在线下载。如果你网络不好,或者嫌配置Eclipse麻烦,那就选择ADT Bundle。我的Eclipse由于配置了很多其他的如J2EE等工具,所以选择在现有的Eclipse中集成。
在SDK文件夹下的tools文件夹里,有一个 android.bat 或者 android 文件。
windows下直接双击android.bat,即可打开SDK Manager。
linux下在终端中,cd到tools文件夹,执行 ./android 即可打开SDK Manager。
如下图所示,选择最新的build-tools、platform-tools和一个版本的SDK安装。
SDK中的SDK Platform、google APIs、source for sdk以及documentation建议安装。SDK中的ARM EABI System Image和X86 Atom System Image就不要了。它的作用是Android虚拟机用于在电脑上拟真Android设备,真的是卡出翔。建议开发Android先买台Android设备。
选择好了之后,单击右下角的 Install 按钮。如果有多余的陈旧版本,点击Delete 按钮。
四、安装Android NDK
从 http://developer.android.com/tools/sdk/ndk/index.html 中选择相应版本进行下载。
注意了,在windows系统下,自从ndk r9版本之后,就不再需要使用cygwin来模拟linux命令行环境。
这里不再说明使用cygwin进行配置的过程。因为之前我都是在linux下开发,对这种模拟的方法实在是嗤之以鼻,因此也没有学习过。
解压ndk压缩包之后,比如我解压到 D:\ProgramFiles (windows) 或 ~/lib/ (linux)中。然后我重命名解压后的 文件夹的名字为 androidndk。
在windows下配置环境变量:
新建环境变量 NDKROOT ,值为 D:\ProgramFiles\androidndk 。//值换成你的ndk根目录位置 注意这个变量名一定要是NDKROOT,至少在NDK r9版本的时候是这样
编辑Path环境变量,在它的尾巴上 添加 %NDKROOT%; 。
在linux下配置环境变量:
在 /etc/profile 或 ~/.bashrc 中添加以下代码
export NDKROOT=~/lib/androidndk
#上面换成你的NDK根目录
export PATH=$PATH:$NDKROOT
然后执行
source ~/.bashrc
source /etc/profile
#上面你是在哪个文件中编辑的就执行哪个命令
五、安装ADT
如果前面的SDK下载的时候决定使用ADT-Bundle版本的不需要看这一节。
打开Eclipse,选择主菜单 Help -> Install New Software
在弹出的对话框中 单击 Add 按钮,在弹出的对话框中
Name项的内容为 ADT
Location项的内容为 https://dl-ssl.google.com/android/eclipse/ 或者 http://dl-ssl.google.com/android/eclipse/ 。
然后单击OK
如果能连上网的话,等待Install对话框中间有内容可选择,即 Develop Tools和NDK Plugins。全部选中,然后点击 Next> 。
然后不选的next,遇到什么需要Accept的全部accept。
等待漫长的下载就好了。然后重启Eclipse。
六、 配置ADT
在上一步里,重启了Eclipse后不用管弹出的错误信息和提示对话框,全部点忽略或者关闭。然后单击菜单 Window -> Preferences
在弹出的Preferences对话框中,找到
Android项,设置好SDK路径,然后Apply。对于使用ADT-Bundle的人来说,不需要设置SDK路径,因为已经设置好了。
在Android项的子项,NDK中,设置好 NDK路径,然后Apply。
七、大功告成了!
Android NDK环境配置的更多相关文章
- android ndk环境配置(转)
转载自:http://jingyan.baidu.com/article/3ea51489e7a9bd52e61bbac7.html android sdk 更新到 r23 时,eclipse 自带 ...
- Android NDK 环境配置
1. 下载NDK 官方链接地址: http://developer.android.com/tools/sdk/ndk/index.html 下载下来的应该是这个东西(以后可能会有更新,但步骤变动不会 ...
- 在eclipse里配置Android ndk环境 适用于windows mac 和linux(转)
在eclipse里配置Android ndk环境 适用于windows mac 和linux(转) 2012-02-27 13:02:16| 分类: android | 标签:java prog ...
- Android Studio NDK环境配置
本文参考:Android Studio NDK环境配置及JNI使用方法:http://blog.csdn.net/tongseng/article/details/53005123 并添加自己的实践: ...
- 【转】Windows环境下Android NDK环境搭建
原文网址:http://www.metsky.com/archives/525.html 前面介绍Windows下Android 开发环境配置,主要是面向JAVA开发环境,对只做APK上层应用开发人员 ...
- Windows环境下Android NDK环境搭建
前面介绍Windows下Android 开发环境配置,主要是面向JAVA开发环境,对只做APK上层应用开发人员来讲,基本够用了,由于Linux系统的权限限制和Android封装架构限制,很多涉及底层设 ...
- Mac系统cocos2dx + android 开发环境配置
Mac系统cocos2dx + android 开发环境配置 /****************************************************** 这遍文章主要转载自:htt ...
- Windows XP环境下 搭建Android NDK环境
搭建Android NDK环境 Windows XP环境下 1 一些下载 ① NDK r7:http://developer.android.com/sdk/ndk/index.html ② cygw ...
- Qt For Android 开发环境配置
想了想,还是再写一篇关于Qt for Android开发环境配置的教程. 准备:Java jdk,Android sdk,Android adb,Android ndk,Android ant,Qt ...
随机推荐
- 【Android 界面效果17】Android手机平板两不误,使用Fragment实现兼容手机和平板的程序
记得我之前参与开发过一个华为的项目,要求程序可以支持好几种终端设备,其中就包括Android手机和Android Pad.然后为了节省人力,公司无节操地让Android手机和Android Pad都由 ...
- UIScrollView,contentOffset,contentInsert的各自特点和区别?
• UIScrollView是一个能够滚动的视图控件,可以用来展示大量的内容,并且可以通过滚动查看所有的内容 设置UIScrollView的contentSize属性,告诉UIScrollView ...
- RandomAccessFile的使用
package com.lk.C; import java.io.IOException; import java.io.RandomAccessFile; public class RandomAc ...
- property在括号中应该怎样写
property 属性的定义,类似于get set assign: 简单的赋值,不更改索引计数 使用assign是针对基础的数据类型,比如NSinterger,CGFloat和c数据类型(int fl ...
- 《算法导论》习题解答 Chapter 22.1-2(邻接矩阵与链表)
链表如图: 矩阵: 1 2 3 4 5 6 7 1 0 1 1 0 0 0 0 2 1 0 0 1 1 0 0 3 1 0 0 0 0 1 1 4 0 1 0 0 0 0 0 5 0 1 0 0 0 ...
- Ubuntu(16.04) 下如何修改(安装)arm-linux-gcc编译器
ubuntu下如何修改(安装)arm-linux-gcc编译器 将gcc解压到根目录 sudo tar xjf arm-linux-gcc-4.3.2.tar.bz2 -C / 查看原来的环境变量 e ...
- 如何调试异步加载的js文件(浏览器调试动态加载js)
描述 1:jQuery->var obj= new $.js_Obj():等异步加载js文件,执行方法. obj.method(): 2:页面估计不变,通过声明不同的js文件,进行页面内容的转换 ...
- 数组去重算法,quickSort
function removeRepeat(arr) { var arr2 = [] ,obj = {}; for (var i = 0; i<arr.length; i++) { var nu ...
- C# 简单邮件群发通用类
public static class Email { /// <summary> /// 发件人 /// </summary> public static string ma ...
- asp.net mvc @RenderBody()的问题
在使用.net mvc 母版页布局时如果是进行上中下三块布局的话,那么就会像下面的图那样: 在上面的div 和下面的div之间会出现4cm的间隔, 解决如下: 给包裹@RenderBody()的div ...