[C-0-1] MUST support the Android Developer Tools provided in the Android SDK.
[C-0-2] MUST support adb as documented in the Android SDK and the shell commands provided in the AOSP, which can be used by app developers, including
[C-SR] Are STRONGLY RECOMMENDED to support the shell command
[C-0-3] MUST NOT alter the format or the contents of device system events (batterystats , diskstats, fingerprint, graphicsstats, netstats, notification, procstats) logged via the dumpsys command.
[C-0-10] MUST record, without omission, and make the following events accessible and available to the
cmd stats shell command and the
StatsManager System API class.
[C-0-4] MUST have the device-side adb daemon be inactive by default and there MUST be a user-accessible mechanism to turn on the Android Debug Bridge.
[C-0-5] MUST support secure adb. Android includes support for secure adb. Secure adb enables adb on known authenticated hosts.
[C-0-6] MUST provide a mechanism allowing adb to be connected from a host machine. For example:
Dalvik Debug Monitor Service (ddms) * [C-0-7] MUST support all ddms features as documented in the Android SDK. As ddms uses adb, support for ddms SHOULD be inactive by default, but MUST be supported whenever the user has activated the Android Debug Bridge, as above.
Monkey * [C-0-8] MUST include the Monkey framework and make it available for applications to use.
SysTrace * [C-0-9] MUST support the systrace tool as documented in the Android SDK. Systrace MUST be inactive by default and there MUST be a user-accessible mechanism to turn on Systrace.
Perfetto * [C-SR] Are STRONGLY RECOMMENDED to expose a
/system/bin/perfetto binary to the shell user which cmdline complies with the perfetto documentation. * [C-SR] The perfetto binary is STRONGLY RECOMMENDED to accept as input a protobuf config that complies with the schema defined in the perfetto documentation. * [C-SR] The perfetto binary is STRONGLY RECOMMENDED to write as output a protobuf trace that complies with the schema defined in the perfetto documentation. * [C-SR] Are STRONGLY RECOMMENDED to provide, through the perfetto binary, at least the data sources described in the perfetto documentation.
If device implementations support the shell command `cmd testharness` and run `cmd testharness enable`, they: * [C-2-1] MUST return `true` for `ActivityManager.isRunningInUserTestHarness()` * [C-2-2] MUST implement Test Harness Mode as described in [harness mode documentation]( https://source.android.com/compatibility/cts/harness).
If device implementations report the support of Vulkan 1.0 or higher via the
android.hardware.vulkan.version feature flags, they: