Android, a Linux based operating system; Google releases its code under Apache license. It is used primarily in touch screen devices. Furthermore, it has a large developer community which writes applications or “apps” that expand the functionality of devices. It is by far one of the most popular platforms for developers.
Linux Kernel Layer provides Memory Management, Security Settings, Power Management, Hardware Abstraction etc.
Native Layer libraries are written in c or c++ and are specific for a particular hardware. Surface Manager, Media framework, SQLite, OpenGL etc. are some of the important native libraries.
Application Framework Layer contains the blocks that applications directly interacts with and manage the basic functions of device such as resource management, voice call management etc. Content Providers, Telephony Manager, Location Manager, Activity Manager, Resource Manager are some of the important blocks.
Applications layer is the topmost layer in the Android architecture. SMS client app, Dialer, Web browser, Contact manager etc. are some of the standard examples.
Each application can be further subdivided into functional units.