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 |
|
packages |
Stock Android applications. |
|
libcore |
Core Java library. Apache Harmony is used before Nougat. OpenJDK is used with Nougat. Some features of Java 8 are used in Nougat. |
|
frameworks/* |
Android framework core components. |
|
frameworks/base/services |
Android system services. |
|
art |
Android runtime. |
|
dalvik |
Dalvik virtual machine. |
|
libnativehelper |
Helper functions for use with JNI. |
|
system/* |
Native services and libraries. |
|
system/core |
A minimal Linux system to boot Android. |
|
bionic |
C library. |
|
external |
External projects imported into the AOSP. It includes both the HAL layer and system services... |