Lines Matching full:must
154 <p>This document enumerates the requirements that must be met in order for
156 <p>The use of "must", "must not", "required", "shall", "shall not", "should",
164 MUST meet the requirements presented in this Compatibility Definition,
259 managed VM environment. Device implementations MUST provide complete
262 <p>Device implementations MUST NOT omit any managed APIs, alter API interfaces
267 the APIs MUST still be present and behave in a reasonable way. See
277 <p>Device implementers MUST support and enforce all permission constants as
286 formats of these values to which device implementations MUST conform.</p>
296 format. This field MUST have one of the string values defined in [<a
303 field MUST have the integer value 14. For Android 4.0.3 or greater, this field
304 MUST have the integer value 15.</td>
310 field MUST have the integer value 14. For Android 4.0.3 or greater, this field
311 MUST have the integer value 15.</td>
317 MUST NOT be re-used for different builds made available to end users. A typical use
320 specific format of this field, except that it MUST NOT be null or the empty
328 The value of this field MUST be encodable as 7-bit ASCII and match the regular expression
336 and/or carrier who sold the device. The value of this field MUST be
357 of the device. The value of this field MUST be encodable as 7-bit ASCII and
363 human-readable. It MUST follow this template:
367 The fingerprint MUST NOT include whitespace characters. If other fields included in the
368 template above have whitespace characters, they MUST be replaced in the build
370 The value of this field MUST be encodable as 7-bit ASCII.</td>
375 reasonably human-readable. The value of this field MUST be encodable as 7-bit ASCII and
382 this field, except that it MUST NOT be null or the empty string ("").</td>
390 this field MUST be encodable as 7-bit ASCII and match the regular expression
398 MUST NOT be null or the empty string ("").</td>
405 format of this field, except that it MUST NOT be null or the empty string
411 or code name of the product (SKU). MUST be human-readable, but is not necessarily
412 intended for view by end users. The value of this field MUST be encodable as 7-bit
418 <td>A hardware serial number, if available. The value of this field MUST be encodable
426 this field MUST be encodable as 7-bit ASCII and match the regular expression
438 "userdebug", or "eng". The value of this field MUST be
446 that it MUST NOT be null or the empty string ("").</td>
452 Device implementations MUST honor Android's loose-coupling Intent system, as
454 implementer MUST provide an Android Activity or Service that specifies a
461 <p>However, any such alternative versions MUST honor the same Intent patterns
463 alternative music player, it must still honor the Intent pattern issued by
489 android:exported attribute with the value "false", device implementations MUST
493 apps; however, if it does, the device implementation MUST support all Intent
496 <p>As Android is an extensible platform, device implementations MUST allow each
499 default; device implementers MUST NOT attach special privileges to system
506 <p>Device implementations MUST NOT include any Android component that honors any
509 MUST NOT include any Android components that honor any new Intent or Broadcast
511 space belonging to another organization. Device implementers MUST NOT alter or
520 Android-compatible devices MUST broadcast the public broadcast Intents in
536 <li>MUST include support for code running in the managed environment to call
539 <li>MUST be source-compatible (i.e. header compatible) and binary-compatible
541 <li>MUST accurately report the native Application Binary Interface (ABI)
544 <li>MUST report only those ABIs documented in the latest version of the
549 <p>The following native code APIs MUST be available to apps that include
570 predefined ABI, it MUST NOT report support for any ABI at all.</p>
581 implementers MUST use the specific upstream build of WebKit in the WebView
585 implementations MUST be based on the 534.30 WebKit build from the upstream
589 customizations MUST NOT alter the behavior of the WebView, including rendering
591 <li>The user agent string reported by the WebView MUST be in this format:<br/>
594 <li>The value of the $(VERSION) string MUST be the same as the value for <code>android.os.Build.VERSION.RELEASE</code></li>
596 <li>The value of the $(MODEL) string MUST be the same as the value for <code>android.os.Build.MODEL</code></li>
597 <li>The value of the $(BUILD) string MUST be the same as the value for <code>android.os.Build.ID</code></li>
603 Minimally, device implementations MUST support each of these APIs associated
610 <p>Additionally, device implementations MUST support the HTML5/W3C webstorage
616 <p>HTML5 APIs, like all JavaScript APIs, MUST be disabled by default in a
621 <p>Device implementations MUST include a standalone Browser application for
625 provided to third-party applications MUST be based on WebKit, as described in
632 Minimally, device implementations MUST support each of these APIs associated
639 <p>Additionally, device implementations MUST support the HTML5/W3C webstorage
648 must be consistent with the preferred implementation of the upstream Android
652 <li>Devices MUST NOT change the behavior or semantics of a standard Intent</li>
653 <li>Devices MUST NOT alter the lifecycle or lifecycle semantics of a
656 <li>Devices MUST NOT change the semantics of a standard permission</li>
670 applications, device implementers MUST NOT make any prohibited modifications
681 <li>Device implementations MUST NOT modify the publicly exposed APIs on the
685 but such modifications MUST NOT impact the stated behavior and Java-language
687 <li>Device implementers MUST NOT add any publicly exposed elements (such as
693 words, device implementers MUST NOT expose new APIs or alter existing APIs in
695 modifications, but those modifications MUST NOT be advertised or otherwise
697 <p>Device implementers MAY add custom APIs, but any such APIs MUST NOT be in a
699 implementers MUST NOT add APIs to the com.google.* or similar namespace; only
700 Google may do so. Similarly, Google MUST NOT add APIs to other companies'
702 outside the standard Android namespace, those APIs MUST be packaged in an
717 <p>Device implementations MUST support the full Dalvik Executable (DEX)
720 <p>Device implementations MUST configure Dalvik to allocate memory in
780 implementation MUST provide a separate application accessible from the Launcher
782 <p>Device implementations MUST be capable of rendering widgets that are 4 x 4
792 MUST support notifications that use hardware features, as described in the SDK
795 MUST correctly implement the vibration APIs. If a device implementation lacks
796 hardware, the corresponding APIs MUST be implemented as no-ops. Note that this
798 <p>Additionally, the implementation MUST correctly render all resources
804 implementation; however, such alternative notification systems MUST support
807 Views for ongoing notifications. Device implementations MUST properly display
818 <p>Device implementations MUST include a single, shared, system-wide search
820 Device implementations MUST implement the APIs that allow developers to reuse
822 implementations MUST implement the APIs that allow third-party applications to
831 period of time. Device implementations MUST display Toasts from applications
839 SDK [<a href="#resources24">Resources, 24</a>]. Device implementations MUST NOT
867 determined to not run live wallpapers reliably as described above MUST NOT
882 implementations MUST include a way for the user to access IME settings at all
890 implementations MUST provide an implementation of the <code>DevicePolicyManager
896 policies, they MUST NOT allow device administration applications to be enabled.
898 the device implementation MUST respond to the
900 but MUST dislpay a message notifying the user that the device does not support
909 [<a href="#resources29">Resources, 29</a>]. Device implementations MUST provide an
911 default Android implementation. Specifically, device implementations MUST meet
914 <li>Device implementations MUST support third party accessibility service
917 <li>Device implementations MUST generate <code>AccessibilityEvent</code>s
921 <li>Device implementations MUST provide a user-accessible mechanism to enable
922 and disable accessibility services, and MUST display this interface in
937 Device implementations MUST meet these requirements related to the Android TTS
940 <li>Device implementations MUST support the Android TTS framework APIs and
944 <li>Device implementations MUST support installation of third-party TTS
946 <li>Device implementations MUST provide a user-accessible interface that allows
951 <p>Device implementations MUST install and run Android ".apk" files as
954 <p>Devices implementations MUST NOT extend either the .apk [<a
964 <p>Device implementations MUST include at least one form of audio output, such as
967 <p>Device implementations MUST support the core media formats specified
970 MUST support the media formats, encoders, decoders, file types and container
1264 hardware and declare <code>android.hardware.microphone</code> MUST sample and
1281 <li>Noise reduction processing, if present, MUST be disabled.</li>
1282 <li>Automatic gain control, if present, MUST be disabled.</li>
1286 to change these to "MUST". That is, these requirements are optional in Android
1335 to change these to "MUST". That is, these requirements are optional in Android
1345 implementation does not meet these requirements it MUST NOT report support for
1349 <p>Devices MUST support the media network protocols for audio and video playback
1351 [<a href="#resources58">Resources, 58</a>]. Specifically, devices MUST support
1359 <p>Device implementations MUST support the Android Developer Tools provided in
1360 the Android SDK. Specifically, Android-compatible devices MUST be compatible
1364 Device implementations MUST support all <code>adb</code> functions as
1365 documented in the Android SDK. The device-side <code>adb</code> daemon MUST
1366 be inactive by default, and there MUST be a user-accessible mechanism to turn
1369 Device implementations MUST support all <code>ddms</code> features as documented in the
1372 but MUST be supported whenever the user has activated the Android Debug
1375 Device implementations MUST include the Monkey framework, and make it
1384 SDK, device implementers MUST provide Windows drivers allowing developers to
1385 connect to the device using the <code>adb</code> protocol. These drivers MUST
1391 corresponding API for third-party developers, the device implementation MUST
1397 APIs MUST still be present</li>
1398 <li>the API's behaviors MUST be implemented as no-ops in some reasonable
1400 <li>API methods MUST return null values where permitted by the SDK
1402 <li>API methods MUST return no-op implementations of classes where null
1404 <li>API methods MUST NOT throw exceptions not documented by the SDK
1408 telephony API: even on non-phone devices, these APIs must be implemented as
1410 <p>Device implementations MUST accurately report accurate hardware configuration
1420 href="#resources38">Resources, 38</a>]. Devices MUST properly implement these
1429 horizontal and vertical dpi must fall within the range.</li>
1445 <code>SCREENLAYOUT_SIZE_MASK</code>. Device implementations MUST report the
1448 Android platform. Specifically, device implementations must report the correct
1452 <li>Devices MUST have screen sizes of at least 426 dp x 320 dp ('small')</li>
1453 <li>Devices that report screen size 'normal' MUST have screen sizes of at least
1455 <li>Devices that report screen size 'large' MUST have screen sizes of at least
1457 <li>Devices that report screen size 'xlarge' MUST have screen sizes of at least
1460 <p>In addition, devices MUST have screen sizes of at least 2.5 inches in
1463 <p>Devices MUST NOT change their reported screen size at any time.</p>
1466 file. Device implementations MUST correctly honor applications' stated support
1471 <p>The aspect ratio MUST be between 1.3333 (4:3) and 1.85 (16:9).</p>
1476 implementations MUST report one of the following logical Android framework
1477 densities through the <code>android.util.DisplayMetrics</code> APIs, and MUST
1495 <p>Device implementations MUST report correct values for all display metrics
1500 <p>Devices MUST support dynamic orientation by applications to
1501 either portrait or landscape screen orientation. That is, the device must
1505 <p>Devices MUST report the correct value for the device's current orientation,
1508 <p>Devices MUST NOT change the reported screen size or density when changing
1510 <p>Devices MUST report which screen orientations they support (
1512 <code>android.hardware.screen.landscape</code>) and MUST report at least one
1514 MUST only report
1518 <p>Device implementations MUST support both OpenGL ES 1.0 and 2.0, as embodied
1519 and detailed in the Android SDK documentations. Device implementations MUST
1522 <p>Device implementations MUST also correctly identify themselves as
1526 MUST report support for OpenGL ES 1.0 and 2.0</li>
1528 libGLES_v1CM.so, libGLES_v2.so, or libEGL.so) MUST report support for
1532 However, device implementations MUST report via the OpenGL ES managed and
1533 native APIs all extension strings that they do support, and conversely MUST
1547 <p>In Android 4.0, device implementations MUST enable hardware acceleration by
1548 default, and MUST disable hardware acceleration if the developer so requests
1551 <p>In addition, device implementations MUST exhibit behavior consistent with the
1556 in a UI hierarchy. Device implementations MUST support the <code>TextureView
1557 </code> API, and MUST exhibit consistent behavior with the upstream Android
1564 screen-size independence. Device implementations MUST include support for legacy
1566 code. That is, device implementations MUST NOT alter the triggers or thresholds at
1567 which compatibility mode is activated, and MUST NOT alter the behavior of the
1586 device MUST meet the following requirements:</p>
1588 <li>The device MUST report the same screen configuration and display metrics, as detailed
1590 <li>The device MUST report the same logical density as the fixed-pixel display.</li>
1591 <li>The device MUST report screen dimensions that are the same as, or very close to,
1596 output port that displays at 720p or 1080p, the device implementation MUST scale the output so that
1601 <p>Variable-pixel device implementations MUST support one or both of 1280x720,
1603 variable-pixel displays MUST NOT support any other screen configuration or
1609 <p>Additionally, variable-pixel device implementations MUST report the following
1618 restricted to 720p or 1080p in Android 4.0, and MUST be configured to report
1623 graphics to the display. Devices MUST support all of these APIs as defined by
1626 <li>Devices MUST support displays capable of rendering 16-bit color graphics and
1628 <li>Devices MUST support displays capable of rendering animations.</li>
1629 <li>The display technology used MUST have a pixel aspect ratio (PAR) between
1630 0.9 and 1.1. That is, the pixel aspect ratio MUST be near square (1.0) with
1638 <li>MUST include support for the Input Management Framework (which allows third
1642 <li>MUST provide at least one soft keyboard implementation (regardless of whether
1646 <li>MUST NOT include a hardware keyboard that does not match one of the
1655 <li>MUST report the correct value for
1658 <li>MUST provide a reasonable alternative user interface mechanism for the
1665 paradigm. Device implementations MUST make these functions available to the
1672 the navigation keys, but if so, MUST meet these requirements:</p>
1675 <li>Device implementation navigation keys MUST use a distinct portion of the
1676 screen, not available to applications, and MUST NOT obscure or otherwise
1678 <li>Device implementations MUST make available a portion of the display to
1681 <li>Device implementations MUST display the navigation keys when applications
1684 <li>Device implementations MUST present the navigation keys in an unobtrusive
1687 <li>Device implementations MUST hide the navigation keys when applications
1689 <li>Device implementation MUST present a Menu key to applications when
1697 <li>MUST have a pointer input system of some kind (either mouse-like, or touch)</li>
1700 <li>MUST report the value of <code>android.content.res.Configuration.touchscreen</code> [<a href="#resources40">Resources, 40</a>]
1714 functionality. Device implementations that declare the fake touch feature MUST meet the fake touch requirements in <a href="section 7.2.5">Section 7.2.5</a>.</p>
1716 <p>Device implementations MUST report the correct feature corresponding to the type of input used. Device implementations that
1717 include a touchscreen (single-touch or better) MUST also report the platform feature constant <code>android.hardware.faketouch</code>.
1718 Device implementations that do not include a touchscreen (and rely on a pointer device only) MUST NOT report any touchscreen feature, and MUST report only
1724 <li> MUST report the absolute X and Y screen positions of the pointer location and display a visual pointer on the screen[<a href="#resources60">Resources, 60</a>] </li>
1725 <li> MUST report touch event with the action code [<a href="#resources60">Resources, 60</a>] that specifies the state change
1727 <li> MUST support pointer <code>down</code> and <code>up</code> on an object on the screen, which allows users to emulate tap on an object on the screen</li>
1728 <li> MUST support pointer <code>down</code>, pointer <code>up</code>, pointer <code>down</code> then pointer <code>up</code> in the same place on an object on the screen
1730 <li>MUST support pointer <code>down</code> on an arbitrary point on the screen, pointer move to any other arbitrary point on the screen,
1732 <li> MUST support pointer <code>down</code> then allow users to quickly move the object to a different position on the screen
1736 <p>Devices that declare support for <code>android.hardware.faketouch.multitouch.distinct</code> MUST meet the requirements for
1737 faketouch above, and MUST also support distinct tracking of two or more independent pointer inputs.</p>
1741 implementation omits a microphone, it MUST NOT report the
1742 <code>android.hardware.microphone</code> feature constant, and must implement
1746 <li>MUST report the <code>android.hardware.microphone</code> feature
1758 corresponding API for third-party developers, the device implementation MUST
1762 <li>MUST accurately report the presence or absence of sensors per the
1765 <li>MUST return an accurate list of supported sensors via the
1767 <li>MUST behave reasonably for all other sensor APIs (for example, by
1771 <li>MUST
1784 Device implementations MUST continuously provide periodic data samples for any
1791 <li>MUST be able to deliver events at 50 Hz or greater</li>
1792 <li>MUST comply with the Android sensor coordinate system as detailed
1794 <li>MUST be capable of measuring from freefall up to twice gravity (2g) or
1796 <li>MUST have 8-bits of accuracy or more</li>
1797 <li>MUST have a standard deviation no greater than 0.05 m/s^2</li>
1803 <li>MUST be able to deliver events at 10 Hz or greater</li>
1804 <li>MUST comply with the Android sensor coordinate system as detailed
1806 <li>MUST be capable of sampling a range of field strengths adequate to cover the
1808 <li>MUST have 8-bits of accuracy or more</li>
1809 <li>MUST have a standard deviation no greater than 0.5 µT</li>
1821 <li>MUST be temperature compensated</li>
1822 <li>MUST be capable of measuring orientation changes up to 5.5*Pi
1824 <li>MUST be able to deliver events at 100 Hz or greater</li>
1825 <li>MUST have 12-bits of accuracy or more</li>
1826 <li>MUST have a variance no greater than 1e-7 rad^2 / s^2 per Hz (variance per Hz, or rad^2 / s).
1827 The variance is allowed to vary with the sampling rate, but must be constrained by this value.
1830 <li>MUST have timestamps as close to when the hardware event happened as possible. The constant latency must be removed.</li>
1836 <li>MUST be able to deliver events at 5 Hz or greater</li>
1837 <li>MUST have adequate precision to enable estimating altitude</li>
1842 MUST measure the temperature of the device CPU. It MUST NOT measure any other
1850 implementation does include a proximity sensor, it MUST measure the proximity
1852 sensor MUST be oriented to detect objects close to the screen, as the
1855 orientation, it MUST NOT be accessible through this API. If a device
1856 implementation has a proximity sensor, it MUST be have 1-bit of accuracy or
1868 cannot place calls or send/receive SMS messages MUST NOT report the
1874 MUST implement full support for the API for that technology. Device
1875 implementations that do not include telephony hardware MUST implement the full
1880 support for 802.11, it MUST implement the corresponding Android API.</p>
1883 implementations that do include a Bluetooth transceiver MUST enable the
1891 single device. Consequently, device implementations MUST also pass the
1898 <li>MUST report the android.hardware.nfc feature from the
1901 <li>MUST be capable of reading and writing NDEF messages via the following NFC
1904 <li>MUST be capable of acting as an NFC Forum reader/writer
1920 version is planned to change these to "MUST". That is, these stanards are
1929 <li>MUST be capable of transmitting and receiving data via the following
1939 <li>MUST include support for Android Beam:
1941 <li>MUST implement the SNEP default server. Valid NDEF messages received
1942 by the default SNEP server MUST be dispatched to applications using
1944 in settings MUST NOT disable dispatch of incoming NDEF message.</li>
1945 <li>MUST implement the NPP server. Messages received by the NPP server MUST
1947 <li>MUST implement a SNEP client and attempt to send outbound P2P NDEF to
1949 SNEP server is found then the client MUST attempt to send to an NPP
1951 <li>MUST allow foreground activities to set the outbound P2P NDEF message
1960 <li>MUST poll for all supported technologies while in NFC discovery mode.</li>
1980 <li>MUST implement the corresponding Android APIs as documented by the
1982 <li>MUST report the feature com.nxp.mifare from the
1987 <li>MUST NOT implement the corresponding Android APIs nor report the
1991 <p>If a device implementation does not include NFC hardware, it MUST NOT
1994 href="#resources37">Resources, 37</a>], and MUST implement the Android 4.0 NFC
1998 representation format, device implementations MUST implement these APIs even
2002 <p>Device implementations MUST include support for one or more forms of data
2003 networking. Specifically, device implementations MUST include support for at
2025 <li>MUST have a resolution of at least 2 megapixels</li>
2029 <li>MAY include a flash. If the Camera includes a flash, the flash lamp MUST
2042 <li>MUST have a resolution of at least VGA (that is, 640x480 pixels)</li>
2043 <li>MUST NOT use a front-facing camera as the default for the Camera API.
2045 cameras, and device implementations MUST NOT configure the API to to treat a
2050 <li>MUST horizontally reflect (i.e. mirror) the stream displayed by an app in a
2055 preview MUST be mirrored horizontally relative to the device's current
2060 MUST be
2063 <li>Otherwise, the preview MUST be mirrored along the device's default horizontal axis.</li>
2065 <li>MUST mirror the image displayed by the postview in the same manner as
2068 <li>MUST NOT mirror the final captured still image or video streams returned
2072 <p>Device implementations MUST implement the following behaviors for the
2077 device MUST use <code>android.hardware.PixelFormat.YCbCr_420_SP</code> for
2082 passed into <code>onPreviewFrame()</code> must further be in the NV21 encoding
2083 format. That is, NV21 MUST be the default.</li>
2084 <li>Device implementations MUST support the YV12 format (as denoted by the
2087 may use any native pixel format, but the device implementation MUST support conversion
2090 <p>Device implementations MUST implement the full Camera API included in the
2093 capabilities. For instance, cameras that lack autofocus MUST still call any
2097 do not support autofocus, the API callbacks must still be "faked" as
2099 <p>Device implementations MUST recognize and honor each parameter name defined
2102 support a feature, the API must behave as documented. Conversely, Device
2103 implementations MUST NOT honor or recognize string constants passed
2107 device implementations MUST support all standard Camera parameters if the
2108 hardware allows, and MUST NOT support custom Camera parameter types.</p>
2109 <p>Device implementations MUST broadcast the <code>Camera.ACTION_NEW_PICTURE</code>
2112 <p>Device implementations MUST broadcast the <code>Camera.ACTION_NEW_VIDEO</code>
2116 <p>Both front- and rear-facing cameras, if present, MUST be oriented so that
2118 is, when the device is held in the landscape orientation, cameras MUST
2126 <p>Device implementations MUST have at least 340MB of memory available to the
2127 kernel and userspace. The 340MB MUST be in addition to any memory dedicated to
2130 <p>Device implementations MUST have at least 350MB of non-volatile storage
2131 available for application private data. That is, the <code>/data</code> partition MUST be at
2135 implementation of the Download Manager MUST be capable of downloading individual
2138 <p>Device implementations MUST offer shared storage for applications. The
2139 shared storage provided MUST be at least 1GB in size.</p>
2140 <p>Device implementations MUST be configured with shared storage mounted by
2142 path <code>/sdcard</code>, then the device MUST include a Linux symbolic link
2144 <p>Device implementations MUST enforce as documented the
2146 shared storage. Shared storage MUST otherwise be writable by any application
2151 <p>Regardless of the form of shared storage used, device implementations MUST
2162 <p>If the device implementation lacks USB ports, it MUST provide a host
2167 requirement, a FAT-formatted SD card 1GB in size or larger MUST be included
2168 with the device as sold to users, and MUST be mounted by default.
2170 satisfy this requirement, that storage MUST be 1GB in size or larger
2172 MUST be a symbolic link to the physical location if it is mounted elsewhere.)</p>
2183 <li>the port MUST be connectable to a USB host with a standard USB-A port</li>
2185 <li>it MUST allow a host connected to the device to access the contents of the
2188 <li>it MUST implement the Android Open Accessory API and specification as documented
2189 in the Android SDK documentation, and MUST declare support for the hardware
2196 <li>it MAY use a non-standard port form factor, but if so MUST ship with a
2198 <li>it MUST implement the Android USB host API as documented in the Android
2199 SDK, and MUST declare support for the hardware feature
2203 <p>Device implementations MUST implement the Android Debug Bridge. If a device
2204 implementation omits a USB client port, it MUST implement the Android Debug
2208 <p>Device implementations MUST meet the key performance metrics of an Android
2230 already-running application after it has been launched must take less than the
2238 <p>Device implementations MUST implement a security model consistent with the
2241 Android developer documentation. Device implementations MUST support
2244 compatible devices MUST support the security mechanisms described in the
2247 <p>Device implementations MUST support the Android permissions model as
2250 implementations MUST enforce each permission defined as described in the SDK
2255 <p>Device implementations MUST support the Android application sandbox model,
2257 process. Device implementations MUST support running multiple applications as
2262 <p>Device implementations MUST support the Android file access permissions
2268 machine or native code. However, such alternate execution environments MUST
2271 <p>Alternate runtimes MUST themselves be Android applications, and abide by
2273 <p>Alternate runtimes MUST NOT be granted access to resources protected by
2276 <p>Alternate runtimes MUST NOT permit applications to make use of features
2278 <p>Alternate runtimes MUST abide by the Android sandbox model. Specifically:</p>
2285 MUST NOT reuse the sandbox of any other app installed on the device, except
2288 <li>Alternate runtimes MUST NOT launch with, grant, or be granted access to
2291 <p>Alternate runtimes MUST NOT be launched with, be granted, or grant to other
2294 a device implementation, but MUST be signed with a key distinct
2297 <p>When installing applications, alternate runtimes MUST obtain user consent
2301 runtime MUST inform the user that the application will be able to access
2303 capabilities in this manner, the runtime environment MUST list all
2308 <p>Device implementations MUST pass all tests described in this section.</p>
2316 <p>Device implementations MUST pass the Android Compatibility Test Suite (CTS)
2320 Source tree as much as possible, and MUST ensure compatibility in cases of
2326 for Android 4.0. Device implementations MUST pass the latest CTS version
2329 <p>Device implementations MUST correctly execute all applicable cases in the
2335 hardware that is optional. Device implementations MUST pass all tests for
2337 accelerometer, it MUST correctly execute the Accelerometer test case in the
2340 <p>Every device and every build MUST correctly run the CTS Verifier, as noted
2347 <p>Device implementers MUST test implementation compatibility using the
2353 <p>Each app above MUST launch and behave correctly on the implementation, for
2358 <p>Device implementations MUST include a mechanism to replace the entirety of
2370 <p>The update mechanism used MUST support updates without wiping user data.
2371 That is, the update mechanism MUST preserve application private data
2377 applications, the device implementer MUST correct the error via a software
2392 single device. Consequently, device implementations MUST also pass the
2442 pressing Home.) Each test sequence MUST be performed as described.</p>