Welcome to the Android core technologies section of the site. Here you can find information on common features useful to people and organizations who are looking to modify, contribute to, or port the Android software. This is "under the hood" information intended for engineers.
ART and Dalvik
The Android runtime (ART) is the heart of Android. It's a fast, ahead-of-time compiled runtime with modern garbage collection designed to scale. Android applications are compiled to Dalvik bytecode and run with ART. This section includes detailed information such as the Dalvik Executable format specification, and design information on the runtime itself.
This section covers Android support for NFC standards (such as Felica), provides details on the Radio Interface Layer (RIL), describes call notification behavior, and gives implementation instructions for user-facing features such as Data Saver and phone number blocking.
Android's data usage features allow users to understand and control how their device uses network data. This section is designed for systems integrators and mobile operators to help explain technical details they should be aware of when porting Android to specific devices.
Android is a large and complex system. This section includes tips and tricks for debugging at the platform level.
Since Android 5.0, the platform supports use cases in a corporate environment under the auspices of each company’s information technology (IT) department.
This section covers AOSP implementation of various Android display settings, including app shortcuts, circular launcher icons, do not disturb (DND), multi-window (split-screen, free-form, and picture-in-picture), high dynamic range (HDR) video, night light, and retail demo mode.
HAL File Reference
Android's Hardware Abstraction Layer (HAL) provides the interface between software APIs and hardware drivers. This section contains the commented code files of the HAL.
Android devices in the field can receive and install over-the-air (OTA) updates to the system and application software. This section describes the structure of update packages and the tools to build them. It is intended for developers building OTA updates for new and released Android devices.
The framework provides battery usage statistics, keeping track of time spent
by different device components in different states. This section covers power
management features (such as Doze), gives instructions for accurately measuring
device and component power (and how to determine power values), and details the
batterystats command and output.
Trade Federation Testing Infrastructure
Trade Federation is a continuous test framework for running tests on Android devices. Trade Federation's modularity makes it straightforward to slot into environments with existing build, test, and reporting infrastructures.