Home | History | Annotate | Download | only in compatibility
      1 <html devsite>
      2   <head>
      3     <title>Android Compatibility Definition Document</title>
      4     <meta name="project_path" value="/_project.yaml" />
      5     <meta name="book_path" value="/_book.yaml" />
      6   </head>
      7   <body>
      8   <!--
      9       Copyright 2017 The Android Open Source Project
     10 
     11       Licensed under the Apache License, Version 2.0 (the "License");
     12       you may not use this file except in compliance with the License.
     13       You may obtain a copy of the License at
     14 
     15           http://www.apache.org/licenses/LICENSE-2.0
     16 
     17       Unless required by applicable law or agreed to in writing, software
     18       distributed under the License is distributed on an "AS IS" BASIS,
     19       WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
     20       See the License for the specific language governing permissions and
     21       limitations under the License.
     22   -->
     23 
     24 
     25 
     26 <p>Welcome to the Android Compatibility Definition Document (CDD). This document
     27 enumerates the requirements that must be met in order for devices to be
     28 compatible with the latest version of Android. To be considered compatible with
     29 Android, device implementations MUST meet the requirements
     30 presented in this Compatibility Definition, including any documents
     31 incorporated via reference. For each release of the Android platform, a
     32 detailed CDD will be provided. The CDD represents the "policy" aspect of
     33 Android compatibility.</p>
     34 
     35 <p>It is important the policy of the Android compatibility program is codified
     36 explicitly as no test suite, including CTS, can truly be comprehensive. For
     37 instance, the CTS includes a test that checks for the presence and correct
     38 behavior of OpenGL graphics APIs, but no software test can verify that the
     39 graphics actually appear correctly on the screen. More generally, it's
     40 impossible to test the presence of hardware features such as keyboards, display
     41 density, Wi-Fi, and Bluetooth.</p>
     42 
     43 <p>The CDD's role is to codify and clarify specific requirements, and
     44 eliminate ambiguity.  The CDD does not attempt to be comprehensive. Since
     45 Android is a single corpus of open-source code, the code itself is the
     46 comprehensive "specification" of the platform and its APIs. The CDD acts as a
     47 "hub" referencing other content (such as SDK API documentation) that provides
     48 a framework in which the Android source code may be used so that the end
     49 result is a compatible system.</p>
     50 
     51 <p>If you want to build a device compatible with a given Android version,
     52 start by checking out the source code for that version, and then read the
     53 corresponding CDD and stay within its guidelines. For additional details,
     54 simply examine <a href="/compatibility/android-cdd.pdf">the latest CDD</a>.</p>
     55 
     56 <p>
     57 You may view the latest CDD either as an HTML web page or an easily downloadable PDF:
     58 </p>
     59   <ul>
     60     <li><a href="android-cdd.html">HTML</a></li>
     61     <li><a href="android-cdd.pdf">PDF</a></li>
     62   </ul>
     63 
     64 <p>Find older versions of the CDD and approved release version strings here:</p>
     65 
     66 <table>
     67   <tr>
     68     <th>Version</th>
     69     <th>PDF</th>
     70     <th>HTML/XHTML</th>
     71     <th>Strings</th>
     72   </tr>
     73   <tr>
     74     <td>7.1</td>
     75     <td><a href="7.1/android-7.1-cdd.pdf">android-7.1-cdd.pdf</a></td>
     76     <td><a href="7.1/android-7.1-cdd.html">android-7.1-cdd.html</a></td>
     77     <td><a href="7.1/versions.html">Version 7.1</a></td>
     78   </tr>
     79   <tr>
     80     <td>7.0</td>
     81     <td><a href="7.0/android-7.0-cdd.pdf">android-7.0-cdd.pdf</a></td>
     82     <td><a href="7.0/android-7.0-cdd.html">android-7.0-cdd.html</a></td>
     83     <td><a href="7.0/versions.html">Version 7.0</a></td>
     84   </tr>
     85   <tr>
     86     <td>6.0</td>
     87     <td><a href="6.0/android-6.0-cdd.pdf">android-6.0-cdd.pdf</a></td>
     88     <td><a href="6.0/android-6.0-cdd.html">android-6.0-cdd.html</a></td>
     89     <td><a href="6.0/versions.html">Version 6.0</a></td>
     90   </tr>
     91   <tr>
     92     <td>5.1</td>
     93     <td><a href="5.1/android-5.1-cdd.pdf">android-5.1.cdd.pdf</a></td>
     94     <td><a href="5.1/android-5.1-cdd.html">android-5.1-cdd.html</a></td>
     95     <td><a href="5.1/versions.html">Version 5.1</a></td>
     96   </tr>
     97   <tr>
     98     <td>5.0</td>
     99     <td><a href="5.0/android-5.0-cdd.pdf">android-5.0.cdd.pdf</a></td>
    100     <td><a href="5.0/android-5.0-cdd.html">android-5.0-cdd.html</a></td>
    101     <td><a href="5.0/versions.html">Version 5.0</a></td>
    102   </tr>
    103   <tr>
    104     <td>4.4</td>
    105     <td><a href="4.4/android-4.4-cdd.pdf">android-4.4.cdd.pdf</a></td>
    106     <td><a href="4.4/android-4.4-cdd.html">android-4.4-cdd.html</a></td>
    107     <td><a href="4.4/versions.html">Version 4.4</a></td>
    108   </tr>
    109   <tr>
    110     <td>4.3</td>
    111     <td><a href="4.3/android-4.3-cdd.pdf">android-4.3.cdd.pdf</a></td>
    112     <td><a href="4.3/android-4.3-cdd.html">android-4.3-cdd.html</a></td>
    113     <td><a href="4.3/versions.html">Version 4.3</a></td>
    114   </tr>
    115   <tr>
    116     <td>4.2</td>
    117     <td><a href="4.2/android-4.2-cdd.pdf">android-4.2.cdd.pdf</a></td>
    118     <td><a href="4.2/android-4.2-cdd.html">android-4.2-cdd.html</a></td>
    119     <td><a href="4.2/versions.html">Version 4.2</a></td>
    120   </tr>
    121   <tr>
    122     <td>4.1</td>
    123     <td><a href="4.1/android-4.1-cdd.pdf">android-4.1.cdd.pdf</a></td>
    124     <td><a href="4.1/android-4.1-cdd.html">android-4.1-cdd.html</a></td>
    125     <td><a href="4.1/versions.html">Version 4.1</a></td>
    126   </tr>
    127   <tr>
    128     <td>4.0</td>
    129     <td><a href="4.0/android-4.0-cdd.pdf">android-4.0.cdd.pdf</a></td>
    130     <td><a href="4.0/android-4.0-cdd.html">android-4.0-cdd.html</a></td>
    131     <td><a href="4.0/versions.html">Version 4.0</a></td>
    132   </tr>
    133   <tr>
    134     <td>2.3</td>
    135     <td><a href="2.3/android-2.3-cdd.pdf">android-2.3.cdd.pdf</a><br/>
    136     <a href="2.3/android-2.3.3-cdd.pdf">android-2.3.3-cdd.pdf</a></td>
    137     <td><a href="2.3/android-2.3-cdd.html">android-2.3-cdd.html</a></td>
    138     <td><a href="2.3/versions.html">Version 2.3</a></td>
    139   </tr>
    140   <tr>
    141     <td>2.2</td>
    142     <td><a href="2.2/android-2.2-cdd.pdf">android-2.2.cdd.pdf</a></td>
    143     <td><a href="2.2/android-2.2-cdd.html">android-2.2-cdd.html</a></td>
    144     <td><a href="2.2/versions.html">Version 2.2</a></td>
    145   </tr>
    146   <tr>
    147     <td>2.1</td>
    148     <td><a href="2.1/android-2.1-cdd.pdf">android-2.1.cdd.pdf</a></td>
    149     <td><a href="2.1/android-2.1-cdd.html">android-2.1-cdd.html</a></td>
    150     <td><a href="2.1/versions.html">Version 2.1</a></td>
    151   </tr>
    152   <tr>
    153     <td>1.6</td>
    154     <td><a href="1.6/android-1.6-cdd.pdf">android-1.6.cdd.pdf</a></td>
    155     <td><a href="1.6/android-1.6-cdd.html">android-1.6-cdd.html</a></td>
    156     <td>&nbsp;</td>
    157   </tr>
    158 </table>
    159 
    160   </body>
    161 </html>
    162