新闻动态
GMS认证,谷歌安卓12版本 GMS认证兼容性文档之手提设备的测试一些基本要求
日期:2022-04-26 10:18:19作者:百检 人气:0

  Android手持设备是指通常通过将其握在手中使用的Android设备实现,例如mp3播放器、手机或平板电脑。


  如果Android设备实现满足以下所有条件,则它们被归类为手持设备,手持设备申请GMS认证需要获得MADA协议。


  深光标准技术提示:手提设备需拥有提供移动性的电源,例如电池。


  二、手持设备过GMS的测试要求


  必须至少有一个符合本文档中描述的所有要求的Android兼容显示器。


  强烈建议为用户提供更改显示尺寸(屏幕密度)的功能。


  必须支持图形缓冲区的GPU组合,至少与任何内置显示器的*高分辨率一样大。


  如果手持设备实现支持软件屏幕旋转,它们:


  必须使可供第三方应用程序使用的逻辑屏幕的短边至少为2英寸,长边至少为2.7英寸。


  如果手持设备不支持软件屏幕旋转,它们:


  必须使可供第三方应用程序使用的逻辑屏幕的短边至少为2.7英寸。


  如果手持设备实现通过Configuration.isScreenHdr()声明支持高动态范围显示,它们:须宣传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扩展的支持。


  必须通过系统属性graphics.gpu.profiler.support报告设备是否支持GPU分析功能。


  如果手持设备实现通过系统属性graphics.gpu.profiler.support声明支持,它们:


  必须将符合Perfetto文档中定义的GPU计数器和GPU渲染阶段架构的protobuf跟踪报告为输出。


  必须在gpu计数器跟踪数据包proto之后报告设备的GPU计数器的一致值。


  必须在渲染阶段跟踪数据包proto之后报告设备的GPURenderStages的一致值。


  必须报告由以下格式指定的GPU频率跟踪点:power/gpu_frequency。


  必须包括对上游Android开源代码实现的旧版应用程序兼容模式的支持。也就是说,设备实现不得更改激活兼容模式的触发器或阈值,并且不得更改兼容模式本身的行为。


  必须包括对第三方输入法编辑器(IME)应用程序的支持。


  必须在所有提供主屏幕的Android兼容显示器上提供主屏幕功能。


  必须在所有与Android兼容的显示器上提供Back功能,并在至少一个与Android兼容的显示器上提供Recents功能。


  必须将返回功能(KEYCODE_BACK)的正常和长按事件发送到前台应用程序。这些事件不得由系统使用,并且可以由Android设备外部触发(例如,连接到Android设备的外部硬件键盘)。


  必须支持触摸屏输入。


  如果手持设备实现包括3轴加速度计,则它们:


  必须能够以至少100Hz的频率报告事件。


  如果手持设备实现包括GPS/GNSS接收器并通过android.hardware.location.gps功能标志向应用程序报告功能,则它们:


  必须在发现GNSS测量结果后立即报告,即使尚未报告根据GPS/GNSS计算的位置。


  必须报告GNSS伪距和伪距率,在确定位置后的开阔天空条件下,当静止或以小于0.2米/秒平方的加速度移动时,足以计算位置在20米以内,速度在0.2米/秒以内,至少95%的时间。


  如果手持设备实现包括3轴陀螺仪,它们:


  必须能够以至少100Hz的频率报告事件。


  必须能够测量高达每秒1000度的方向变化。


  可以进行语音呼叫并在getPhoneType中指示除PHONE_TYPE_NONE的任何值的手持设备实现:


  手持设备实现:


  建议支持具有6个自由度的姿势传感器。


  应该包括对蓝牙和蓝牙LE的支持。


  如果手持设备实现包括计量连接,则它们:


  必须提供数据保护模式。


  如果手持设备实现包括使用列出功能的逻辑相机设备,则它们:


  默认情况下必须具有正常视野(FOV),并且必须在50到90度之间。


  必须有至少4GB的非易失性存储空间可用于应用程序私有数据(又名“/data”分区)。


  当内核和用户空间的可用内存少于1GB时,必须为ActivityManager.isLowRamDevice()返回“true”。


  如果手持设备实现声明仅支持32位ABI:


  如果默认显示使用高达qHD的帧缓冲分辨率(例如FWVGA),内核和用户空间可用的内存必须至少为416MB。


  如果默认显示使用高达HD+的帧缓冲分辨率(例如HD、WSVGA),内核和用户空间可用的内存必须至少为592MB。


  如果默认显示使用高达FHD的帧缓冲分辨率(例如WSXGA+),内核和用户空间可用的内存必须至少为896MB。


  如果默认显示使用高达QHD的帧缓冲区分辨率(例如QWXGA),内核和用户空间可用的内存必须至少为1344MB。


  如果手持设备实现声明支持32位和64位ABI:


  如果默认显示使用高达qHD的帧缓冲分辨率(例如FWVGA),内核和用户空间可用的内存必须至少为816MB。


  如果默认显示使用高达HD+的帧缓冲分辨率(例如HD、WSVGA),内核和用户空间可用的内存必须至少为944MB。


  如果默认显示器使用高达FHD的帧缓冲分辨率(例如WSXGA+),内核和用户空间可用的内存必须至少为1280MB。


  如果默认显示使用高达QHD的帧缓冲分辨率(例如QWXGA),内核和用户空间可用的内存必须至少为1824MB。


  请注意,上面的“内核和用户空间可用的内存”是指除了已经专用于硬件组件(如无线电、视频等)的任何内存之外提供的内存空间,这些内存不受内核对设备实现的控制。


  如果手持设备实现包括小于或等于1GB的内核和用户空间可用内存,它们:


  必须声明功能标志android.hardware.ram.low。


  必须有至少1.1GB的非易失性存储空间用于存储应用程序私有数据(又名“/data”分区)。


  如果手持设备实现包括超过1GB的可用于内核和用户空间的内存,它们:


  必须有至少4GB的非易失性存储空间可用于应用程序私有数据(又名“/data”分区)。


  应该声明功能标志android.hardware.ram.normal。


  如果手持设备实现包括大于或等于2GB且小于4GB的内核和用户空间可用内存,则它们:强烈建议仅支持32位用户空间(应用程序和系统代码)


  如果手持设备实现包括少于2GB的可用于内核和用户空间的内存,它们:必须仅支持32位ABI。


  不得提供小于1GiB的应用程序共享存储。


  应包括支持外围模式的USB端口。


  如果手持设备实现包括支持外围模式的USB端口,则它们:


  必须实现AndroidOpenAccessory(AOA)API。


  如果手持设备实现包括支持主机模式的USB端口,它们:


  必须按照AndroidSDK文档中的说明实现USB音频类。


  手持设备:


  必须包括麦克风。


  必须有音频输出并声明android.hardware.audio.output。