What is inside the AOSP?
Before we move to the details, let's take a look at the top level of the AOSP source code tree again:

The following table gives a brief description about each folder. We will look at some of them throughout this book:
Directory | Description |
| Stock Android applications. |
| Core Java library. Apache Harmony is used before Nougat. OpenJDK is used with Nougat. Some features of Java 8 are used in Nougat. |
| Android framework core components. |
| Android system services. |
| Android runtime. |
| Dalvik virtual machine. |
| Helper functions for use with JNI. |
| Native services and libraries. |
| A minimal Linux system to boot Android. |
| C library. |
| External projects imported into the AOSP. It includes both the HAL layer and system services. |
| HAL and hardware libraries. |
| Device-specific files and components. |
| Recovery and bootloader. |
| Minimal C++ runtime type information support. |
| Build system... |