Starting March 27, 2025, we recommend using android-latest-release
instead of aosp-main
to build and contribute to AOSP. For more information, see Changes to AOSP.
Android Compatibility Definition Document
Stay organized with collections
Save and categorize content based on your preferences.
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.
It is important the policy of the Android compatibility program is codified
explicitly as no test suite, including the
Android Compatibility Test Suite (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.
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.
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.
You may view the latest CDD as an HTML web page.
Find released versions of the CDD and approved release version strings here:
Content and code samples on this page are subject to the licenses described in the Content License. Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
Last updated 2025-05-29 UTC.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-05-29 UTC."],[],[],null,["# Android Compatibility Definition Document\n\nWelcome to the Android Compatibility Definition Document (CDD). This document\nenumerates the requirements that must be met in order for devices to be\ncompatible with the latest version of Android. To be considered compatible with\nAndroid, device implementations MUST meet the requirements\npresented in this Compatibility Definition, including any documents\nincorporated via reference. For each release of the Android platform, a\ndetailed CDD will be provided. The CDD represents the \"policy\" aspect of\nAndroid compatibility.\n\nIt is important the policy of the Android compatibility program is codified\nexplicitly as no test suite, including the\n[Android Compatibility Test Suite (CTS)](/docs/compatibility/cts),\ncan truly be comprehensive. For instance, the CTS includes a test that checks for the presence and\ncorrect behavior of OpenGL graphics APIs, but no software test can verify that the\ngraphics actually appear correctly on the screen. More generally, it's\nimpossible to test the presence of hardware features such as keyboards, display\ndensity, Wi-Fi, and Bluetooth.\n\nThe CDD's role is to codify and clarify specific requirements, and\neliminate ambiguity. The CDD does not attempt to be comprehensive. Since\nAndroid is a single corpus of open-source code, the code itself is the\ncomprehensive \"specification\" of the platform and its APIs. The CDD acts as a\n\"hub\" referencing other content (such as SDK API documentation) that provides\na framework in which the Android source code may be used so that the end\nresult is a compatible system.\n\nIf you want to build a device compatible with a given Android version,\nstart by checking out the source code for that version, and then read the\ncorresponding CDD and stay within its guidelines.\n\n\nYou may view the latest CDD as an [HTML](/docs/compatibility/android-cdd) web page.\n\nFind released versions of the CDD and approved release version strings here:\n\n| Version | PDF | HTML/XHTML | Strings |\n|---------|---------------------------------------------------------------------------------------------------------------------------------------------------------|-----------------------------------------------------------------|-------------------------------------------------|\n| 16 | --- | [android-16-cdd.html](/docs/compatibility/16/android-16-cdd) | [Version 16](/docs/compatibility/16/versions) |\n| 15 | --- | [android-15-cdd.html](/docs/compatibility/15/android-15-cdd) | [Version 15](/docs/compatibility/15/versions) |\n| 14 | --- | [android-14-cdd.html](/docs/compatibility/14/android-14-cdd) | [Version 14](/docs/compatibility/14/versions) |\n| 13 | --- | [android-13-cdd.html](/docs/compatibility/13/android-13-cdd) | [Version 13](/docs/compatibility/13/versions) |\n| 12 | [android-12-cdd.pdf](/static/docs/compatibility/12/android-12-cdd.pdf) | [android-12-cdd.html](/docs/compatibility/12/android-12-cdd) | [Version 12](/docs/compatibility/12/versions) |\n| 11 | [android-11-cdd.pdf](/static/docs/compatibility/11/android-11-cdd.pdf) | [android-11-cdd.html](/docs/compatibility/11/android-11-cdd) | [Version 11](/docs/compatibility/11/versions) |\n| 10 | [android-10-cdd.pdf](/static/docs/compatibility/10/android-10-cdd.pdf) | [android-10-cdd.html](/docs/compatibility/10/android-10-cdd) | [Version 10](/docs/compatibility/10/versions) |\n| 9 | [android-9-cdd.pdf](/static/docs/compatibility/9/android-9-cdd.pdf) | [android-9-cdd.html](/docs/compatibility/9/android-9-cdd) | [Version 9](/docs/compatibility/9/versions) |\n| 8.1 | [android-8.1-cdd.pdf](/static/docs/compatibility/8.1/android-8.1-cdd.pdf) | [android-8.1-cdd.html](/docs/compatibility/8.1/android-8.1-cdd) | [Version 8.1](/docs/compatibility/8.1/versions) |\n| 8.0 | [android-8.0-cdd.pdf](/static/docs/compatibility/8.0/android-8.0-cdd.pdf) | [android-8.0-cdd.html](/docs/compatibility/8.0/android-8.0-cdd) | [Version 8.0](/docs/compatibility/8.0/versions) |\n| 7.1 | [android-7.1-cdd.pdf](/static/docs/compatibility/7.1/android-7.1-cdd.pdf) | [android-7.1-cdd.html](/docs/compatibility/7.1/android-7.1-cdd) | [Version 7.1](/docs/compatibility/7.1/versions) |\n| 7.0 | [android-7.0-cdd.pdf](/static/docs/compatibility/7.0/android-7.0-cdd.pdf) | [android-7.0-cdd.html](/docs/compatibility/7.0/android-7.0-cdd) | [Version 7.0](/docs/compatibility/7.0/versions) |\n| 6.0 | [android-6.0-cdd.pdf](/static/docs/compatibility/6.0/android-6.0-cdd.pdf) | [android-6.0-cdd.html](/docs/compatibility/6.0/android-6.0-cdd) | [Version 6.0](/docs/compatibility/6.0/versions) |\n| 5.1 | [android-5.1.cdd.pdf](/static/docs/compatibility/5.1/android-5.1-cdd.pdf) | [android-5.1-cdd.html](/docs/compatibility/5.1/android-5.1-cdd) | [Version 5.1](/docs/compatibility/5.1/versions) |\n| 5.0 | [android-5.0.cdd.pdf](/static/docs/compatibility/5.0/android-5.0-cdd.pdf) | [android-5.0-cdd.html](/docs/compatibility/5.0/android-5.0-cdd) | [Version 5.0](/docs/compatibility/5.0/versions) |\n| 4.4 | [android-4.4.cdd.pdf](/static/docs/compatibility/4.4/android-4.4-cdd.pdf) | [android-4.4-cdd.html](/docs/compatibility/4.4/android-4.4-cdd) | [Version 4.4](/docs/compatibility/4.4/versions) |\n| 4.3 | [android-4.3.cdd.pdf](/static/docs/compatibility/4.3/android-4.3-cdd.pdf) | [android-4.3-cdd.html](/docs/compatibility/4.3/android-4.3-cdd) | [Version 4.3](/docs/compatibility/4.3/versions) |\n| 4.2 | [android-4.2.cdd.pdf](/static/docs/compatibility/4.2/android-4.2-cdd.pdf) | [android-4.2-cdd.html](/docs/compatibility/4.2/android-4.2-cdd) | [Version 4.2](/docs/compatibility/4.2/versions) |\n| 4.1 | [android-4.1.cdd.pdf](/static/docs/compatibility/4.1/android-4.1-cdd.pdf) | [android-4.1-cdd.html](/docs/compatibility/4.1/android-4.1-cdd) | [Version 4.1](/docs/compatibility/4.1/versions) |\n| 4.0 | [android-4.0.cdd.pdf](/static/docs/compatibility/4.0/android-4.0-cdd.pdf) | [android-4.0-cdd.html](/docs/compatibility/4.0/android-4.0-cdd) | [Version 4.0](/docs/compatibility/4.0/versions) |\n| 2.3 | [android-2.3.cdd.pdf](/static/docs/compatibility/2.3/android-2.3-cdd.pdf) [android-2.3.3-cdd.pdf](/static/docs/compatibility/2.3/android-2.3.3-cdd.pdf) | [android-2.3-cdd.html](/docs/compatibility/2.3/android-2.3-cdd) | [Version 2.3](/docs/compatibility/2.3/versions) |\n| 2.2 | [android-2.2.cdd.pdf](/static/docs/compatibility/2.2/android-2.2-cdd.pdf) | [android-2.2-cdd.html](/docs/compatibility/2.2/android-2.2-cdd) | [Version 2.2](/docs/compatibility/2.2/versions) |\n| 2.1 | [android-2.1.cdd.pdf](/static/docs/compatibility/2.1/android-2.1-cdd.pdf) | [android-2.1-cdd.html](/docs/compatibility/2.1/android-2.1-cdd) | [Version 2.1](/docs/compatibility/2.1/versions) |\n| 1.6 | [android-1.6.cdd.pdf](/static/docs/compatibility/1.6/android-1.6-cdd.pdf) | [android-1.6-cdd.html](/docs/compatibility/1.6/android-1.6-cdd) | |"]]