In this document
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.
Android devices can connect to hardware accessories, such as audio docks, keyboards and custom hardware, through USB or Bluetooth. This section describes the Android Open Accessory protocol (AOAP) for accessory hardware builders.
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.
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.
Debugging and Tuning
Android is a large and complex system. This section includes tips and tricks for debugging at the platform level.
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.
The kernel configuration settings in this section are meant to be used as a base for an Android kernel configuration. All devices should have the options in android-base configuration enabled.
Android supports devices with limited memory through various optimizations such as improved memory management, reduced system memory, and several build-time and kernel configuration settings.
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.
Battery usage statistics are tracked by the framework. This involves keeping track of time spent by different device components in different states.
Android security comes with a variety of measures, including an application sandbox, SELinux, dm-verity, encryption, and more.
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.