In this document
Android's purpose is to establish an open platform for developers to build innovative apps. The Android Compatibility program defines the technical details of the Android platform and provides tools used by OEMs to ensure that developers' apps run on a variety of devices. The Android SDK provides built-in tools that developers use to clearly state the device features their apps require. And Google Play shows apps only to those devices that can properly run them.
Why build compatible Android devices?
Users want a customizable device.
A mobile phone is a highly personal, always-on, always-present gateway to the Internet. We haven't met a user yet who didn't want to customize it by extending its functionality. That's why Android was designed as a robust platform for running aftermarket applications.
Developers outnumber us all.
No device manufacturer can hope to write all the software that a person could conceivably need. We need third-party developers to write the apps users want; so the Android Open Source Project aims to make it as easy and open as possible for developers to build apps.
Everyone needs a common ecosystem.
Every line of code developers write to work around a particular phone's bug is a line of code that didn't add a new feature. The more compatible phones there are, the more apps there will be. By building a fully compatible Android device, you benefit from the huge pool of apps written for Android, while increasing the incentive for developers to build more of those apps.
Android compatibility is free, and it's easy.
If you are building a mobile device, you can follow these steps to make sure your device is compatible with Android. For more details about the Android compatibility program in general, see the program overview.
Building a compatible device is a three-step process:
Obtain the Android software source code. This is the source code for the Android platform that you port to your hardware.
Comply with the Android Compatibility Definition Document (CDD). The CDD enumerates the software and hardware requirements of a compatible Android device.
Pass the Compatibility Test Suite (CTS). Use the CTS as an ongoing aid to compatibility during the development process.
After complying with the CDD and passing the CTS, your device is now Android compatible. Android apps in the ecosystem will have a consistent experience on your device.
Licensing Google Mobile Services
If you've built an Android compatible device, you may wish to inquire about licensing Google’s proprietary suite of apps that run on top of Android - Google Mobile Services (GMS, which include Google Play, YouTube, Google Maps, Gmail, and more). Google Mobile Services is not part of the Android Open Source Project and is available only through a license with Google. Please visit Contact Us for more information on how to inquire about a GMS license.