GMS认证背景

在之前的一篇文章有给各位小伙伴们科普过关于GMS的作用,http://www.lemfix.com/topics/266

"墙"内的小伙伴可能很少会用到这样的服务,但是老外可就不同了,如果你的手机要在欧洲/美国市场卖就必须要要内置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)

https://www.android.com/certified/partners/

何为CTS Verifier?

之前有写了一篇关于CTS测试的文章http://www.lemfix.com/topics/981 ,介绍了CTS测试是为了确保设备的兼容性的自动化测试。

而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会给产品打一个标记“已认证”:

手机大厂必备测试技能-GMS 认证的更多相关文章

  1. GMS认证测试FQA

    ---摘要 本文档用于收录GMS认证测试的异常问题,提供一般性指导.对于本文档中未提供解答的问题请咨询@开发经理或@领域技术专家 cts测试工具如何获取? A:见Google官网 https://so ...

  2. 跟上节奏 大数据时代十大必备IT技能

    跟上节奏 大数据时代十大必备IT技能 新的想法诞生新的技术,从而造出许多新词,云计算.大数据.BYOD.社交媒体……在互联网时代,各种新词层出不穷,让人应接不暇.这些新的技术,这些新兴应用和对应的IT ...

  3. 前端必备HTTP技能之HTTP请求头响应头中常用字段详解(转)

    作为一名前端开发人员,肯定少不了要和网络打交道,因为要从服务器端拉取数据,从服务端获取数据最常用的方式还是通过HTTP请求.给服务器发请求的时候有请求头,接受服务器响应的时候有响应头,客户端和服务器端 ...

  4. 关于申请GMS认证来使用谷歌的一些服务应用及闭源API

    房间内的主要大象正在获取Google移动服务(GMS)的许可证.这是指预先选择的谷歌应用程序阵列,它将谷歌本身的精髓包含在其配置中 -  Google搜索,YouTube,Gmail,Chrome,G ...

  5. android之GMS认证

    来到了新的公司,才知道做手机是须要做GMS认证的.于是从一个从没有做过GMS认证的小白到一个月做了8个项目的GMS认证.最后.自己都是吐了.每天晚上都是一个人傻傻在加班.更是知道了高通的支持力度让人发 ...

  6. 手机客户端UI测试常见的测试点

    1.各种分辨率下,显示正常.现市场上主流的塞班V3系统手机为240*320.320*240.WM系统主要为240*320.320*480.Android系统主要为320*480,Iphone系统为32 ...

  7. HBuilder连接IOS手机打开APP测试

    HBuilder是专为前端打造的开发工具,具有最全的语法库和浏览器兼容数据,以方便制作手机APP,最保护眼睛的绿柔设计等优点在近几年盛行: 开发移动端APP项目想要在手机真机上测试: 首先打开HBui ...

  8. 手机App安全性测试初探

    目前手机App测试还是以发现bug为主,主要测试流程就是服务器接口测试,客户端功能性覆盖,以及自动化配合的性能,适配,压测等,对于App安全性测试貌似没有系统全面统一的标准和流程,其实安全性bug也可 ...

  9. iOS 11开发教程(十)iOS11无线连接手机真机测试

    iOS 11开发教程(十)iOS11无线连接手机真机测试 在Xcode 9.0中,已经可以通过无线连接手机进行真机测试了.具体的操作步骤如下: (1)首先需要使用数据线将手机连接到苹果电脑上. (2) ...

随机推荐

  1. 安装Gitlab到Ubuntu(APT)

    运行环境 系统版本:Ubuntu 16.04.6 LTS 软件版本:Gitlab-ce-11.10.1 硬件要求:最低2核4GB,建议4核8GB 安装过程 1.安装依赖 root@localhost: ...

  2. CodingPlus Blog Update Info

    CodingPlus更新啦! 我就是记录一下!您想知道现在的博客是第几代的吗?您想知道CodingPlus博客的发展历程吗?来,让我们一起看看! V3.5 最新版了! V3.5.0 很多人看到自然觉得 ...

  3. Linux系统目录结构和常用目录主要存放内容的说明

    目录结构图 常用目录 /: 根目录 一般根目录下只存放目录,在 linux 下有且只有一个根目录,所有的东西都是从这里开始 当在终端里输入 /home,其实是在告诉电脑,先从 /(根目录)开始,再进入 ...

  4. Python机器学习及实践 课后小题

    目录 第二章 2.3章末小结 @(Python机器学习及实践-----从零开始通往Kaggle竞赛之路) 第二章 2.3章末小结 1 机器学习模型按照使用的数据类型,可分为监督学习和无监督学习两大类. ...

  5. windows下web端测试环境搭建(tomcat+oracle)

    一.安装oracle数据库 1.关闭防火墙.360安全卫士,运行安装程序:Setup.exe,然后下一步...... 2.安装完成后,检查服务是否已启动 3.cmd输入验证登录成功:sqlplus s ...

  6. BLE直接Data channel抓包方法汇总

    之前一致在做一些有关与BLE安全研究的“基础设施建设”工作,我们知道,在BLE进入跳频之后,所有的固定标志都会消失,但是是不是意味着没办法了?不是的.我会提出一些恢复出来的方法. 首先,前导码分析,B ...

  7. ansi sql 语法 切换为 oracle 语法

        语句粘贴到 工作表 打开查询构建器 勾选 创建oracle连接 over     sql dev 的语法设置调整,否则表别名会右对齐   下面是 转换后的结果,是不是看得舒服多了

  8. gtid环境下mysqldump对于set-gtid-purged的取值

    gtid环境备份的时候,还在为set-gtid-purged=0|1的选择而烦恼吗,一起来分析一下. [mysql@lxd-vm1@/home/mysql]$ mysqldump --help | g ...

  9. ECMAScript基本语法——⑥流程控制语句

    if...else...switch...case... 在java中能接收的数据类型:byte .short.char.int.枚举类型(JDK5.0新增).String类型(JDK7.0新增) s ...

  10. Android Studio阶段性学习总结_1

    这半个月一直在学习Android方面的知识,对Android开发有了一个基本的认识,学会了Android studio的基本操作. 在建立第一个Android studio项目时,我遇到了很大的阻碍, ...