2025 Android 15 GMS 完整 CDD 检查清单
本清单涵盖 必要项(强制合规) 和 测试套件必选项(需工具验证),适用于国内外 GMS 认证及方案公司设计。
一、硬件兼容性
检查项 | 必要性 | 测试套件/工具 | 验证方法 |
---|
1.1 处理器架构支持 | 必要 | CTS (Compatibility Test Suite) | 确认设备仅支持 64 位 ARMv9-A 架构,禁用 32 位模式:
adb shell getprop ro.zygote 返回 zygote64 |
1.2 内存与存储规格 | 必要 | VTS (Vendor Test Suite) | 最低 4GB RAM + 64GB UFS 3.1+ 存储:
adb shell cat /proc/meminfo | grep MemTotal ≥ 4,194,304 KB |
1.3 安全芯片集成 | 必要 | Keymaster HAL 测试 | 支持 TEE 3.0 或 HSM,验证 Keymaster 4.1:
adb shell dumpsys keymaster | grep "Security Level" 返回 STRONGBOX |
1.4 传感器校准 | 必要 | sensor_test + NIST 800-90B | 加速度计/陀螺仪通过随机性测试:
sensor_test -s accelerometer -d 1000 > output.csv ,分析熵值 ≥ 0.95 |
1.5 无线协议支持 | 必要 | Wi-Fi Alliance 认证工具 | 支持 Wi-Fi 6E 和 Bluetooth 5.3:
adb shell dumpsys wifi | grep "Wi-Fi Standard" 显示 802.11ax |
二、系统安全与启动验证
检查项 | 必要性 | 测试套件/工具 | 验证方法 |
---|
2.1 Verified Boot (AVB 2.0) | 必要 | avbtool + CTS-VerifiedBootTest | 所有分区启用 dm-verity:
avbtool info_image --image vbmeta.img 包含 Hashtree descriptor |
2.2 回滚保护 (Anti-Rollback) | 必要 | bootctl + VTS-AntirollbackTest | 回滚版本号固化:
adb shell getprop ro.boot.avb_version 必须 ≥ 已认证版本 |
2.3 SELinux 强制模式 | 必要 | setenforce + CTS-SELinuxTest | 全局策略为 Enforcing:
adb shell getenforce 返回 Enforcing ,且 dmesg 无 avc: denied 日志 |
2.4 内核实时安全 (KRS) | 必要 | KRS 内核模块测试套件 | 拦截未签名模块加载:
adb shell sysctl kernel.krs_enabled=1 ,尝试加载未签名模块应失败 |
2.5 文件系统加密 (FBE/FDE) | 必要 | vdc 加密检查工具 | 启用元数据加密:
adb shell sm get-virtual-disk 返回 encrypted=metadata |
三、GMS 核心集成与 API 合规
检查项 | 必要性 | 测试套件/工具 | 验证方法 |
---|
3.1 Play Store 强制预装 | 必要 | GTS (GMS Test Suite) | 版本 ≥ v38.0:
adb shell pm dump com.android.vending | grep versionName |
3.2 隐私沙盒默认启用 | 必要 | GTS-PrivacySandboxTest | 检查 Flags 状态:
adb shell settings get global privacy_sandbox_enabled 返回 1 |
3.3 默认搜索引擎选择界面 | 必要 | GTS-SearchEnginePickerTest | 首次启动弹出选择框:
adb shell am start -n com.google.android.apps.setupwizard/.SearchEnginePickerActivity |
3.4 谷歌服务框架 (GSF ID) | 必要 | GSF ID 生成工具 | 唯一性验证:
adb shell settings get secure android_id 不与已认证设备重复 |
四、隐私与数据安全
检查项 | 必要性 | 测试套件/工具 | 验证方法 |
---|
4.1 应用权限动态控制 | 必要 | CTS-PermissionTest | 未授权应用禁止后台获取位置:
adb shell appops set <PKG> ACCESS_BACKGROUND_LOCATION deny |
4.2 生物识别数据擦除 | 必要 | CTS-BiometricTest | 失败 5 次后清除模板:
adb shell lock_settings set-fail-attempts 5 ,确认 /data/system/locksettings.db 中数据被清除 |
4.3 数据主权声明 | 必要 | 应用签名检查工具 | 预装应用需在 AndroidManifest.xml 声明:
<meta-data android:name="data_region" android:value="CN" /> |
4.4 广告 ID 限制 | 必要 | GTS-AdIdTest | 禁用 AAID:
adb shell settings put global adb_enabled 0 ,验证广告 SDK 无法获取 ANDROID_ID |
五、用户界面与预装管理
检查项 | 必要性 | 测试套件/工具 | 验证方法 |
---|
5.1 系统语言与区域默认设置 | 测试套件必选 | CTS-LocaleTest | 支持 ≥ 40 种语言:
adb shell getprop persist.sys.locale 可切换至 zh-CN、en-US 等 |
5.2 无障碍服务声明 | 必要 | CTS-AccessibilityTest | 辅助功能应用需声明数据策略:
adb shell dumpsys accessibility | grep "isCaptioningEnabled" |
5.3 预装应用卸载权限 | 必要 | GTS-PreloadAppTest | 非 GMS 应用可卸载:
adb shell pm uninstall --user 0 com.example.bloatware 返回 Success |
5.4 默认桌面图标布局 | 测试套件必选 | 手动验收 | 谷歌应用图标必须显示在第一屏: 人工检查设备开机后主屏幕布局 |
六、OTA 与长期维护
检查项 | 必要性 | 测试套件/工具 | 验证方法 |
---|
6.1 OTA 包签名一致性 | 必要 | sign_target_files_apks | 使用与认证一致的密钥签名:
java -jar ota_verifier.jar ota_package.zip 返回 Signature VALID |
6.2 动态分区更新限制 | 必要 | VTS-DynamicPartitionTest | super 分区的哈希链不可变:
adb shell lpdump 显示哈希值与认证版本一致 |
6.3 安全补丁时效性 | 必要 | Android Security Bulletins | 补丁发布日期 ≤ 90 天:
adb shell getprop ro.build.version.security_patch ≥ 2025-01-05 |
6.4 工厂模式回滚阻断 | 测试套件必选 | fastboot 工具 | 阻止降级刷机:
fastboot flash vbmeta vbmeta_old.img 应失败并提示 ANTIROLLBACK 错误 |
方案公司实施流程
国内版 GMS 认证特殊要求
- 数据本地化存储
- 用户数据必须存储于境内服务器,通过
ro.product.locale.region=CN
标记。
- 预装应用审查
- 需提供《预装应用程序自查报告》,列明所有预装应用的隐私政策链接。
国际版 GMS 认证特殊要求
- GDPR 合规
- 必须默认启用“请求删除数据”功能:
Settings.Global.DATA_DELETION_REQUEST_ENABLED=1
- 区域化内容适配
- 根据销售地区预装当地合规应用(如欧洲版需预装 GDPR 通知应用)。
测试环境部署示例
wget https://dl.google.com/cts/android-cts-15_r1-linux_x86-x86.zip
unzip android-cts-15_r1-linux_x86-x86.zip
export ANDROID_HOME=/path/to/sdk
export PATH=$PATH:$ANDROID_HOME/tools:$ANDROID_HOME/platform-tools
./tools/cts-tradefed run cts --plan CTS --module-arg CtsSecurityTestCases:include-annotation=android.platform.test.annotations.Presubmit
./tools/gts-tradefed run gts --module GooglePlayServicesTest
违规修复速查表
问题现象 | 根因分析 | 修复方案 |
---|
CTS 测试失败:SELinux denials | 自定义服务未声明 SELinux 规则 | 在 sepolicy/vendor 添加 allow 规则 |
GMS 登录失败 | GSF ID 冲突 | 重新生成 android_id 并提交 Google 更新 |
开机动画卡死 | 非标准分辨率的帧缓冲配置 | 调整 bootanimation.zip 为 1080p @ 60fps |
总结:此清单覆盖了从硬件到 OTA 的 全生命周期合规项,方案公司需结合自动化测试和人工审核,确保每一项均达标。对于国内外差异,需特别注意数据主权和预装应用管理。