Android 系统移植与驱动开发--第二章搭建Android环境核心步骤及心得
第二章 搭建Android 开发环境
虽然在这一章中讲的是Android底层开发环境,但是相应伴随的还有Android NDK程序来测试Linux驱动,HAL程序库。底层开发不仅需要交叉编译环境,还要开发应用环境。
所使用到的工具有:JDK6或以上版本,Eclipse3.4或以上版本,ADT,CDT,Android SDK,Android NDK,交叉编译环境 ,Android源代码,用于调试开发板的串口工具:minicom。
安装SDK:
第一种方法:官网上下载JDK,gar.gz解压,然后在Linux终端输入命令配置环境变量。http://www.oracle.com/technetwork/java/javase/downloads/index.html
打开profile gedit /etc/profile
在文件最后输入 export PATH=./developer/jdk6/bin:$PATH
重新加载 sourec /etc/profile
. /etc/profile
查看文件 echo $PATH
注意:PATH和等号之前及等号和点之间不能有空格、tab等字符。
第二种方法:在终端直接执行下列命令,在联网的前提下,但不需要在配置PATH环境变量。
add-apt-repository "deb http://archive.canonical.com/ lucid partner"
apt-get update
apt-get install sun-java6-jdk
搭建Android应用程序开发环境:
1.安装Android SDK
进入http://developer.android.com/sdk/index.html下载Linux版本的Android SDK会得到一个压缩文件,将其复制到某个目录下,然后解压,进入新增的目录中寻找android脚本文件,开始执行,选择自己需要的版本联络网下载,platforms中有很多资源,platforms-tools和tools中有很多常用的工具,建议加入PATH环境变量中。命令如下:
打开profile gedit /etc/profile
在文件最后输入
export ANDROID_SDK_PATH=/sdk/android/android-sdk-linux
export PATH=./developer/jdk6/bin$PATH
重新加载 sourec /etc/profile
2.安装Eclipse
在官网上同上找到点击下载,解压找到Eclipse即可开始执行。
3.安装ADT及配置
在线情况下help->Install New Software->add->add repository->name输入->在Location文本框输入http://dl-ssl.google.com/android/eclipse->ok,然后一路next直到finish。
离线安装只有在add repository中点击Archive选择离线安装即可,剩余一样。
在Eclipse中window->preference->左侧android->右侧SDK Location输入android SDK 安装目录->APPLE->ok。
4.建立ADV新建用new,新建好用start启动,则可以启动模拟器。
安装Android NDK开发环境
1.下载Android NDK在上述的同一个网站中,选择Linux版本即可。方法同Android程序驱动开发一样,在最后的脚本是ndt-build,添加到环境变量中。
2.安装CDT,地址如下
http://eclipse.org/cdt/downloads.php
http://download.ecplise.org/tools/cdt/releases.indigo
3.用命令方式编译Android NDK
4.导入Android NDK案例,import
5.配置Android NDK集成开发环境
Ecplise->properties->Builders->New->Choose configuration type->Program->ok弹出对话窗口填写,切换到Refresh,刷新,finish,切换到Builde Opotion->Specify Resources->jni,重新编译代码。
配置交叉编译环境
http://www.mentor.com/embedded-software/sourcery-codebench/edition/lite-edition/
在网址中选择交叉编译的链接,虽然不是直接得到地址,可以点击“Download the GUN/Linux Release”,输入一些信息可以成功。发送到你所填写的Email地址中。
进入CodeSourcery的下载界面后,选择第一个链接,Linux版本的安装格式是bin格式,可以打开命令安装,执行下面操作。
sh pankage.bin交叉编译完成。
经过这一章的学习,明白了Linux驱动开发环境,Android应用程序开发环境,Android NDK开发环境,交叉编译环境,HAL程序库底层都是密切相关的,每个开发环境都是有紧密的步骤,要细心,对每个细节都不放过,反复思索多产生问题的根源,等到完成以后与他人分享成果,心得,可以加进学习。
Android 系统移植与驱动开发--第二章搭建Android环境核心步骤及心得的更多相关文章
- Android系统移植与驱动开发----第一章
第一章 Android系统移植与驱动开发 Android源代码定制完全属于自己的嵌入式系统,但是支持的设备不多,所以要移植,而在移植的过程中使用的不得不提的是驱动开发. Android系统构架主要包括 ...
- Android深度探索HAL与驱动开发 第二章 搭建Android开发环境
通常以应用移植和系统移植的为Andorid系统移植的主要部分.同时为了适应不同平台硬件设备,对源代码进行相应的修改.除了要移植相适应的CPU架构,最重要是移植Linux驱动. 但是由于一些特别的原因, ...
- 第一章 Android系统移植与驱动开发概述
本书第一章首先简单概要地介绍了关于Android系统移植和驱动开发的相关内容. 所谓“移植”是指为特定的自己的设备,如手机定制Android的过程.自己开发一些程序(移植)装载在设备上,使得Andro ...
- 第一章Android系统移植与驱动开发概述--读书笔记
以前,初步学习过嵌入式Linux驱动开发的基础课程,对于驱动开发可以说是有了一点点微末的基础吧.首先我们要对Android嵌入式系统有一个初步的认识,Android系统发展到今天已经具备了完善的架构. ...
- 深入浅出 - Android系统移植与平台开发(十一)- Android系统的定制(瘋耔修改篇一)
首先非常感谢原文作者为我们提供的知识库,因为有你们的贡献,我们的开发难度更显简单 原文 : http://blog.csdn.net/mr_raptor/article/details/30113 ...
- Android深度探索HAL和驱动开发(卷1) 第一章 Android系统移植和驱动开发
由于Android是基于Linux内核的,因此,Android和其他Linux系统的核心部分差异非常小.然而不同版本的Android使用的Linux内核的版本有细微的差异,所以不同Android驱动可 ...
- 第一章:Android系统移植与驱动开发概述
Android是基于Linux内核的,与Linux内核没有太大的区别,只是增加了一些自己独有的驱动,随着Android发布版本的不断升级,他所使用的Linux内核也在不断升级,以适应新的安卓版本,为他 ...
- Android系统移植与驱动开发
21世纪,Android发展非常迅速,在市场上占有很大的比例,遥遥领先与iOS,很大程度上是因为任何人都可以利用Android的源代码定制完全属于自己的嵌入式开发系统,而不需要向Google交一分钱. ...
- 深入浅出 - Android系统移植与平台开发(十)- Android编译系统与定制Android平台系统(瘋耔修改篇二)
第四章.Android编译系统与定制Android平台系统 4.1Android编译系统 Android的源码由几十万个文件构成,这些文件之间有的相互依赖,有的又相互独立,它们按功能或类型又被放到不同 ...
随机推荐
- PHP获取每月第一天与最后一天
<?phpfunction getthemonth($date){$firstday = date('Y-m-01', strtotime($date));$lastday = date('Y- ...
- 【Python开发实战】Python环境的配置
1. 安装Pythonsudo aptitude -y install python-dev 安装Distribute:支撑模块构建与导入的包sudo chmod -R 0775 /usr/local ...
- qt环境问题导致的编译错误
/usr/include/qt5/QtCore/qprocess.h:245:24: error: missing binary operator before token "(" ...
- oracle常见为题汇总,以及一个简单数据连接操作工厂
本人软件环境:win8.1 64位操作系统,vs2013,安装好了与oracle数据库对应的客户端 连接oracle数据库.以及操作数据库 1.使用IIS建立网站,浏览网页时候,提示“ ...
- ipython与python的区别
http://mba.shengwushibie.com/itbook/BookChapter.asp?id=8745 http://www.cnblogs.com/yangze/archive/20 ...
- 单个ViewController支持横屏,其他全竖屏方法-b
如果项目中用了navigationViewController, 那么就应该新建一个uinavigationViewController的子类,然后在这个类里面写上下面的代码,在使用的时候就用自定义的 ...
- 应用Oracle(Linux中的安装)
Linux中安装Oracle,不同于windows. Linux在安装时,要作些必要的分区配置,以便进行Oracle的安装: 同时需要创建专门的数据库用户和组,并配置环境变量. root登录 使用 r ...
- jquery的几个小例子
<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding= ...
- Frequent values
poj3368:http://poj.org/problem?id=3368 题意:给你一个非下降的序列,然后查询[l,r]内出现最多数字的次数. 题解:首先,因为序列是非下降的,所以相同的数字出现在 ...
- Billboard
hdu2795:http://acm.hdu.edu.cn/showproblem.php?pid=2795 题意:给一个h*w的公告牌,h是高度,w是宽度,一个单位高度1为一行,然后会有一些公告贴上 ...