Android Technical Information

In this document

Welcome to the Android technical documentation section of the site. Here you can find technical information 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.

Accessory Protocol Information

Android devices can connect to hardware accessories, such as audio docks, keyboards and custom hardware, through USB or Bluetooth. This document describes the Android Open Accessory protocol for accessory hardware builders.

» Accessory Protocol Information

Dalvik Technical Information

The Dalvik Virtual Machine is the heart of Android. It's a fast, just-in-time compiled, optimized bytecode virtual machine. Android applications are compiled to Dalvik bytecode and run on the Dalvik VM. This section includes detailed information such as the Dalvik bytecode format specification, design information on the VM itself, and so on.

» Dalvik Information

Data Usage Technical Information

Android's data usage features allow users to understand and control how their device uses network data. This document is designed for systems integrators and mobile operators, to help explain technical details they should be aware of when porting Android to specific devices.

» Data Usage Information

Debugging and Tuning

Android is a large and complex system. This section includes tips and tricks about debugging at the platform level.

» Debugging Information

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.

» HAL Reference

Kernel Technical Information

The kernel configuration settings in this document are meant to be used as a base for an Android kernel configuration. All devices should have the options in android-base configuration enabled.

» Kernel Information

Power Technical Information

Battery usage statistics are tracked by the framework. This involves keeping track of time spent by different device components in different states.

» Power Information

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.

» Trade Federation Testing Infrastructure Overview