Linux kernel—This component is the OS; it’s the communication layer between the hardware and the software.
Android runtime components—This component includes the Dalvik virtual machine (a specialized virtual machine for low-memory appliances) and the core libraries, described next.
Core libraries—Developers have access to all the core libraries Android supplies, such as SQLite, FreeType, and the Scalable Graphics Library (SGL). Access to these core libraries is what makes Android stand out from its peers.
Application framework—You use this component to write applications that make use of the core libraries and any libraries you create. It includes a Content Provider, a Resource Manager, an Activity Manager, a Notification Manager, and more. It also includes many views you can access, including a wide variety of user interface components.
Applications—The uppermost component is the application layer. It includes built-in apps, such as a Web browser and e-mail, as well as any apps you write. It’s the layer that’s directly available to users.