1.linux操作系统
  linux2.6内核作为硬件抽象层在手机物理硬件与安卓软件栈之间处理核心系统服务。
  内核负责处理一些核心功能,包括:
  (1)应用程序强制执行的权限和安全;
 (2)低级的内存管理;
 (3)进程管理和线程操作;
 (4)网络协议栈;
 (5)显示、键盘输入、摄像头、无线、闪存、声音、Binder(进程间通讯)驱动程序访问。

2.Android应用程序运行时环境
  每一个Android应用程序均运行在不同的进程中,这一进程对应一个Dalvik虚拟机的实例(instance)。基于JAVA虚拟机,Dalvik为移动设备进行了优化设计。Dalvik虚拟机
具有较小的内存占用,而且多个Dalvik虚拟机的实例在手机设备上可以并发地运行。

3.Android编程语言
   Android应用程序使用Java编程,如果你的应用程序必须依赖于其他的语言(c/c++)的本地代码,
你可以使用本地化开发包(NDK)。
4.Android应用程序架构
 (1)UI组件:包括列表,文本框,按钮等UI组件,是用户可视的部分。
 (2)Content Providers:提供了一种应用程序程序可实现数据的访问和共享的机制。
 (3)Notification Manager:能让应用程序将自己的警告信息显示在状态栏上,如显示收到新短信,提示电池信息。
 (4)Activity Manager:管理应用程序的生命周期,并提供应用程序页面退出的机制。
5.Android应用程序四大组件
 (1)Activity(活动) 
 (2)Broadcast Intent Receiver(广播)
 (3)Server(服务)
 (4)Content Provider(内容提供者)
6. Android工程文件组成
src:使用java语言编写的代码,包括各种Activity的实现相应的java类。
gen:由eclipse自动生成,包含了应用程序所使用到的资源ID包。
libs:Android库文件包。
assets:放置外部文件的资源包。
res:应用程序所需的资源文件,如图标,颜色,xml文件等。
drawable:图片资源包
layout:布局文件包。
values:定义字符串,颜色等
Android Manifest.xml:应用程序的配置文件。在该文件中声明应用程序的名称,使用到的Activity,Service,Receive,权限等。