Home | History | Annotate | Download | only in 3_software
      1 ## 3.1\. Managed API Compatibility
      2 
      3 The managed Dalvik bytecode execution environment is the primary vehicle for
      4 Android applications. The Android application programming interface (API) is the
      5 set of Android platform interfaces exposed to applications running in the
      6 managed runtime environment.
      7 
      8 *    [C-0-1] Device implementations MUST provide complete implementations,
      9 including all documented behaviors, of any documented API exposed by the
     10 [Android SDK](http://developer.android.com/reference/packages.html)
     11 or any API decorated with the @SystemApi marker in the upstream Android
     12 source code.
     13 
     14 *    [C-0-2] Device implementations MUST support/preserve all classes,
     15 methods, and associated elements marked by the TestApi annotation (@TestApi).
     16 
     17 *    [C-0-3] Device implementations MUST NOT omit any managed APIs, alter
     18 API interfaces or signatures, deviate from the documented behavior, or include
     19 no-ops, except where specifically allowed by this Compatibility Definition.
     20 
     21 *    [C-0-4]  Device implementations MUST still keep the APIs present and behave
     22      in a reasonable way, even when some hardware features for which Android
     23      includes APIs are omitted. See [section 7](#7_hardware_compatibility)
     24      for specific requirements for this scenario.
     25 
     26 ## 3.1.1\. Android Extensions
     27 
     28 Android includes the support of extending the managed APIs while keeping the
     29 same API level version.
     30 
     31 *   [C-0-1] Android device implementations MUST preload the AOSP implementation
     32 of both the shared library `ExtShared` and services `ExtServices` with versions
     33 higher than or equal to the minimum versions allowed per each API level.
     34 For example, Android 7.0 device implementations, running API level 24 MUST
     35 include at least version 1.
     36