谷歌手机系统简介

相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。


当前位置:快速入门 > 什么是Android?
什么是Android?

2010-03-08 17:29:23
Android 是一个专门针对移动设备的软件集,它包括一个操作系统,中间件和一些重要的应用程序。Beta 版
的Android SDK 提供了在Android 平台上使用JaVa 语言进行Android 应用开发必须的工具和API 接口。

特性
? 应用程序框架支持组件的重用与替换
? Dalvik 虚拟机专为移动设备优化
? 集成的浏览器基于开源的WebKit 引擎
? 优化的图形库包括定制的2D 图形库,3D 图形库基于OpenGL ES 1.0 (硬件加速可选)
? SQLite 用作结构化的数据存储
? 多媒体支持包括常见的音频、视频和静态图像格式(如MPEG4, H.264, MP3, AAC, AMR, JPG, PNG,
GIF)
? GSM 电话技术(依赖于硬件)
? 蓝牙Bluetooth, EDGE, 3G, 和WiFi(依赖于硬件)
? 照相机,GPS,指南针,和加速度计(accelerometer) (依赖于硬件)
? 丰富的开发环境包括设备模拟器,调试工具,内存及性能分析图表,和Eclipse 集成开发环境插件

应用程序
Android 会同一系列核心应用程序包一起发布,该应用程序包包括email 客户端,SMS 短消息程序,日历,
地图,浏览器,联系人管理程序等。所有的应用程序都是使用JAVA 语言编写的。

应用程序框架
开发人员也可以完全访问核心应用程序所使用的API 框架。该应用程序的架构设计简化了组件的重用;任何
一个应用程序都可以发布它的功能块并且任何其它的应用程序都可以使用其所发布的功能块(不过得遵循框
架的安全性限制)。同样,该应用程序重用机制也使用户可以方便的替换程序组件。
隐藏在每个应用后面的是一系列的服务和系统, 其中包括;
? 丰富而又可扩展的视图(Views),可以用来构建应用程序, 它包括列表(lists),网格(grids), 文
本框(text boxes),按钮( buttons), 甚至可嵌入的web 浏览器。
? 内容提供器(Content Providers)使得应用程序可以访问另一个应用程序的数据(如联系人数据库), 或
者共享它们自己的数据
? 资源管理器(Resource Manager)提供非代码资源的访问,如本地字符串,图形,和布局文件( layout
files )。
? 通知管理器(Notification Manager) 使得应用程序可以在状态栏中显示自定义的提示信息。
? 活动管理器( Activity Manager) 用来管理应用程序生命周期并提供常用的导航回退功能。

程序库
Android 包含一些C/C++库,这些库能被Android 系统中不同的组件使用。它们通过Android 应用程序框架
为开发者提供服务。以下是一些核心库:
? 系统C 库- 一个从BSD 继承来的标准C 系统函数库( libc ), 它是专门为基于embedded linux
的设备定制的。
? 媒体库- 基于PacketVideo OpenCORE;该

库支持多种常用的音频、视频格式回放和录制,同时支持
静态图像文件。编码格式包括MPEG4, H.264, MP3, AAC, AMR, JPG, PNG 。
? Su***ceManager - 对显示子系统的管理,并且为多个应用程序提供了2D和3D 图层的无缝融合。
? LibWebCore - 一个最新的web 浏览器引擎用,支持Android 浏览器和一个可嵌入的web 视图。
? SGL - 底层的2D图形引擎
? 3D libraries - 基于OpenGL ES 1.0 APIs 实现;该库可以使用硬件3D 加速(如果可用)或者使用高
度优化的3D 软加速。
? FreeType -位图(bitmap)和矢量(vector)字体显示。
? SQLite - 一个对于所有应用程序可用,功能强劲的轻型关系型数据库引擎。

Android 运行库
Android 包括了一个核心库,该核心库提供了JAVA 编程语言核心库的大多数功能。
每一个Android 应用程序都在它自己的进程中运行,都拥有一个独立的Dalvik 虚拟机实例。Dalvik 被设计
成一个设备可以同时高效地运行多个虚拟系统。Dalvik 虚拟机执行(.dex)的Dalvik 可执行文件,该格式文
件针对小内存使用做了优化。同时虚拟机是基于寄存器的,所有的类都经由JAVA 编译器编译,然后通过SDK
中的"dx" 工具**成.dex 格式由虚拟机执行。
Dalvik 虚拟机依赖于linux 内核的一些功能,比如线程机制和底层内存管理机制。

Linux 内核
Android 的核心系统服务依赖于Linux 2.6 内核,如安全性,内存管理,进程管理, 网络协议栈和驱动模型。
Linux 内核也同时作为硬件和软件栈之间的抽象层。
下一篇: Android的系统架构 工具文档
学习站点推荐
















Android的系统架构
Android的系统架构
2010-03-08 17:26:25
系统构架


Android内核
?? Linux 内核版本2.6
?? 位于硬件和软件堆之间的抽象层
?? 核心服务:安全机制、内存管理、进程管理、网络、硬件驱动。

Android 依赖Linux 内核2.6 提供核心服务,比如安全、内存管理、进程管理、网络、硬件驱动。在这里,Linux
内核扮演的是硬件层和系统其它层次之间的一个抽象层的概念。这个操作系统并非类GNU/Linux 的,因为其
系统库,系统初始化和编程接口都和标准的Linux 系统是有所不同的。

从Google 目前release 的Linux 系统来看,其没有虚拟内存文件系统,系统所用的是yaffs2 文件系统,具体
的映像也都位于SDK 安装目录下。通过emulator -console 命令,我们可以在host 中断下得到一个简单的可以
控制Android 的shell , 这个系统包含了一个Toolbox , 提供一些基本的命令工具, 集中在
/sbin,/system/sbin,/system/bin 中,但是很简陋,命令种类也很少。
目前Android 的程序安装模式是靠Eclipse 自动进行的,通过对底层的分析可知,大致步骤就是在/data/app 和
data/d

ata 下存放android 底层和普通内核没有什么大的区别,我们可以将其作为一个Linux 来进行开发和
hacking。

Lib和运行环境


lib
?? C/C++库:被各种Android 组件使用
?? 通过应用程序框架开发者可以使用其功能
?? 包括:
?? 媒体库:MPEG4 H.264 MP3 JPG PNG .....
?? WebKit/LibWebCore:Web 浏览引擎
?? SQLite 关系数据库引擎
?? 2D,3D 图形库、引擎
丰富的类库支持:2D 和3D 图像库OpenGL ES、数据库SQLite、对象数据库db4o 类库、媒体库、基于Linux
底层系统C 库等等,让应用开发更简单多样。Google 使用Apache 的Harmony 类库,Harmony 某些方面速度
快于Sun 的VM。Runtime 在Dalvik J**a VM 上,Dalvik 采用简练、高效的byte code 格式运行,它能够在低
资耗和没有应用相互干扰的情况下并行执行多个应用。

运行时环境
?? 核心库提供的Java 功能
?? Dalvik 虚拟机依赖于Linux 内核,例如线程或底层内存管理
?? 设备可以运行多个Dalvik 虚拟机,每一个Android 应用程序在它自己的Dalvik VM 实例中运行
?? VM 执行优化的Dalvik 可执行文件(.dex)
?? Dx-工具把编译过的Java 文件转换为dex 文件










建立Android开发环境

2010-03-08 17:15:20
① 下载JDK 5 or JDK 6 (JRE alone is not sufficient) ->安装->设置环境变量
JAVA_HOME CLASSPATH path
② 下载Eclipse 3.3 (Europa), 3.4 (Ganymede) IDE for JAVA->解压
③ 下载Android SDK 解压-> path 里加入SDK 包中的tools 目录全路径
④ 下载ADT 0.8.0 解压
⑤ 打开Eclipse 安装ADT 插件














Android开发环境搭建

2010-03-08 17:13:54
ADV的创建
ADT0.9.1 版本
① 在Eclipse 中创建



② 在命令行中创建
打开CMD 命令行,进入到Android SDK tools 目录

使用android 命令列出target 值

使用android create **d 命令来创建AVD
cd E:\Mobile DEV\Android_SDK1.5\tools
android list targets
行为:"create avd":
创建一个新的Android 虚拟设备。
选项:
-t --target 新的AVD 的Target ID(必须)
-c --sdcard 指向一个共享的SD 存储卡的路径或是为新的AVD 定制的新SD 存储卡的容量大小
-p --path 新AVD 将被创建的位置路径
-n --name 新AVD 的名称(必须)
-f --force 强制创建(覆盖已存在的AVD)
-s --skin 新AVD 的皮肤

例子:将建一个名叫GPhone 的AVD,Target ID=2、SD 存储卡容量52M、路径C:\AVD\、皮肤SUSE-HVGA-P
查看自己新创建的ADV :list avd 命令

ADT0.9.0 版本
只能在命令行中创建
开启命令行进入Android SDK tools 目录
列出Target ID
创建一个新的AVD
查看新创建的AVD
运行指定的AVD
运行新创建的AVD:GPhone
android create avd -n GPhone -t 2 -c 52M -p C:\AVD\ -s SUSE-HVGA-P
android list avd
cd E:\Mobile DEV\Android_SDK1.5\tools
andriod list target
android create avd -n GPhone -t 2 -c 52M -p C:\AVD\ -s SUSE-HVGA-P
android

list avd
emulator -avd GPhone



相关文档
最新文档