1# 1\. Introduction 2 3This document enumerates the requirements that must be met in order for devices 4to be compatible with Android ANDROID_VERSION. 5 6The use of “MUST”, “MUST NOT”, “REQUIRED”, “SHALL”, “SHALL NOT”, “SHOULD”, 7“SHOULD NOT”, “RECOMMENDED”, “MAY”, and “OPTIONAL” is per the IETF standard 8defined in [RFC2119](http://www.ietf.org/rfc/rfc2119.txt). 9 10As used in this document, a “device implementer” or “implementer” is a person 11or organization developing a hardware/software solution running Android 12ANDROID_VERSION. A “device implementation” or “implementation" is the 13hardware/software solution so developed. 14 15To be considered compatible with Android ANDROID_VERSION, device 16implementations MUST meet the requirements presented in this Compatibility 17Definition, including any documents incorporated via reference. 18 19Where this definition or the software tests described in [section 2010](#10_software_compatibility_testing) is silent, ambiguous, or incomplete, it 21is the responsibility of the device implementer to ensure compatibility with 22existing implementations. 23 24For this reason, the [Android Open Source Project](http://source.android.com/) 25is both the reference and preferred implementation of Android. Device 26implementers are STRONGLY RECOMMENDED to base their implementations to the 27greatest extent possible on the “upstream” source code available from the 28Android Open Source Project. While some components can hypothetically be 29replaced with alternate implementations, it is STRONGLY RECOMMENDED to not 30follow this practice, as passing the software tests will become substantially 31more difficult. It is the implementer’s responsibility to ensure full 32behavioral compatibility with the standard Android implementation, including 33and beyond the Compatibility Test Suite. Finally, note that certain component 34substitutions and modifications are explicitly forbidden by this document. 35 36Many of the resources linked to in this document are derived directly or 37indirectly from the Android SDK and will be functionally identical to the 38information in that SDK’s documentation. In any cases where this Compatibility 39Definition or the Compatibility Test Suite disagrees with the SDK 40documentation, the SDK documentation is considered authoritative. Any technical 41details provided in the linked resources throughout this document are 42considered by inclusion to be part of this Compatibility Definition. 43