An
Android-compatible device
is any device that can run any
third-party app written by third-party developers using the Android SDK and NDK.
An Android-compatible device must adhere to the
requirements of the compatibility definition document (CDD), and pass the
compatibility test suite (CTS). Android-compatible devices are eligible to
participate in the Android ecosystem which includes potential licensure of the
Android Play Store and the Google Mobile Services (GMS) suite
of applications, and use of the Android trademark. Anyone is welcome to use the
Android source code, but to be considered part of the Android ecosystem, your
device must be Android-compatible.
This document provides an overview of the
Android Compatibility program
which represents the processes, requirements, and tests used to ensure that your
device is Android-compatible.
Reasons to build compatible Android
devices
Users want customizable devices
Figure 1.
The Android ecosystem thrives with device compatibility
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 apps.
Developers outnumber us all
No device manufacturer can write all the software a user could conceivably
need. We need third-party developers to write the apps users want, so the
Android Open Source Project (AOSP) aims to make app development as easy
and open as possible.
Everyone needs a common ecosystem
Every line of code developers write to work around a bug is a line of code
that didn't add a new feature. The more compatible mobile devices are, the more
apps we'll have to run on those devices. 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 apps.
Program goals
The Android compatibility program works for the benefit of the entire
Android community, including users, developers, and device manufacturers.
Each group depends on the others. Users want a wide selection of devices
and great apps; great apps come from developers motivated by a large market
for their apps with many devices in users' hands; device manufacturers rely
on a wide variety of great apps to increase their products' value for
consumers.
Our goals were designed to benefit each of these groups:
-
Provide a consistent app and hardware environment to app
developers.
Without a strong compatibility standard, devices can vary so
greatly that developers must design different versions of their apps
for different devices. The compatibility program provides a precise definition
of what developers can expect from a compatible device in terms of APIs and
capabilities. Developers can use this information to make good design
decisions, and be confident that their apps will run well on any compatible
device.
-
Enable a consistent app experience for consumers.
If an app runs well on one compatible Android device, it should run well on
any other device that is compatible with the same Android platform version.
Android devices will differ in hardware and software capabilities, so the
compatibility program also provides the tools needed for distribution systems
such as Google Play to implement appropriate filtering. This means
users see only the apps they can actually run.
-
Enable device manufacturers to differentiate while being
compatible.
The Android compatibility program focuses on the aspects of
Android relevant to running third-party apps, which allows device
manufacturers the flexibility to create unique devices that are nonetheless
compatible.
-
Minimize costs and overhead associated with compatibility.
Ensuring compatibility should be easy and inexpensive to
device manufacturers. The testing tool is free, open source, and
available for
download
.
It is designed to be used for continuous self-testing
during the device development process to eliminate the cost of changing your
workflow or sending your device to a third party for testing. Meanwhile, there
are no required certifications, and thus no corresponding costs and
fees.
Build an Android-compatible device
To build an Android-compatible mobile device, follow this three-step
process:
- Using
AOSP
, implement Android on your device.
- Ensure your device complies with the
Android Compatibility Definition Document
. The CDD enumerates
the software and hardware requirements for an Android-compatible device.
- Pass the
Compatibility
Test Suite (CTS)
. Use the CTS as an ongoing aid to evaluate
compatibility during the development process.
After achieving compatibility, your device is considered Android compatible and you can consider
Licensing Google Mobile
Services (GMS)
and prepare to use the Android trademark. For brand guidelines, refer to the
Android section of the
Partner Marketing
Hub
.