CTS、CTS Verify、GTS测试以及GMS认证
目录
- 一、一些概念
- 二、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认证目的
- 提高产品android系统的兼容性和稳定性
- 授权Google的手机APP和服务
- 授权使用Android LOGO
- 产品可以进入欧美市场
2.3 GMS认证要求
- 必须申请与Google签署MADA协议(网站操作)
- 产品必须使用7.0以上的安卓版本
- 产品必须依次通过CTS测试、CTS Verify测试以及GTS测试
- 产品还可以通过CE、FCC、BT以及WIFI等硬件认证(这一部分不是GMS认证的硬性指标)
2.4 GMS认证流程
- 申请谷歌MADA协议
- 产品做硬件测试
- 提交测试报告给谷歌审核
- 获得谷歌认证授权
2.5 MADA协议申请流程
三、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 Verify、Android Compatibility Defination Document(CDD)、Compatibility Test Suite(CTS) User Manual、CTS 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 测试准备工作
- 下载需要进行测试的软件版本(ROM)
- 插入可用的SIM卡(双开手机,需确保卡1有sim卡)
- 写入合法的IMEI号(手机的身份证,每一个手机都会有唯一的一个IMEI号)
- 连接一个可翻墙的WIFI网络(可以使用香港专线,网络比较稳定)
3.5.3 手机端配置
- 手机恢复出厂设置
- 手机语言设置为英语
- 手机需常亮并取消锁屏
- 开启GPS
- 开启USB调试后勾选stay awake和allow mock location
- 安装CtsDeviceAdmin.apk(位于android-cts/repository/testcases),进入setting->security->device administrators的前两项
- 确保手机SD卡有>1G的存储空间
- 确保手机没有谷歌账号或其他账号存在
- 确保手机时间和日期设置正确(连接数据后,会自动更新时间,时区选择默认时区)
…(其余在CDD文档中有定义)
3.5 CTS测试流程
- 手机和PC连接,打开USB调试模式,用adb devices检查是否连接好手机
- 在/data进入android-cts/tools/目录,执行cts-tradefed脚本进入测试环境
- 在测试环境中输入以下命令进行整体测试
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 手机环境准备
- 刷好GMS版本的ROM包
- 恢复手机出厂设置
- 设置手机、连接外网
- 插入SIM卡,打开移动数据
- 打开蓝牙
- 显示中睡眠时间显示最大
- 竖屏
- 语言选择英语
- 键盘选择谷歌键盘
- 打开定位、高精度
- 安全中锁屏选择None
- 时间将自动获取时间和日期关闭,选择太平洋时区、24小时制
- 在开发者模式中打开stay awake和USB debugging
4.3.2 执行GTS测试
- 开始全部GTS测试
run gts --plan GTS
- 单跑某一模块的GTS测试
run gts -plan 'Module Name' -t 'class name'
- 接着某一次中断的gts测试跑
run gts --retry session_id
其中session_id可由lr查看
4.4 GTS测试结果展示
五、获取GMS认证
通过GMS认证后,就可以申请到一个GMS的APK的包,可以将这些谷歌应用集成到手机系统里面。通过GMS认证的手机,可以在Googie play中看到如下内容:
CTS、CTS Verify、GTS测试以及GMS认证相关推荐
- CTS、CTS Verify、GTS测试以及GMS认证介绍
一.一些概念 ① CTS测试 以自动化测试为基础,测试Android系统的兼容性: ② CTS Verify 一个手工测试的apk,完成自动化测试无法完成的操作(锁屏.蓝牙.摄像头等): ③ GTS ...
- QA:GMS认证、CTS测试、GTS测试、谷歌认证、安卓认证,Android
本文954个字,正常大约需要阅读两到三分钟,完整阅读更精彩,欢迎评论关注收藏分享! Q:什么是GMS认证? A: GMS全称为Google Mobile Service,即谷歌移动服务,优秀的国外应用 ...
- CTS ( 19)---Android 8.1/GO GMS认证
Android 8.1/GO GMS认证 一.2018年最新的GMS需提供5份测试报告,其中包括以下测试: 1.正式版本的CTS测试 (正式版本指的是要拿来送认证的的版本) 2.正式版本的CtsVe ...
- CTS(10)---谷歌CTS测试之Verify简介
谷歌CTS测试之Verify简介 测试前的准备 2 硬件要求 2 设置 2 CTS 验证程序测试程序 3 具体测试要求 5 USB 配件 5 相机视野校准 8 导出测试报告 10 Android 兼容 ...
- 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测 ...
- 未过GMS认证和CTS测试的ODM厂商如何使用google play
Google play store为了扩大自己的市场占有率,会让各大odm厂商预置GMS套件,但是前提是合法,即需要通过GMS认证,当然,未过认证的设备,在使用Google play store时,会 ...
- Android 装置CTS与GMS认证差异
合格的Android智慧型手机必须经过CTS与GMS认证. 不过, 坊间白牌或山寨品牌Android智慧型手机往往不是完全没认证, 就是只有CTS认证但无GMS认证. CTS与GMS认证两者有何差异? ...
- Google GMS认证测试几个名词
名词 全称 说明 GMS 全称为Google Mobile Service 即谷歌移动服务. CTS 全称为Compatibility Test Suite 意思就是兼容性测试,用于测试App和fr ...
- GMS认证-Android VTS测试
GMS认证-Android VTS测试 Darkt 关注 2018.01.22 21:17* 字数 1021 阅读 649评论 6喜欢 4 1.VTS简介 VTS的全称是 Vendor Test Su ...
最新文章
- java 异步返回_在Java中使用异步后,主方法如何返回异步中得到的值?
- 解析RecyclerView的缓存机制
- because the following virtual functions are pure within
- linux下c代码调用.so,Linux下C程序调用.so(动态链)的一个例子
- 创意沙雕黑色蝙蝠侠/小丑动态404页面源码
- 机器学习面试之偏差方差
- 英语总结系列(十八):六月一波三折的英语
- linux 基础 —— 网络管理
- uni-app 获取当前的一周的年月日
- 0xbc指令 st75256_HGO2401603初始化代码ST75256驱动程序
- 【Linux 】内核签名(签名内核模块)、linux 驱动签名、安装特定版本的 kernel-devel...
- nginx自定义404错误页面
- 斯坦福cs231n作业数据集下载
- CubeMX STM32串口1DMA使用IDLE中断接收、串口2DMA接收DMX512信号(标准)
- 51单片机最小系统的制作和程序烧录
- 改进YOLO系列 | ICLR2022 | OMNI-DIMENSIONAL DYNAMIC CONVOLUTION: 全维动态卷积
- 仿36氪(iOS版附源代码)
- matlab怎么输出图像文件夹,Matlab读取图片 显示和保存图像的相关操作
- macd的python代码同花顺_同花顺顶级MACD指标公式源码-同花顺公式 -程序化交易(CXH99.COM)...
- 基于matlab车牌识别程序,基于MATLAB车牌识别系统设计
热门文章
- 声呐直线阵正交混频实验(HEU信息与信号处理创新实践项目一)
- 免费开源的工程师项目管理系统
- 顶级白嫖!!!八个python免费自学网站一周搞定python(抓紧收藏)
- Python爬取URP教务系统课程表并保存到excel
- python的拼音_Python返回汉字的汉语拼音(原创) | 学步园
- 全球与中国大麻化妆品市场深度研究分析报告
- 飞桨OCR打标、训练、预测、部署全流程
- c语言中,偷机取巧,输出超市购物小票的票头
- 华为静态路由及默认路由的配置
- 使用c语言编程首先要新建,【C语言编程入门系列】—— 第三章,编写第一个C语言程序!...