1. 程式人生 > >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測試基本情況。