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的源码由几十万个文件构成,这些文件之间有的相互依赖,有的又相互独立,它们按功能或类型又被放到不同 ...
随机推荐
- Zookeeper的设计模式之观察者模式(十)
Watcher是Zookeeper用来实现distribute lock, distribute configure, distribute queue等应用的主要手段.要监控data_tree上的任 ...
- BZOJ 1492 货币兑换
Description Input 第一行两个正整数\(N,S\),分别表示小Y 能预知的天数以及初始时拥有的钱数. 接下来\(N\)行,第\(K\)行三个实数\(A_{K},B_{K},Rate_{ ...
- How Much Did It Rain? Winner's Interview: 1st place, Devin Anzelmo
How Much Did It Rain? Winner's Interview: 1st place, Devin Anzelmo An early insight into the importa ...
- 【HDOJ】3442 Three Kingdoms
bfs+状态压缩.初始化数组的曼哈顿距离条件写错了,改了一下午. /* 3442 */ #include <iostream> #include <cstdio> #inclu ...
- hust-1024-dance party(最大流--枚举,可行流判断)
题意: 舞会上,男孩和女孩配对,求最大完全匹配个数,要求每个人最多与k个不喜欢的人配对,且每次都和不同的人配对. 分析: 将一个点拆成3个点. b, b1, b2. 从1到n枚举ans, 判可 ...
- Linux Shell编程(5)——shell特殊字符(下)
{}代码块[花括号]. 这个结构也是一组命令代码块,事实上,它是匿名的函数.然而与一个函数所不同的,在代码块里的变量仍然能被脚本后面的代码访问. bash$ { local a; a=123 ...
- matlab制造一个64*64的仿真数据
fid = fopen('test_001.img','w'); r=random('Normal',100,0,64,64); z=random('Uniform',0,5,64,64); %%%% ...
- 开源代码搜索器searchcode
项目主页:https://searchcode.com/ 查看API:https://searchcode.com/api/ 关于:https://searchcode.com/about/ Sear ...
- workflow4.0持久化
WF4中的持久化模型有了很大的变化. SqlWorkflowInstanceStore是WF提供给我们的开箱即用的类,它会将工作流数据保存到SQL Server 2005或是2008中.该类从Inst ...
- postgresql使用文档之一 初始化数据存储区
17.2. 创建一个数据库集群(Database Cluster) 在你能做任何事情之前,你必须在磁盘上初始化一块存储空间.我们称这为一个数据库集群(database cluster). 一个Data ...