Welcome to the Android Open Source Project!

Android is an open-source software stack for a wide range of mobile devices and a corresponding open-source project led by Google. Here you can find the information and source code you need to learn more about the Android platform. From there you can create custom variants of the Android software stack, port devices and accessories to the Android platform, and ensure your devices are compatible with the Android compatibility definition.

What's New

Initializing Improvements

Build environment Initializing instructions now explain how to resize and unmount Mac OS sparse images. And the ccache section has been moved to an optional Optimizing a build environment section.

SELinux Permissive Declarations

SELinux Customizing and Implementing instructions have been updated to recommend using permissive declarations directly as permissive_or_unconfined() has been deprecated. Similarly, BOARD_SEPOLICY_UNION has been removed, so BOARD_SEPOLICY_* variables are suggested insead.

Dumpsys Input and System Diagnostics

Dumpsys contents have been completely rewritten with fresh output examples and split into Input Diagnostics and System Diagnostics.

Android 5.0 Bluetooth HCI Requirements

Bluetooth Host Controller Interface (HCI) requirements to leverage the Bluetooth Low Energy APIs in Android 5.0 have been published and linked from the Bluetooth introduction.

OTA Updates

An entire suite of documentation has been added describing the over-the-air (OTA) update process including available tools, block-based OTAs, and device-specific code for customizing updates.

Verified Boot

The Verified Boot section of the site has been augmented with additional information for verifying boot and implementing dm-verity.

Getting Started

Explore the Source

Get the complete Android platform and modify and build it to suit your needs. You can also contribute to the Android Open Source Project (AOSP) repository to make your changes available to everyone else in the Android ecosystem.

Android framework summary

Port Android to Devices

Port the latest Android platform and create compelling devices that your customers want.

Build Accessories

Sometimes, a device can't do it all. Tap into Android's open accessory standard and build accessories to complement the wide variety of Android-powered devices.

Get Compatible

Being Android-compatible lets you offer custom features but still give users and developers a consistent and standard experience across all Android-powered devices. Android provides guidance and a test suite to verify your Android compatibility.

Help this Site

Please note, source.android.com is maintained in the Android Open Source Project. See the docs/source.android.com project log in AOSP for the complete list of changes to this site. Contribute your own updates to that same project and help maintain source.android.com.