1. 程式人生 > >Android 之Google認證GMS詳細解剖

Android 之Google認證GMS詳細解剖

GMS全稱為Google Mobile Service,即谷歌移動服務。GMS是Google開發並推動Android的動力,也是Android系統的靈魂所在。

GMS目前提供有Search、Search by Voice、Gmail、Contact Sync、Calendar Sync、Talk、Maps、Street View、YouTube、Android Market(ICS上更改為Play store)服務。當用戶使用谷歌服務的時候,谷歌可以把廣告嵌入各種谷歌的服務中,比如:使用者在使用谷歌地圖的時候,就能發現搜尋地名關鍵字的廣告。在使用谷歌移動搜尋的時候,不用說,當然也是有廣告的。谷歌其實是拿使用者的注意力來換取廣告主的金錢。而且Android智慧手機作業系統其實也就是谷歌把自己的服務主動放到了手機上,進一步鞏固自己的市場地位。

依據GMS,谷歌對android手機給予不同程度的授權,把搭載Android系統的手機廠商分為三個級別,

1.免費使用Android作業系統,但不內嵌GMS;

2.內嵌部分GMS服務,但手機不能打上谷歌的商標;

3.內嵌所有的GMS服務,也可以使用谷歌商標。如果在android手機中內建有谷歌GMS服務的話,是等同被谷歌官方認證過的產品。

GMS的認證主要是Google為手機廠商進行認證,所以得到認證的主要廠商如下,而與晶片廠商關係不大。目前在市面上,只有少數的手機廠商通過了GMS認證,比如

HTC(巨集達國際電子)-中國臺灣

Samsung Electronics(三星電子)-韓國

Motorola Mobility(摩托羅拉移動技術)-美國

Sony Ericsson(索尼愛立信)-英國

LG Electronics(LG電子)-韓國

Lumigon(丹麥陸力更手機公司)-丹麥

ARCHOS(愛可視)-法國

TOSHIBA(東芝)-日本

而在大陸地區,目前所有行貨手機都不能通過GMS認證。GMS認證並不是想象的那麼容易,谷歌要根據廠商的實力和地區因素來考慮是否認證。對於廠商來說,GMS除了獲得更多的谷歌服務許可權之外,還是拉開品牌區隔度的有效手段,也就是身份證明。由此可見從一個廠商是否通過GMS認證,來簡單的判斷這個廠商的綜合能力。

1.1.1CTS

CTS是Compatibility Test Suite的縮寫,即相容測試,是Google為Android裝置製造商免費提供的相容性測試套件。CTS定義了眾多Android裝置必須滿足的技術指標,以確保每臺通過CTS認證的裝置,都可以順利執行Google Play中出售的軟體。(並不是每個軟體都可以在所有Android裝置上執行,Google Play僅顯示可以執行在該Android裝置上的應用,並且還受到當地法律法規的限制。)

目前CTS只能在Linux環境中執行,在Windows環境中無法使用。有關CTS的文件和測試套件可以在這裡獲得:http://source.android.com/compatibility/downloads.html。

CTS的目的就是讓Android裝置(如:手機)開發商能夠開發出相容性更好的Android裝置。

1.1.2GTS

Google Mobile Services Test Suite (GMS套件測試)是用於GMS應用的測試的自動化的測試套件,包含Google Play Video支援的解析度和位元率的視訊的測試內容,GTS測試需要Android 4.0以上的系統的.其主要內容是widevine(數字版權相關)功能的測試.

1.1.3CAT

CTS Audio Quality Verifier Test,是對機器錄音放音的音質測試

1.1.4CTS Verifier

手動測試軟體,google提供的一系列軟體測試來檢測系統的穩定性.CTSVerifier算是CTS的一部分,需要手動進行,主要用於測試那些自動測試系統無法測試的功能,比如相機拍照質量、感測器的感知結果等。CTSVerifier會測試許多硬體,測試項會因裝置支援的硬體種類多少而不同。它會自動檢測裝置支援哪些硬體,從而生成測試項。如某裝置硬體支援NFC,將會有NFC相關的測試項,否則,就沒有這些測試項。所以裝置必須全部通過CTSVerifier中的各項測試。

目前CTSVerifier在公司可放在最後一個階段,就是所有的CTS自動測試全部pass之後,再進行CTSVerifier測試。

1.1硬體裝置

主流中端配置的PC電腦,待測試的Android裝置,無線路由器

1.2軟體環境

Ubuntu作業系統,可以連線youtube等國外網站的網路(香港專線,VPN)

Ubuntu系統安裝(略)

Java6 / OpenJDK 1.7

ADB Driver