Android consists of a kernel based on the Linux kernel, with middleware, libraries, and APIs written in C and application software running on an application framework which includes Java-compatible libraries based on Apache Harmony.
Android uses the Dalvik virtual machine with just-in-time compilation to run compiled Java code.
The diagram below shows the major components of the Android operating system, which consists of five sections: