Home | History | Annotate | Download | only in compatibility
      1 <html devsite>
      2   <head>
      3     <title>Compatibility Program Overview</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>The Android compatibility program makes it easy for mobile device
     27 manufacturers to develop compatible Android devices.</p>
     28 
     29 <h2 id="program-goals">Program goals</h2>
     30 
     31 <p>The Android compatibility program works for the benefit of the entire
     32 Android community, including users, developers, and device manufacturers.</p>
     33 <p>Each group depends on the others. Users want a wide selection of devices
     34 and great apps; great apps come from developers motivated by a large market
     35 for their apps with many devices in users' hands; device manufacturers rely
     36 on a wide variety of great apps to increase their products' value for
     37 consumers.</p>
     38 <p>Our goals were designed to benefit each of these groups:</p>
     39 <ul>
     40 <li>
     41 <p><em>Provide a consistent application and hardware environment to application
     42 developers.</em> 
     43     Without a strong compatibility standard, devices can vary so
     44 greatly that developers must design different versions of their applications
     45 for different devices. The compatibility program provides a precise definition
     46 of what developers can expect from a compatible device in terms of APIs and
     47 capabilities. Developers can use this information to make good design
     48 decisions, and be confident that their apps will run well on any compatible
     49 device.</p>
     50 </li>
     51 <li>
     52 <p><em>Enable a consistent application experience for consumers.</em>
     53     If an application runs well on one compatible Android device, it should run well on
     54 any other device that is compatible with the same Android platform version.
     55 Android devices will differ in hardware and software capabilities, so the
     56 compatibility program also provides the tools needed for distribution systems
     57 such as Google Play to implement appropriate filtering. This means
     58 users see only the applications they can actually run.</p>
     59 </li>
     60 <li>
     61 <p><em>Enable device manufacturers to differentiate while being
     62 compatible.</em>
     63     The Android compatibility program focuses on the aspects of
     64 Android relevant to running third-party applications, which allows device
     65 manufacturers the flexibility to create unique devices that are nonetheless
     66 compatible.</p>
     67 </li>
     68 <li>
     69 <p><em>Minimize costs and overhead associated with compatibility.</em>
     70     Ensuring compatibility should be easy and inexpensive to
     71 device manufacturers. The testing tool is free, open source, and
     72 available for <a href="cts/downloads.html">download</a>.
     73 It is designed to be used for continuous self-testing
     74 during the device development process to eliminate the cost of changing your
     75 workflow or sending your device to a third party for testing. Meanwhile, there
     76 are no required certifications, and thus no corresponding costs and
     77 fees.</p>
     78 </li>
     79 </ul>
     80 
     81 <h2 id="program-components">Program components</h2>
     82 
     83 <p>The Android compatibility program consists of three key components:</p>
     84 <ul>
     85 <li>The <a href="https://android.googlesource.com/">Android Open Source Project</a> source code</li>
     86 <li>The <a href="cdd.html">Compatilbility Definition Document (CDD)<a/>, representing the "policy" aspect of compatibility</li>
     87 <li>The <a href="cts/index.html">Compatilbility Test Suite (CTS)</a>, representing the "mechanism" of compatibility</li>
     88 </ul>
     89 
     90 <p>Just as each version of the Android platform exists in a separate branch in
     91 the source code tree, there is a separate CTS and CDD for each version as
     92 well. The CDD, CTS, and source code are -- along with your hardware and your
     93 software customizations -- everything you need to create a compatible device.</p>
     94 
     95   </body>
     96 </html>
     97