blob: b3c375a5fd374e75efdca1ea27b97170b1cac614 [file] [log] [blame]
page.title=Android Compatibility
Copyright 2015 The Android Open Source Project
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
See the License for the specific language governing permissions and
limitations under the License.
<p>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.
<h2 id="why-build-compatible-android-devices">Why build compatible Android devices?</h2>
<h3 id="users-want-a-customizable-device">Users want a customizable device.</h3>
<p>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.</p>
<h3 id="developers-outnumber-us-all">Developers outnumber us all.</h3>
<p>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.</p>
<h3 id="everyone-needs-a-common-ecosystem">Everyone needs a common ecosystem.</h3>
<p>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.</p>
<h2 id="android-compatibility-is-free-and-its-easy">Android compatibility is free, and it's easy.</h2>
<p>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 <a href="overview.html">the program overview</a>.</p>
<p>Building a compatible device is a three-step process:</p>
<p><em>Obtain the <a href="{@docRoot}source/index.html">Android software source
This is the source code for the Android platform that you port to your hardware.</p>
<p><em>Comply with the <a href="{@docRoot}compatibility/android-cdd.pdf">Android
Compatibility Definition Document (CDD)</a></em>.
The CDD enumerates the software and hardware requirements of a compatible Android device.</p>
<p><em>Pass the <a href="{@docRoot}compatibility/cts-intro.html">Compatibility
Test Suite (CTS)</a></em>.
Use the CTS as an ongoing aid to compatibility during the development process.</p>
<p>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.</p>
<h2 id="licensing-gms">Licensing Google Mobile Services</h2>
<p>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 the
‘contact’ us section for more information on how to inquire about a GMS