先日, AndroidのCTS(Compatibility Test Suite)を試す必要に迫られ, CTSの実行環境を構築したのでまとめておく.

CPU : Intel(R) Core(TM) i7-2600K@3.4GHz
OS : Windows 8.1 Pro(64bit)
RAM : 8.0GB
Guest OS : Ubuntu 14.04(64bit) on VMware(R) Player 6.0.3

1. CTS概要[1]
 CTSは, Google社がAndroid Platformを採用する端末に実施を義務付けているTest群である.
Google社は, Android Marketで配布されるアプリケーションが, どのOEMのAndroid端末でもスムーズに利用可能なように, 主要な公開APIを実行し, チェックさせることで, 互換性を保っている.

2. CTS環境構築
2.1 CTSファイルのダウンロード
 ここからターゲット端末のOSバージョン用のCTSファイルをダウンロードする.
 ・バージョン依存ファイル
   - Android x.x Rx Compatibility Test Suite(CTS)
 ・共通ファイル
   - Compatibility Test Suite (CTS) Users Manual
   - CTS Media 1.0

2.2 環境設定
 1) JDK6の確認
   CTSテストを実行するにはOracleのJDK6が必要となる.
   java version 1.6がインストールされていない場合, webup8というサイトからダウンロードしインストールする.
    $ sudo add-apt-repository ppa:webupd8team/java
    $ sudo apt-get update
    $ sudo apt-get install oracle-java6-installer
 2) Android Debug Bridgeの確認
   CTSテストを実行するにはAndroid Debug Bridge(adb)が必要となる.
   adbがインストールされていない場合, Android SDKをダウンロードしてadbが利用できるように環境変数を設定する.
   例) export ANDROID_SDK_ROOT=~/tools/adt-bundle-linux-x86_64-20140702/sdk
      export PATH=$PATH:$ANDROID_SDK_ROOT/platform-tools
 3) ダウンロードファイルの解凍
   - CTSファイルを解凍する
    例) ~/tools/android-cts
   - CTS Mediaファイルを解凍する
    例) ~/tools/android-cts-media



3. テスト実行[2]
3.1 実行準備
 1) デバイスにSDカードスロットがある場合には, 空のSDカードを挿入する.
 2) タブレット内のすべてのデータを消去する.
   (Settings > Backup & Reset > Factory data reset)
 3) 言語をEnglish(United States)に設定する.
   (Settings > Language & Input > Language)
 4) 位置(情報取得)をONに設定する.
   (Settings > Location)
 5) WiFiをONにして, ネットワークに接続する.
   (Settings > WiFi)
 6) スクリーンロックなしに設定する.
   (Settings > Security > Screen Lock = 'None')
 7) "USB Debugging"開発オプションにチェックを入れる.
   (Settings > Developer options > USB Debugging)
 8) デバイスをホストPCに接続し, RSA fingerprintの確認ダイアログが表示されたら, このPCからのUSBデバッグを常に許可するようにする.
 9) スリープモードにしないにチェックを入れる.
   (Settings > Developer options > Stay Awake)
10) 疑似ロケーションを許可にチェックを入れる.
   (Settings > Developer options > Allow mock locations)
11) CTS 2.1 R2~4.2 R4 :
   android-cts/repository/testcaes/CtsDelegatingAccessibilityServer.apkをインストールし, Delegating Accessibility Serviceを有効にする.
   (Settings > Accessibility > Delegating Accessibility Service)
12) CTS 2.3 R4以降 :
   android-cts/repository/testcases/CtsDeviceAdmin.apkをインストールし, android.deviceadmin.cts.*をすべて有効にする.
   (Settings > Security > Device administrators)
13) CTS 2.3 R12以降 : 
   CTSメディアデータをデバイスにコピーする.
注) 設定のメニュー階層はバージョンによって異なる場合がある.

3.2 実行
 1) CTSプログラムを起動する.
   ~/tools$ ./android-cts/tools/cts-tradefed
   09-21 00:33:55 I/: Detected new device 0123456789ABCDEF
   Android CTS 4.4_r4
   cts-tf >
 2) テストプランを実行する. 進捗状況や結果は画面に表示される.
   cts-tf > run cts --plan CTS
 3) テストが終了すると, android-cts/repository/results/testResult.xmlに結果が出力される.

CTSのテスト項目は~18,000あり, すべてをテストするにはかなりの時間がかかりそうである.

まずは手持ちの端末で試してみるか...

----
参照URL:
 [1] Android Compatibility | Android Developers
 [2] Compatibility Test Suite (CTS) Users Manual