Andriod是什么?
首先,就像Android开源和兼容性技术负责人Dan Morrill在Android开发手册兼容性部分所解释的,“Android并不是传统的Linux风格的一个规范或分发版本,也不是一系列可重用的组件集成,Android是一个用于连接设备的软件块。”
Linux:
所有东西的底层是一个稳定的保持更新的Linux内核(我现在用的Nexus手机所用的就是2.6.32版的内核),以及我们精心打造的能源管理组件;当然还有将它们整合至上层Linux代码的扩展和公共组件。
Dalvik:
Android另一个重要的部分,包括虚拟机和一组重要的运行环境。它的设计非常巧妙,是个很好的一个手机终端的底层应用。
代码如何生成?
Dalvik虚拟机只执行.dex的可执行文件。当Java程序通过编译,最后还需要通过SDK中的工具转化成.dex格式才能在虚拟机上执行。
我需要强调的是,Android应用本身就可视作可在平台上运行并调用APIs的代码,所以对代码如何生成不需特别看重。
特别的Apps:
在图中有些基于Dalvik虚拟机的Apps看起来像是Android的一部分,其实是由Google提供,这些应用包括Dialer、Contact、Calendar、Gmail和Chat等。它们中的绝大部分是开源并可复用的。只有少部分例外,比如Google Maps和Android Market.
开源那些事:
在下面的图中,绿色的大部分组件是基于Apache许可证开源,其余基于GPL、LGPL和BSD。
Android框架
在Android开发者网(developer.android.com)上已有不少篇幅来帮助你使用它,在此就不再累述。
标准库
在这里“标准”是指“开发者在开源环境中一般可以使用的”。
App里面是什么
一个Android App包含在一个我们称之为APK的压缩文件夹中,APK并没有什么可说的,需要注意的是Android Manifest——介于App和Android System的接口。
其他
大多数应用是基于Dalvik的,我指的是除了游戏之外的应用。游戏开发者通常希望用C/C++来编写,排斥使用虚拟机,所以他们可以通过Andriod NDK来开发。(编译/杨东杰)
原文:http://www.tbray.org/ongoing/When/201x/2010/11/14/What-Android-Is
分享到:
相关推荐
这个“andriod afinal框架demo”应该是一个示例项目,用于演示如何在实际应用中使用Afinal框架。 首先,Afinal的核心功能包括数据库的创建、升级、表的创建以及数据的CRUD(Create、Read、Update、Delete)操作。在...
Andriod开发教程与笔记
本项目提供的"andriod音乐播放器(源代码)"是一个简易的实现,它可以帮助开发者了解如何在Android环境中创建一个功能基本的音乐播放应用。下面将详细讲解这个音乐播放器实例中的关键知识点。 首先,Android音乐...
Andriod API中英双版,基本上是最全的了.想要快拿走...
这个压缩包“Andriod_SDK.zip_andriod_andriod开发”显然提供了关于Android SDK以及Android开发模式的详细讲解,非常适合那些对Android平台感兴趣或者正在学习Android编程的人。 Android SDK包括了以下关键组件: ...
这个名为"andriod-code.rar"的压缩包文件,显然包含了与Android编程相关的学习代码。这些代码可能是作者在学习Android开发过程中编写的示例、练习或者项目,旨在帮助理解和掌握Android应用开发的核心概念和技术。 ...
在Android学习之旅中,我们首先需要理解Android是一个开源的操作系统,主要应用于移动设备,如智能手机和平板电脑。它由Google主导开发,基于Linux内核,提供了丰富的API和工具供开发者构建应用程序。...
用andriod实现的查询天气预报 package cn.Wongxming.weather.utils; import java.util.ArrayList; public class WeatherSet { private WeatherCurrentCondition myCurrentCondition = null; private ...
《多库俄罗斯方块Andriod版本开发详解》 在移动设备上,经典游戏俄罗斯方块的Andriod版本受到了广大玩家的喜爱。本项目“多库俄罗斯方块Andriod版本”提供了一个全面的实现,其中包含了源代码及详细的注释,为...
"andriod多线程通信handler方法"这个主题正是关注这一核心概念。 首先,我们需要了解Android应用的基本运行环境。每个Android应用都有一个主线程,也称为UI线程,它负责处理用户交互和更新UI。由于Android系统规定...
在Andriod开发环境中,Linux系统的安装和配置过程与Windows略有不同,主要涉及JDK、Android SDK、Eclipse以及相关工具的安装与设置。以下是详细步骤: **一、准备工作** 在Linux环境下搭建Android开发环境,首先...
`Andriod.zip`可能是一个包含各种Android项目资源和源代码的压缩文件。在这个文件中,我们通常会发现以下关键组成部分: 1. **项目结构**:Android项目的目录结构是固定的,包括`app`、`build.gradle`、`gradle....
标题提到的"andriod画界面的工具"主要指的是用于设计Android UI的软件或平台。在描述中反复提到了"非常好用",这暗示了我们讨论的工具具有高效率和易用性。从提供的文件名称列表“droiddraw-r1b20”来看,这可能是...
andriod activity入门级介绍资料,对其生命周期介绍的很好
在Android开发领域,"andriod"这一主题涵盖了广泛的议题,包括但不限于操作系统内核、应用程序框架、用户界面设计以及各种开发工具的使用。下面将详细阐述Android开发中的关键知识点。 首先,Android是一个开源的...
这个“andriod图文识别模块源码”提供了在Android项目中集成图文识别功能的方法。让我们深入探讨一下这个模块的核心知识点。 1. **Tesseract OCR引擎**: 图文识别的核心技术通常是基于OCR(Optical Character ...
magic-bottle项目是一套匿名社交系统,包括Andriod、WEB管理端以及服务端,采用DDD+CQRS架构 magic-bottle项目是一套匿名社交系统,包括Andriod、WEB管理端以及服务端,采用DDD+CQRS架构 magic-bottle项目是一套...
在描述中反复提到“andriod sdk开发使用的”,这表明该SDK对于Android应用的开发至关重要。文件“installer_r24-windows.exe”很可能是一个Android SDK的安装程序,用于在Windows平台上安装SDK。而“西西软件园.txt...
经典Andriod开发书籍...送给入门(keng)的或者计划入门(keng)的筒子们!