CTS 源码分析(一)--CTS概况

CTS 源码分析(一)  --CTS概况

  

1、什么是CTS?
  
   Compatibility Test Suite 兼容性测试套件

说白了,就是一套工具。一套软件组成的测试工具。

2、哪里有这套工具?   
     http://source.android.com/compatibility/download s.html

     什么?要?关于这个问题请自己解决,本人不负责推销VPN,不负责解决自己刷路由器的刷机问题,不负责有关的一切问题,一切自己搞定。

3、如何下载?

     什么,下载都不会?那我帮不了你了。但是我会给点提示。进入网页之后,你会发现很多可以下载的内容。比如首先弄清楚你用的安卓版本,从Android 1.6 到 Android 6.0,这个可以弄清楚吧。
    进入对应版本位置后,发现有几个需要下载的,
      a、CDD,这个是兼容性定义文档,如果你是项目经理或者领导,需要在产品确认是否需要拿谷歌CTS认证之前看一下,这个就是对手机机器的基本要求,当然还有安卓电视,安卓手表,安卓平板....的产品定义要求,技术人员看看就好了,没有什么技术内容,都是规定。
     b、再一个问题就是手机芯片是ARM还是X86的,一定要弄清楚,下载对应版本的对应手机芯片的文件就两个,比如下载Android 5.1的 Arm芯片的测试工具套件就是 Android 5.1 R1 Compatibility Test Suite(CTS)-ARM 和Android 5.1 R1 CTS Verifier-x86两个文件包,我们一般简称是CTS和CTSV。
    c、大家还需要注意个问题,就是R后面的数字非常重要,因为谷歌在不停的改动,所以隔一段时间这个R后面的数字就会变化,最初一般都只有R1-R4的变化,后来都增加到R7了。那么我们怎么选择R的版本呢?这个需要和谷歌认证机构确认,什么版本的GMS包对应什么版本的CTS和CTSV测试工具。GMS包我们待会会讲。
    d、接着我们还需要下载一些东西,那就是CTS媒体文件(CTS Media Files),这个是测试用例中需要的资源文件,说白了,就是一堆不同格式的视频和音频文件。原来CTS  媒体文件就一个,现在谷歌又有改动,媒体文件增加到三个,我实际使用中并未发现什么区别,可能后面版本有些附加文件,我们并没有用到,如果怕有问题,反正就用最新版本吧。

4、 什么是GMS包?
   GMS全称为Google Mobile Service,即谷歌移动服务
   
    谷歌移动服务是什么?实现谷歌移动服务的应用集合包。官腔少说,主要就是一堆谷歌的APK,什么翡翠白玉汤,就是一堆大萝卜。

5、什么是谷歌授权?
   安卓是开源的,安卓是免费的,但是,重要的是但是,GMS包是要收钱的。
   有人说,我自己网上下载安装谷歌市场APK,不是免费的吗?是的,是免费的,但是GMS包对普通人保密,不对公司免费,除了保密这里面还有一个技术问题,GMS整包是不能在机器没有预制的情况下安装的,因为有些代码修改,即使某些单独的APK可以安装,但是也容易产生一些问题。

6、CTS和GMS,你概念清楚了吗? 
     •CTS包 –测试工具集,运行在电脑中
     •GMS包 –谷歌应用集,运行在手机 平板 电视 中
 
谷歌GMS认证和CTS认证这两种说法有时混用

7、全体工具其实有三个(有些内容我们就不讲了,反正谷歌现在都没有用到第四个工具,第四项不过也可以拿认证)
   刚才我们已经下载了两个工具,其实还有一个工具,就是GTS工具,这个工具就是在厂家给了钱给谷歌后,谷歌才会将GTS工具的下载网址给厂家
       1、CTS测试工具(测试系统兼容性)
       2、CTS Verifier测试工具(自动测试无法实现的使用手动测试的工具)
       3、GTS 测试工具 Google Mobile Services Test Suite (GTS)


8、 CTS测试和认证的目的
   •用户需要多样的手机,但希望应用兼容
   •第三方开发者需要兼容的系统
   •保证开发的应用在所有兼容 Android的设备上正常运行
   •基本原理就是利用测试APK调用对应的系统接口,保证系统对应接口按照谷歌的要求返回对应的值。
    •其实还有一个目的,谷歌可以收钱啦,凡是通过认证测试的机器都可以打上谷歌安卓的指定LOGO,这样可以忽悠大家,这个机器可是谷歌认证的,好东西啊,呵呵。

9、CTS的基本架构


10、看完了架构,就知道大概的情况了,就是手机和电脑用数据线连接上,CTS工具在电脑上跑,手机中集成对应的GMS包,这就是CTS测试基本情况。



 


 

你可能感兴趣的:(android_CTS)