ZNDS智能电视网 推荐当贝市场

TV应用下载 / 资源分享区

软件下载 | 游戏 | 讨论 | 电视计算器

综合交流 / 评测 / 活动区

交流区 | 测硬件 | 网站活动 | Z币中心

新手入门 / 进阶 / 社区互助

新手 | 你问我答 | 免费刷机救砖 | ROM固件

查看: 13433|回复: 0
上一主题 下一主题
[教程]

Android开发笔记第三篇(什么是 Android?)

[复制链接]
跳转到指定楼层
楼主
发表于 2013-8-28 16:30 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
     
   
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/data 下存放 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 Java VM 上,Dalvik 采用简练、高效的 byte code 格式运行,它能够在低   
资耗和没有应用相互干扰的情况下并行执行多个应用。   
   
   
运行时环境   
   
核心库提供的 Java 功能   
Dalvik 虚拟机依赖于 Linux 内核,例如线程或底层内存管理   
设备可以运行多个 Dalvik 虚拟机,每一个 Android 应用程序在它自己的 Dalvik VM 实例中运行   
VM 执行优化的 Dalvik 可执行文件(.dex)   
Dx-工具把编译过的 Java 文件转换为 dex 文件   
   
应用和框架   
   
   
核心应用,例如联系人,电子邮件,电话,浏览器,日历,地图, ...   
充分访问所有核心应用框架 API   
简化组件的重用   
用 Java 编写应用程序   
   
     
支持的功能   
   
   
   
+ Application framework: 可重用的和可替换的组件部分,在这个层面上,所有的软件都是平等的。   
   
+ Dalvik virtul machine: 一个基于 Linux 的虚拟机。   
   
+ Integrated browser: 一个基于开源的 WebKit 引擎的浏览器,在应用程序层。   
   
+ Optimized graphics: 包含一个自定义的 2D 图形库和基于 OpenGL ES 1.0 标准的 3D 实现。   
   
+ SQLite: 数据库   
   
+ Media support: 通用的音频,视频和对各种图片格式的支持(MPEG4, H.264, MP3, AAC, AMR, JPG, PNG, GIF)   
   
+ GSM Telephony: GSM 移动网络, 硬件支持。   
   
+ Bluetooth, EDGE, 3G, and WiFi: 都依赖于硬件支持。   
   
+ Camera, GPS, compass, and accelerometer: 都依赖于硬件支持。   
   
+ Rich development environment: 包含一套完整的开发工具集,方便跟踪调试,内存检测和性能测试,而且   
提供了   
   
   
Eclipse 的插件。最底层的是一个 Linux Kernel,加载了几个移动设备必要的系统驱动(这么说来 Android 基   
础系统是要以 GPL 发布了?不知道 34 家厂商的硬件开发商们是怎么样想的);上面是类库和 Runtime,绿色   
的类库部分可以看到大名鼎鼎的 SQLite,这个软件甚至声称自己属于公共领域(比 MIT License 还要强 @@),   
字体 FreeType 是 BSD-style License 的,图形库 OpenGL ES 只需通过产品测试,无偿使用于产品。再向上看   
是应用层的东西了,这里可以做的事情就非常多了,各个社区,各个厂家都可以参与进来。难怪 Android 的sdk   
   
可以 Apache License 发布了,对企业和开发人员友好啊。   
   
那么 Google 自己的东西在哪里呢?没错,就是右   
   
边那个 runtime,最吸引技术人员的就是这个 runtime(注意,这个才是 Android 的 核 心)。Google 为它准备了   
一个虚拟机,叫做 Dalvik。这个让人摸不着头脑的东西的到底是什么?从开发平台上我们清清楚楚地得到了   
答案:Java   
   

上一篇:Android开发笔记第五篇(虚拟机Dalvik,Android中各种JAVA包描述
下一篇:Android开发笔记第二篇(Android 手机概念)
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|新帖|标签|软件|Sitemap|ZNDS智能电视网 ( 苏ICP备2023012627号 )

网络信息服务信用承诺书 | 增值电信业务经营许可证:苏B2-20221768 丨 苏公网安备 32011402011373号

GMT+8, 2025-4-28 02:16 , Processed in 0.059711 second(s), 15 queries , Redis On.

Powered by Discuz!

监督举报:report#znds.com (请将#替换为@)

© 2007-2025 ZNDS.Com

快速回复 返回顶部 返回列表