⼿机⼤⼚必备测试技能-GMS认证
GMS认证背景
"墙"内的⼩伙伴可能很少会⽤到这样的服务,但是⽼外可就不同了,如果你的⼿机要在欧洲/美国市场卖就必须要要内置GMS,因为国外的⼿机销售渠道和国内的不同,国内可以在各⼤电商平台/实体店买到“裸机”--不绑定运营商的套餐这种。但是国外的情况的就不同,绝⼤部分的⼿机销售渠道都是⾛的运营商,⽽且运营商强制规定必须要在搭载Android系统的⼿机上内置GMS,否则就不给你卖。
⽽要在⼿机中内置GMS,必须要通过GMS认证。
Google为什么要强制性要求?
Google是⼀家商业公司,主要靠⼴告业务赚钱,内置的⾃家的这么多个App,各种⼴告嵌⼊、弹窗,所以这才是其⽬的所在。
⽽对于国内⼀众⼿机⼤⼚⽽⾔,要扩⼤⾃⼰的市场份额,⾛向国际市场,GMS认证是其基础。
GMS认证⽬的&要求
GMS认证主要⽬的:
提升产品Android系统的兼容性和稳定性;
授权使⽤Google的⼿机APP和服务;
授权使⽤Android LOGO;
产品可以进⼊欧美的⼤卖场。
GMS认证的要求:
必须申请与GOOGLE签署MADA协议
产品必须使⽤7.0以上的安卓版本才可以进⾏认证;
产品必须能通过CTS测试;
产品必须通通过CTS Verifier测试;
产品必须能通过GTS测试;
产品有义务通过CE,FCC,BT,WIFI等硬件认证。(⾮硬性指标)
何为MADA协议?
MADA协议全称:Mobile Application Distribution Agreement,中⽂名称是:移动应⽤软件分发协议,是⾕歌跟使⽤Android系统的⼚商签定的⼀个协议。根据这项协议,⼿机⼚商在推出采⽤Android系统的设备前,必须预装所有的Google应⽤,⽽且要把Google Search、Google Play放在⼿机的⾸屏⾥,并以Google Search作为默认的搜索引擎。
其实说⽩了就是:你要出⼝到国外赚钱->必须要内置GMS->要签属MADA协议(要Google我同意才可以)
此链接是⽬前有和Google签属了MADA协议的成员(需FQ)
何为CTS Verifier?
⽽CTS Verifier是CTS测试的补充部分,专门针对于⼀些⽆法⾃动化测试的场景⽽准备的⼿⼯测试,⽐如⽐如相机、传感器等,其本⾝就是⼀个APK⽂件,测试的时候推送到设备端⼿动⼀⼀执⾏即可:
GTS测试
GTS的全称是Google Mobile Services Test Suite,所谓的Google Mobile Services即⾕歌移动服务,是⾕歌开发并推动Android的动⼒,也是Android系统的灵魂所在。
GMS⽬前提供有Search、Search by Voice、Gmail、Contact Sync、Calendar Sync、Talk、Maps、Street View、YouTube、Android Market (Play store)等服务。
安卓手机恢复出厂设置当⽤户使⽤⾕歌的时候,⾕歌可以把⼴告嵌⼊各种⾕歌的服务中。
依据GMS,⾕歌对android⼿机给予不同程度的授权,把搭载Android系统的⼿机⼚商分为三个级别:
1. ⼿机可以免费使⽤Android,但不内置GMS,⽐如国内的⼿机
2. 内置⼀部分GMS服务,但⼿机不能打上Google商标,⽐如⼀些⼭寨机
3. 内置所有的GMS服务,可以使⽤Google商标。
GTS的环境安装、执⾏、报告分析这⼀系列操作跟CTS类似,只是GTS必须连接VPN。GTS测试流程
⼿机设置:
刷好GMS版本的ROM包
恢复出⼚设置
设置⼿机:连接外⽹;
插⼊sim卡,打开移动数据;
打开蓝⽛;
显⽰中睡眠时间选择最⼤;
竖屏;
语⾔US;
键盘google键盘;
打开定位,⾼精度;
安全中锁屏选择None;
时间将⾃动定⽇期和时间关闭,选择太平洋时区,24⼩时制打开
开发者模式中打开stay awake和USB debugging
执⾏测试:
在GTS测试⽬录下,执⾏./tools/gts-tradefed,进⼊指令界⾯,准备GTS测试
执⾏如下命令,开始GTS测试
run gts --plan GTS
单跑模块:
run gts -m “Module Name”-t “class name”
接着跑某⼀次测试:
run gts --retry session id
(session id可以由l r查看)
GTS测试结果
当全部测试通过之后,提交给Google,Google会给产品打⼀个标记“已认证”: