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