page.title=Android Compatibility doc.type=compatibility @jd:body <p>Android is an open source product, and anyone can use the source code to build devices. The purpose of the Android compatibility program is to help Android device implementations remain compatible with all apps.</p> <p>A device is considered compatible if existing and new third-party applications run correctly on it. Poor device implementations that change APIs or alter behaviors will break these apps and so are not compatible. The Android compatibility program's aim is to ensure that these APIs are consistently implemented across devices.</p> <p>The latest version of the Android source code and compatibility program is 1.6, which roughly corresponded to the Donut branch. The compatibility program for Android 2.x (corresponding to Eclair) is coming soon.</p> <h2>Why build compatible Android devices?</h2> <h3>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 after-market applications.</p> <h3>Developers outnumber us all.</h3> <p>No device manufacturer can hope to write all the software that anyone 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>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>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="{@docRoot}compatibility/overview.html">the program overview</a>.</p> <p>Building a compatible device is a four-step process:</p> <ol> <li><b>Obtain the Android software stack source code</b><p>This is the <a href="{@docRoot}source/index.html">source code for the Android platform</a>, that you port to your hardware.</p></li> <li><b>Comply with Android Compatibility Definition Document</b><p> This document enumerates the software and the hardware features of a compatible Android device.</p></li> <li><b>Pass the Compatibility Test Suite (CTS)</b><p>You can use the CTS (included in the Android source code) as an ongoing aid to compatibility during the development process.</p></li> <li><b>Submit CTS report</b><p>[Optional] You can also submit your CTS report, so that it can be validated and recorded.</p><p><i>Note: the submission system is currently under construciton, and is not currently available.</i></p></li> </ol> <h2>Benefits of compatibility</h2> <p>By submitting a validated CTS report, you receive public recognition of your device's compatibility. This also opens up additional options you can pursue such as use of the Android branding, access to Android Market, and more.</p> <p>As a consequence of some legal quirks, we aren't able to offer automatic licensing of either the Android Market or branding. To actually obtain access to these programs, you will need to <a href="{@docRoot}compatibility/contact-us.html">contact us</a> to obtain a license.</p>