目录

  • 一、一些概念
  • 二、GMS认证
    • 2.1 认证背景
    • 2.2 GMS认证目的
    • 2.3 GMS认证要求
    • 2.4 GMS认证流程
    • 2.5 MADA协议申请流程
  • 三、CTS测试
    • 3.1 CTS测试介绍
    • 3.2 CTS测试的目的
    • 3.3 CTS测试运行原理
    • 3.4 CTS测试套件目录文档结构
    • 3.5 CTS测试环境准备
      • 3.5.1 测试环境
      • 3.5.2 测试准备工作
      • 3.5.3 手机端配置
    • 3.5 CTS测试流程
    • 3.6 查看测试结果
      • 3.6.1 测试结果存放路径
      • 3.6.2 测试日志存放路径
  • 四、GTS测试
    • 4.1 GTS测试介绍
    • 4.2 GTS授权级别
    • 4.3 GTS测试流程
      • 4.3.1 手机环境准备
      • 4.3.2 执行GTS测试
    • 4.4 GTS测试结果展示
      • 五、获取GMS认证

一、一些概念

CTS测试

以自动化测试为基础,测试Android系统的兼容性;

CTS Verify

一个手工测试的apk,完成自动化测试无法完成的操作(锁屏、蓝牙、摄像头等);

GTS

手机出口到国外,并且通过运营商出售,就i必须通过GTS测试;

GMS认证周期

手机通过CTS测试、CTS Verify以及GTS测试之后,就可以拿到GMS认证。但是GMS认证周期较长,一般需要3个月至半年。

MADA协议

全称Mobile Application Distribution Agreement(移动应用软件分发协议)。是谷歌和Android厂商之间签署的一个协议,根据该协议,手机厂商在推出采用Android设备前,必须预装所有Google应用,并且,要把Google Search、Google Play放在手机首屏,并以Google Search作为默认的搜索引擎。

二、GMS认证

2.1 认证背景

手机没有GMS认证,那么对于手机出口商而言,就没有了生产的产品走不了运营商通道,所以在欧美等由运营商主导的手机市场,GMS认证是十分必要的。但是没有GMS认证,Google也不会做限制,只是进不了运营商市场,第三世界市场,出于成本考虑(GMS认证需要收费),也就没装GMS认证。

2.2 GMS认证目的

  1. 提高产品android系统的兼容性和稳定性
  2. 授权Google的手机APP和服务
  3. 授权使用Android LOGO
  4. 产品可以进入欧美市场

2.3 GMS认证要求

  1. 必须申请与Google签署MADA协议(网站操作)
  2. 产品必须使用7.0以上的安卓版本
  3. 产品必须依次通过CTS测试、CTS Verify测试以及GTS测试
  4. 产品还可以通过CE、FCC、BT以及WIFI等硬件认证(这一部分不是GMS认证的硬性指标)

2.4 GMS认证流程

  1. 申请谷歌MADA协议
  2. 产品做硬件测试
  3. 提交测试报告给谷歌审核
  4. 获得谷歌认证授权

2.5 MADA协议申请流程

Created with Raphaël 2.1.2开始:https://www.android.com/certified/partners/填写公司基本信息向谷歌发起MADA请求谷歌评估审核结束yesno

三、CTS测试

3.1 CTS测试介绍

CTS测试全称为系列兼容测试(Compatibility Test suite),CTS是为了测试手机是否符合google定义的兼容性规范(Compatibility Definition)。从而基于Android的应用程序能在基于同一个api版本的设备上面运行。通过CTS测试的设备可以获得Android的商标,并且享受Android Market的权限。
        CTS测试是一个基于uiautomator安卓原生自动化框架运行的自动化测试。通过CTS测试,保证系统的安全性和稳定性。

3.2 CTS测试的目的

由于Google系统的开源性,很多手机厂商基于安卓系统做出了深度优化,从而造成了安卓移动终端的碎片化,导致android终端的兼容性差的问题,严重影响用户体验。手机通过CTS测试,是市场得到了一个通过的规范:
1. 让App提供更好的用户体验,用户可以选择更多的适合自己设备的app
2. 让开发者设计更高质量的app
3. 通过CTS的设备可以运行Android market
4. CTS是免费的,很简单

3.3 CTS测试运行原理

在pc端安装CTS测试套件,安装完成后,就可以通过连接到pc端的数据线将测试用户发送至手机上,完成测试用例的执行,并且把执行结果返回给PC端。CTS测试套件下载连接如下:https://source.android.com/compatibility/cts/downloads

需要下载文件有:对应手机系统、架构的的测试套件以及CTS VerifyAndroid Compatibility Defination Document(CDD)Compatibility Test Suite(CTS) User ManualCTS Media1.1(音视频资料)

3.4 CTS测试套件目录文档结构

CTS目录结构-- docs-- logs 运行cs产生的log文件-- plans 运行计划-- results 测试结果-- testcases 测试用例配置-- respository-- resource 资源文件-- tools 运行工具

3.5 CTS测试环境准备

3.5.1 测试环境

① windows

windows环境,需要自己重写脚本
1. 电脑端配置JDK/SDK的环境
2. 将解压后的测试套件(文件名android-cts)拷贝至adt目录下的sdk目录

② Linux(推荐64位UBUNTU 10.04)

一般来说,linux上运行较为稳定,所以手机厂商都是在linux端跑cts测试
1. 电脑端配置JDK/SDK的环境
2. 将测试套件解压至pc端/data目录下

3.5.2 测试准备工作

  1. 下载需要进行测试的软件版本(ROM)
  2. 插入可用的SIM卡(双开手机,需确保卡1有sim卡)
  3. 写入合法的IMEI号(手机的身份证,每一个手机都会有唯一的一个IMEI号)
  4. 连接一个可翻墙的WIFI网络(可以使用香港专线,网络比较稳定)

3.5.3 手机端配置

  1. 手机恢复出厂设置
  2. 手机语言设置为英语
  3. 手机需常亮并取消锁屏
  4. 开启GPS
  5. 开启USB调试后勾选stay awake和allow mock location
  6. 安装CtsDeviceAdmin.apk(位于android-cts/repository/testcases),进入setting->security->device administrators的前两项
  7. 确保手机SD卡有>1G的存储空间
  8. 确保手机没有谷歌账号或其他账号存在
  9. 确保手机时间和日期设置正确(连接数据后,会自动更新时间,时区选择默认时区)
    …(其余在CDD文档中有定义)

3.5 CTS测试流程

  1. 手机和PC连接,打开USB调试模式,用adb devices检查是否连接好手机
  2. 在/data进入android-cts/tools/目录,执行cts-tradefed脚本进入测试环境
  3. 在测试环境中输入以下命令进行整体测试
run cts --plan CTS
或
run cts -c android.app.cts.SystemFeaturesTest

注意: CTS测试会持续10+个小时

补充: CTS测试环境基本命令介绍

分类 命令 说明
Host help 基本命令帮助说明
help all 基本命令帮助说明
exit 退出控制台
Run run cts –plan test_plan_name 运行指定计划
run cts –package/-p 运行指定包
run cts –class/-c [–method/-m] 运行指定方法
run cts –continue-session session_ID 继续运行指定会话session_id
run cts [options] –serial/-s device_ID 运行指定设备
run cts [options] –shards number_of_shards 运行多个设备
run cts –help/–help-all 运行帮助
List l/list d/devices 列出连接的设备
l/list packages 列出所有测试包
l/list p/plans 列出所有测试计划
l/list r/results 列出已经保存的测试结果

3.6 查看测试结果

3.6.1 测试结果存放路径

android-cts/repository/results/testResult.xml

3.6.2 测试日志存放路径

android-cts/repository/logs/

四、GTS测试

4.1 GTS测试介绍

谷歌移动服务测试套件(Google Mobile Services Test Suite),谷歌移动服务提供了Search、 Search by Voice、Gmail、Contact Sync、 Calendar Sync、Talk、 Maps、 Steet View、 YouTube、 Android Market (Play store)等服务,当用户使用谷歌时,谷歌可以把各种广告嵌入到谷歌的服务中。

4.2 GTS授权级别

根据GMS,谷歌对android手机给与不同程度的授权,把搭载android系统的手机厂商分为3个级别:
1. 免费使用Android系统,但不内嵌GMS
2. 内嵌部分GMS,但手机不能打上谷歌的商标
3. 内嵌所有GMS服务,也可以使用谷歌商标。如果在android手机中内置有谷歌GMS服务的话,是等同被谷歌官方认证的产品

4.3 GTS测试流程

GTS的环境安装、执行、报告分析这一系列操作和CTS类似,只是GTS必须连接VPN。

4.3.1 手机环境准备

  1. 刷好GMS版本的ROM包
  2. 恢复手机出厂设置
  3. 设置手机、连接外网
  4. 插入SIM卡,打开移动数据
  5. 打开蓝牙
  6. 显示中睡眠时间显示最大
  7. 竖屏
  8. 语言选择英语
  9. 键盘选择谷歌键盘
  10. 打开定位、高精度
  11. 安全中锁屏选择None
  12. 时间将自动获取时间和日期关闭,选择太平洋时区、24小时制
  13. 在开发者模式中打开stay awake和USB debugging

4.3.2 执行GTS测试

  1. 开始全部GTS测试
run gts --plan GTS
  1. 单跑某一模块的GTS测试
run gts -plan 'Module Name' -t 'class name'
  1. 接着某一次中断的gts测试跑
run gts --retry session_id
其中session_id可由lr查看

4.4 GTS测试结果展示

五、获取GMS认证

通过GMS认证后,就可以申请到一个GMS的APK的包,可以将这些谷歌应用集成到手机系统里面。通过GMS认证的手机,可以在Googie play中看到如下内容:

CTS、CTS Verify、GTS测试以及GMS认证相关推荐

  1. CTS、CTS Verify、GTS测试以及GMS认证介绍

    一.一些概念 ① CTS测试 以自动化测试为基础,测试Android系统的兼容性: ② CTS Verify 一个手工测试的apk,完成自动化测试无法完成的操作(锁屏.蓝牙.摄像头等): ③ GTS ...

  2. QA:GMS认证、CTS测试、GTS测试、谷歌认证、安卓认证,Android

    本文954个字,正常大约需要阅读两到三分钟,完整阅读更精彩,欢迎评论关注收藏分享! Q:什么是GMS认证? A: GMS全称为Google Mobile Service,即谷歌移动服务,优秀的国外应用 ...

  3. CTS ( 19)---Android 8.1/GO GMS认证

    Android 8.1/GO GMS认证 一.2018年最新的GMS需提供5份测试报告,其中包括以下测试: 1.正式版本的CTS测试  (正式版本指的是要拿来送认证的的版本) 2.正式版本的CtsVe ...

  4. CTS(10)---谷歌CTS测试之Verify简介

    谷歌CTS测试之Verify简介 测试前的准备 2 硬件要求 2 设置 2 CTS 验证程序测试程序 3 具体测试要求 5 USB 配件 5 相机视野校准 8 导出测试报告 10 Android 兼容 ...

  5. CTS(22)---GMS认证-Android8.x新增cts测试(VTS下测试GSI版本)

    GMS认证-Android8.x新增cts测试(VTS下测试GSI版本) 2 https://www.jianshu.com/p/3b1fbefc93ae GMS认证-Android8.x新增cts测 ...

  6. 未过GMS认证和CTS测试的ODM厂商如何使用google play

    Google play store为了扩大自己的市场占有率,会让各大odm厂商预置GMS套件,但是前提是合法,即需要通过GMS认证,当然,未过认证的设备,在使用Google play store时,会 ...

  7. Android 装置CTS与GMS认证差异

    合格的Android智慧型手机必须经过CTS与GMS认证. 不过, 坊间白牌或山寨品牌Android智慧型手机往往不是完全没认证, 就是只有CTS认证但无GMS认证. CTS与GMS认证两者有何差异? ...

  8. Google GMS认证测试几个名词

    名词 全称 说明 GMS 全称为Google Mobile Service 即谷歌移动服务. CTS  全称为Compatibility Test Suite 意思就是兼容性测试,用于测试App和fr ...

  9. GMS认证-Android VTS测试

    GMS认证-Android VTS测试 Darkt 关注 2018.01.22 21:17* 字数 1021 阅读 649评论 6喜欢 4 1.VTS简介 VTS的全称是 Vendor Test Su ...

最新文章

  1. java 异步返回_在Java中使用异步后,主方法如何返回异步中得到的值?
  2. 解析RecyclerView的缓存机制
  3. because the following virtual functions are pure within
  4. linux下c代码调用.so,Linux下C程序调用.so(动态链)的一个例子
  5. 创意沙雕黑色蝙蝠侠/小丑动态404页面源码
  6. 机器学习面试之偏差方差
  7. 英语总结系列(十八):六月一波三折的英语
  8. linux 基础 —— 网络管理
  9. uni-app 获取当前的一周的年月日
  10. 0xbc指令 st75256_HGO2401603初始化代码ST75256驱动程序
  11. 【Linux 】内核签名(签名内核模块)、linux 驱动签名、安装特定版本的 kernel-devel...
  12. nginx自定义404错误页面
  13. 斯坦福cs231n作业数据集下载
  14. CubeMX STM32串口1DMA使用IDLE中断接收、串口2DMA接收DMX512信号(标准)
  15. 51单片机最小系统的制作和程序烧录
  16. 改进YOLO系列 | ICLR2022 | OMNI-DIMENSIONAL DYNAMIC CONVOLUTION: 全维动态卷积
  17. 仿36氪(iOS版附源代码)
  18. matlab怎么输出图像文件夹,Matlab读取图片 显示和保存图像的相关操作
  19. macd的python代码同花顺_同花顺顶级MACD指标公式源码-同花顺公式 -程序化交易(CXH99.COM)...
  20. 基于matlab车牌识别程序,基于MATLAB车牌识别系统设计

热门文章

  1. 声呐直线阵正交混频实验(HEU信息与信号处理创新实践项目一)
  2. 免费开源的工程师项目管理系统
  3. 顶级白嫖!!!八个python免费自学网站一周搞定python(抓紧收藏)
  4. Python爬取URP教务系统课程表并保存到excel
  5. python的拼音_Python返回汉字的汉语拼音(原创) | 学步园
  6. 全球与中国大麻化妆品市场深度研究分析报告
  7. 飞桨OCR打标、训练、预测、部署全流程
  8. c语言中,偷机取巧,输出超市购物小票的票头
  9. 华为静态路由及默认路由的配置
  10. 使用c语言编程首先要新建,【C语言编程入门系列】—— 第三章,编写第一个C语言程序!...