page.title=Android Compatibility Definition Document
@jd:body

<!--
    Copyright 2016 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

        http://www.apache.org/licenses/LICENSE-2.0

    Unless required by applicable law or agreed to in writing, software
    distributed under the License is distributed on an "AS IS" BASIS,
    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    See the License for the specific language governing permissions and
    limitations under the License.
-->

<p>Welcome to the Android Compatibility Definition Document (CDD). This document
enumerates the requirements that must be met in order for devices to be
compatible with the latest version of Android. To be considered compatible with
Android, device implementations MUST meet the requirements
presented in this Compatibility Definition, including any documents
incorporated via reference. For each release of the Android platform, a
detailed CDD will be provided. The CDD represents the "policy" aspect of
Android compatibility.</p>

<p>It is important the policy of the Android compatibility program is codified
explicitly as no test suite, including CTS, can truly be comprehensive. For
instance, the CTS includes a test that checks for the presence and correct
behavior of OpenGL graphics APIs, but no software test can verify that the
graphics actually appear correctly on the screen. More generally, it's
impossible to test the presence of hardware features such as keyboards, display
density, Wi-Fi, and Bluetooth.</p>

<p>The CDD's role is to codify and clarify specific requirements, and
eliminate ambiguity.  The CDD does not attempt to be comprehensive. Since
Android is a single corpus of open-source code, the code itself is the
comprehensive "specification" of the platform and its APIs. The CDD acts as a
"hub" referencing other content (such as SDK API documentation) that provides
a framework in which the Android source code may be used so that the end
result is a compatible system.</p>

<p>If you want to build a device compatible with a given Android version,
start by checking out the source code for that version, and then read the
corresponding CDD and stay within its guidelines. For additional details,
simply examine <a href="/compatibility/android-cdd.pdf">the latest CDD</a>.</p>

<p>
You may view the latest CDD either as an HTML web page or an easily downloadable PDF:
</p>
  <ul>
    <li><a href="android-cdd.html">HTML</a></li>
    <li><a href="android-cdd.pdf">PDF</a></li>
  </ul>

<p>Find older versions of the CDD and approved release version strings here:</p>

<table>
  <tr>
    <th>Version</th>
    <th>PDF</th>
    <th>HTML/XHTML</th>
    <th>Strings</th>
  </tr>
  <tr>
    <td>7.1</td>
    <td><a href="7.1/android-7.1-cdd.pdf">android-7.1-cdd.pdf</a></td>
    <td><a href="7.1/android-7.1-cdd.html">android-7.1-cdd.html</a></td>
    <td><a href="7.1/versions.html">Version 7.1</a></td>
  </tr>
  <tr>
    <td>7.0</td>
    <td><a href="7.0/android-7.0-cdd.pdf">android-7.0-cdd.pdf</a></td>
    <td><a href="7.0/android-7.0-cdd.html">android-7.0-cdd.html</a></td>
    <td><a href="7.0/versions.html">Version 7.0</a></td>
  </tr>
  <tr>
    <td>6.0</td>
    <td><a href="6.0/android-6.0-cdd.pdf">android-6.0-cdd.pdf</a></td>
    <td><a href="6.0/android-6.0-cdd.html">android-6.0-cdd.html</a></td>
    <td><a href="6.0/versions.html">Version 6.0</a></td>
  </tr>
  <tr>
    <td>5.1</td>
    <td><a href="5.1/android-5.1-cdd.pdf">android-5.1.cdd.pdf</a></td>
    <td><a href="5.1/android-5.1-cdd.html">android-5.1-cdd.html</a></td>
    <td><a href="5.1/versions.html">Version 5.1</a></td>
  </tr>
  <tr>
    <td>5.0</td>
    <td><a href="5.0/android-5.0-cdd.pdf">android-5.0.cdd.pdf</a></td>
    <td><a href="5.0/android-5.0-cdd.html">android-5.0-cdd.html</a></td>
    <td><a href="5.0/versions.html">Version 5.0</a></td>
  </tr>
  <tr>
    <td>4.4</td>
    <td><a href="4.4/android-4.4-cdd.pdf">android-4.4.cdd.pdf</a></td>
    <td><a href="4.4/android-4.4-cdd.xhtml">android-4.4-cdd.xhtml</a></td>
    <td><a href="4.4/versions.html">Version 4.4</a></td>
  </tr>
  <tr>
    <td>4.3</td>
    <td><a href="4.3/android-4.3-cdd.pdf">android-4.3.cdd.pdf</a></td>
    <td><a href="4.3/android-4.3-cdd.xhtml">android-4.3-cdd.xhtml</a></td>
    <td><a href="4.3/versions.html">Version 4.3</a></td>
  </tr>
  <tr>
    <td>4.2</td>
    <td><a href="4.2/android-4.2-cdd.pdf">android-4.2.cdd.pdf</a></td>
    <td><a href="4.2/android-4.2-cdd.xhtml">android-4.2-cdd.xhtml</a></td>
    <td><a href="4.2/versions.html">Version 4.2</a></td>
  </tr>
  <tr>
    <td>4.1</td>
    <td><a href="4.1/android-4.1-cdd.pdf">android-4.1.cdd.pdf</a></td>
    <td><a href="4.1/android-4.1-cdd.html">android-4.1-cdd.html</a></td>
    <td><a href="4.1/versions.html">Version 4.1</a></td>
  </tr>
  <tr>
    <td>4.0</td>
    <td><a href="4.0/android-4.0-cdd.pdf">android-4.0.cdd.pdf</a></td>
    <td><a href="4.0/android-4.0-cdd.xhtml">android-4.0-cdd.xhtml</a></td>
    <td><a href="4.0/versions.html">Version 4.0</a></td>
  </tr>
  <tr>
    <td>2.3</td>
    <td><a href="2.3/android-2.3-cdd.pdf">android-2.3.cdd.pdf</a><br/>
    <a href="2.3/android-2.3.3-cdd.pdf">android-2.3.3-cdd.pdf</a></td>
    <td><a href="2.3/android-2.3-cdd.html">android-2.3-cdd.html</a></td>
    <td><a href="2.3/versions.html">Version 2.3</a></td>
  </tr>
  <tr>
    <td>2.2</td>
    <td><a href="2.2/android-2.2-cdd.pdf">android-2.2.cdd.pdf</a></td>
    <td><a href="2.2/android-2.2-cdd.xhtml">android-2.2-cdd.xhtml</a></td>
    <td><a href="2.2/versions.html">Version 2.2</a></td>
  </tr>
  <tr>
    <td>2.1</td>
    <td><a href="2.1/android-2.1-cdd.pdf">android-2.1.cdd.pdf</a></td>
    <td><a href="2.1/android-2.1-cdd.xhtml">android-2.1-cdd.xhtml</a></td>
    <td><a href="2.1/versions.html">Version 2.1</a></td>
  </tr>
  <tr>
    <td>1.6</td>
    <td><a href="1.6/android-1.6-cdd.pdf">android-1.6.cdd.pdf</a></td>
    <td><a href="1.6/android-1.6-cdd.html">android-1.6-cdd.html</a></td
    <td>&nbsp;</td>
  </tr>
</table>
