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