News DetailCurrent Location :Home > News > News Detail

Google Android 12 Version GMS Certification Compatibility Document Some Basic Requirements for Handheld Device Testing

Time:2022/8/4 Posted:Deeplight Technology Co.,Ltd

1. Definition and requirements of handheld devices

 

An Android handheld device is an Android device that is usually implemented by holding it in your hand, such as an mp3 player, mobile phone, or tablet.

 

If Android device implementations meet all of the following conditions, they are classified as handheld devices, and the application of GMS certification for handheld devices requires the MADA agreement.

 

Deeplight Tech Tip: Handheld devices need to have a power source that provides mobility, such as a battery.

 

 2. Handheld devices have passed GMS test requirements

 

There must be at least one Android-compatible display that meets all the requirements described in this document.

It is strongly recommended to provide users with the ability to change the display size (screen density).

The GPU combination must support a graphics buffer at least as large as the highest resolution of any built-in display.

 

If handheld device implementations support software screen rotation, they must make the logical screen available to third-party applications at least 2 inches on the short side and 2.7 inches on the long side.

 

If handheld devices do not support software screen rotation, they must make the short side of the logical screen available to third-party applications at least 2.7 inches.

 

EGL_EXT_gl_colorspace_bt2020_pq 、 EGL_EXT_surface_SMPTE2086_metadata 、 EGL_EXT_surface_CTA861_3_metadata 、 VK_EXT_swapchain_colorspace和VK_EXT_hdr_metadata扩展的支持。

 

If handheld device implementations declare support for high dynamic range displays via Configuration.isScreenHdr(), they: 


MUST advertise support for the EGL_EXT_gl_colorspace_bt2020_pq , EGL_EXT_surface_SMPTE2086_metadata , EGL_EXT_surface_CTA861_3_metadata , VK_EXT_swapchain_colorspace and VK_EXT_hdr_metadata extensions.

Whether the device supports GPU profiling must be reported via the system property graphics.gpu.profiler.support.

 

If handheld device implementations declare support via the system property graphics.gpu.profiler.support, they:

 

A protobuf trace conforming to the GPU counter and GPU render stage architecture defined in the Perfetto documentation must be reported as output.

 

A consistent value of the device's GPU counter must be reported after the GPU counter trace packet proto.

 

A consistent value for the device's GPU RenderStages must be reported after the packet  proto is traced in the render stage.

 

The GPU frequency trace point specified by the following format must be reported: power/gpu_frequency .

 

Must include support for legacy application compatibility mode implemented by the upstream Android open source code. That is, device implementations MUST NOT change the triggers or thresholds that activate Compatibility Mode, and MUST NOT change the behavior of Compatibility Mode itself.

 

Must include support for third-party Input Method Editor (IME) applications.

 

Home screen functionality must be available on all Android-compatible displays that offer a home screen.

 

The Back feature must be available on all Android-compatible displays and the Recents feature on at least one Android-compatible display.

 

Normal and long press events that return to the function ( KEYCODE_BACK ) must be sent to the foreground application. These events must not be used by the system and can be triggered externally by the Android device (for example, an external hardware keyboard connected to the Android device).

 

Touchscreen input must be supported.

 

If handheld device implementations include 3-axis accelerometers, they:

Events must be able to be reported at a frequency of at least 100 Hz.

 

If handheld device implementations include GPS/GNSS receivers and report capabilities to applications via the android.hardware.location.gps capability flag, they:


GNSS measurements must be reported as soon as they are discovered, even if the position calculated from GPS/GNSS has not been reported.

GNSS pseudoranges and pseudorange rates must be reported, in open sky conditions after the position is determined. When stationary or moving with an acceleration of less than 0.2 m/s squared, it is sufficient to calculate that the position is within 20 meters and the velocity is within 0.2 m/s, at least 95% of the time.

 

If handheld device implementations include 3-axis gyroscopes, they:

Must be able to report events at a frequency of at least 100 Hz.

Must be able to measure directional changes of up to 1000 degrees per second.

Handheld implementations that can make voice calls and indicate any value in getPhoneType except PHONE_TYPE_NONE:

Handheld device implementation:

It is recommended to support pose sensors with 6 degrees of freedom.

Should include support for Bluetooth and Bluetooth LE.

 

If handheld device implementations include metered connections, they:

Data protection mode must be provided.

 

If handheld device implementations include logical camera devices that use the listed functions, they:

Must have a normal field of view (FOV) by default and must be between 50 and 90 degrees.

There must be at least 4 GB of non-volatile storage available for application private data (aka the "/data" partition).

Must return "true" for ActivityManager.isLowRamDevice() when the available memory in kernel and user space is less than 1GB.

 

If the handheld implementation declares that only the 32-bit ABI is supported:

If the default display uses framebuffer resolutions up to qHD (e.g. FWVGA), the memory available to kernel and user space must be at least 416MB.

If the default display uses framebuffer resolutions up to HD+ (e.g. HD, WSVGA), the memory available to kernel and user space must be at least 592MB.

If the default display uses framebuffer resolutions up to FHD (e.g. WSXGA+), the memory available to the kernel and user space must be at least 896MB.

If the default display uses framebuffer resolutions up to QHD (e.g. QWXGA), the memory available to kernel and user space must be at least 1344MB.

 

If the handheld implementation declares support for the 32-bit and 64-bit ABIs:

If the default display uses framebuffer resolutions up to qHD (e.g. FWVGA), the memory available to kernel and user space must be at least 816MB.

If the default display uses framebuffer resolutions up to HD+ (e.g. HD, WSVGA), the memory available to kernel and user space must be at least 944MB.

If the default display uses framebuffer resolutions up to FHD (e.g. WSXGA+), the memory available to kernel and user space must be at least 1280MB.

If the default display uses framebuffer resolutions up to QHD (e.g. QWXGA), the memory available to kernel and user space must be at least 1824MB.

 

Note that "memory available to kernel and user space" above refers to memory space provided in addition to any memory already dedicated to hardware components (such as radio, video, etc.) that is not under the control of the kernel over the device implementation.

 

If handheld device implementations include less than or equal to 1GB of memory available in kernel and user space, they:


The feature flag android.hardware.ram.low must be declared.

There must be at least 1.1 GB of non-volatile storage for storing application private data (aka the "/data" partition).


If handheld device implementations include more than 1GB of memory available for kernel and user space, they:


There must be at least 4GB of non-volatile storage available for application private data (aka the "/data" partition).

The feature flag android.hardware.ram.normal should be declared.

 

If handheld device implementations include greater than or equal to 2GB and less than 4GB of available memory for kernel and user space, they: STRONGLY RECOMMEND to support only 32-bit user space (application and system code)

 

If handheld device implementations include less than 2GB of memory available for kernel and user space, they: MUST support only the 32-bit ABI.


Application shared storage must not be provided less than 1 GiB.


Should include a USB port that supports peripheral mode.

 

If handheld device implementations include USB ports that support peripheral mode, they:


Must implement the Android Open Accessory (AOA) API.

 

If handheld device implementations include USB ports that support host mode, they:


The USB Audio class must be implemented as described in the Android SDK documentation.

Handheld devices:


A microphone must be included.


Must have audio output and declare android.hardware.audio.output.

 

Deeplight has completed GMS test certification for many customers around the world, including GMS certification of mobile phones, tablets, large display screens, POS machines and other products. We can provide customers with one-stop services including pre-testing, debug, and formal testing! Welcome to contact us for consultation.

 

WhatsApp:+86 13066838665        Tel:0755-89202795

Email: yu@dlcer.com           Web: www.dlcer.com

Print】【Close】【Back