目前在世界上有两种流行的手机操作系统,Android和 IOS ,其中,IOS由于限定了只能在苹果系列的设备上才能安装,而Android则由于具有良好的可移植性因而占有了智能手机的大多数,往深处的原因则是任何人都可以利用Android的源代码定制完全属于自己的嵌入式系统,而不需要想Google交一分钱。
由于Android原生代码支持的设备并不多,因此,想要在自己的设备上完美运行Android,就需要另外开发一些程序,是的Android可以识别相应设备中的硬件。为这个特定的设备定制Android的过程被称为“移植”。
Android是一个非常优秀的嵌入式操作系统,现在共有四层系统架构,分别为应用层,Android SDK AOI,C/C++代码库,Linux内核。
Linux内核,Android是基于Linux内核的,这一层主要包括Linux的驱动程序以及内存管理,进程管理,电源管理等程序。不同版本的Android版本的驱动程序可能并不通用。
C/C++代码库,这一层主要包括使用C/C++编写的代码库(Linux下的.so文件),也包括Dalivk虚拟机运行时(Runtikme)
Android SDK API,由于Android SDK API 使用java语言编写的,因此,这一层也可以被称为java API层。实际上,这一层就是用java编写的各种library。只不过这些事基于Dalvik虚拟机格式的。
应用程序,这一层是所有Android用户(包括程序员和非程序员)都要接触到的。因为这一层相当于Android的UI 。所有的Android应用程序(包括拍照,电话,短信,Android的桌面,浏览器以及各种游戏)都属于这一层。而这一层主要依靠 Android SDK API 来完成各种功能。