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的源码由几十万个文件构成,这些文件之间有的相互依赖,有的又相互独立,它们按功能或类型又被放到不同 ...
随机推荐
- Js冒泡事件和捕获事件
js中冒泡事件和捕获事件: 冒泡事件:冒泡事件是从里向外,即是从被绑定元素开始一直向外到达页面的所有祖先元素都会被触发,这 一过程被称为事件冒泡.这个事件从原始元素开始一直冒泡到DOM树的最上层 捕获 ...
- sphinx 简介以及安装 以及php拓展开启
一 sphinx 简介 在 使用mysql数据库过程中,如果想实现全文检索的优化,可以使用mysql自带全文索引,但是不支持中文..关于sphinx的安装网上很多教程写的都 不错比如:http:/ ...
- C#中静态方法和非静态方法的区别(二)
一.引言 在C#中,静态和非静态的特征对于我们来说是再熟悉不过了,但是很少看到有一篇文章去好好地总结静态和非静态它们之间的不同,为了帮助大家更好地去理解静态和非静态特征, 所以将在这篇文章中帮大家全面 ...
- C#实现对邮件的发送
首先是邮件帮助类 using System; using System.Collections.Generic; using System.Text; using System.Net.Mail; u ...
- 关于ios object-c 类别-分类 category 的静态方法与私有变量,协议 protocol
关于ios object-c 类别-分类 category 的静态方法与私有变量,协议 protocol 2014-02-18 19:57 315人阅读 评论(0) 收藏 举报 1.category, ...
- sort 命令
sort sort -t': ' -k 2n -t 可以自定义分隔符 -k 可以自定义分割后取第几个字符串作为排序值 2n表示第二个值,并作为数字来排序
- 大用处--PowerShell Management Library for Hyper-V.
http://pshyperv.codeplex.com/releases 用脚本来收集及集成HYPER-V管理. 越来越似KVM,LIBVIRT啦.
- VS2012中使用Boost库的方法(超级简单)
很不错的博客一定得看 http://my.csdn.net/caimouse 1.下载boost库 从http://www.boost.org上下载到目前最新的boost库,快速传送门:boost_1 ...
- (转载)php 合并数组中的数据,如果键值相等其值相加
(转载)http://hi.baidu.com/syxrrrr/item/7dfb2387343ce0874414cfdd /* * 合并数据,如果键值相等其值相加 * @param array $d ...
- 【模拟】NCPC 2014 D Dice Game
题目链接: http://acm.csu.edu.cn/OnlineJudge/problem.php?id=1790 题目大意: 两个人,每个人有两个骰子,每个骰子可以等概率取[a,b],问哪个人两 ...