- Interacts with Android hardware and contains all the essential hardware drivers. Also provides abstraction layer between software and hardware
- Core proven libraries that handle specific types of data. Some examples include, SQLite, Surface Manager, Media Framework, Webkit, and OpenGL.
- The type of Java Virtual Machine used in android to run android applications. Optimized for low processing power and low memory environments
- Building blocks that our application directly interact with. These programs manage basic functions of the phone such as phone calls, and resource management.
- Programs that utilize all of the above to create new functionality for our devices