Android 互換性テストスイート検証ツール(CTS 検証ツール)は互換性テストスイート(CTS)を補完するものです。CTS は自動化できる API や機能をチェックするのに対して、CTS 検証ツールを使用すると、手動の入力がない固定されたデバイスではテストできない API と機能をテストできます(たとえば、音質、タッチスクリーン、加速度計、カメラなど)。
要件
CTS 検証ツールを実行する前に、次の機器があることを確認してください。
- CTS に合格して Android API の互換性が確認された Android デバイス。これはテスト対象デバイス(DUT)です。
- USB 2.0 対応ポートを備えた Linux パソコン。DUT へのすべての接続は、このポートを使用します。
- 互換性のある Bluetooth、Wi-Fi ダイレクト、NFC ホストカード エミュレーション(HCE)を実装している 2 台目の Android デバイス。
- アクセス ポイント名とパスワードが設定された Wi-Fi ルーター。ルーターには、電源をオフにせずにインターネットから切断する機能が必要です。
セットアップ
次のようにして、CTS 検証ツールのテスト環境をセットアップします。
- Linux パソコンで次の作業を行います。
- Android Studio をインストールします。
- テストする Android のバージョンに対応する CTS 検証ツールの APK をダウンロードします。
- DUT を Linux パソコンに接続します。
- Linux パソコンのターミナルから、DUT に
CtsVerifier.apk
をインストールします。adb install -r -g CtsVerifier.apk
- Android 10 以降の場合、次のコマンドを実行して、アプリにレポートを作成する許可を付与します。
adb shell appops set com.android.cts.verifier android:read_device_identifiers allow
- DUT のシステムの日付と日時が正しく設定されていることを確認します。
実行
DUT の CTS 検証ツールアイコンをタップして、CTS 検証ツール アプリケーションを起動します。

手動で検証できる複数のテストセットがアプリに表示されます。

各テストでは、画面の下部に共通のボタン(情報、合格、不合格)が表示されます。

- 情報(?): タップするとテスト手順が表示されます。また、テストを初めて開いたときにも自動的に表示されます。
- 合格(✓): DUT が「情報」で表示された手順に照らしてテスト要件を満たしている場合にタップします。
- 不合格(!): DUT が「情報」で表示された手順に照らしてテスト要件を満たしていない場合にタップします。
USB アクセサリ モードやカメラ較正テストなどの一部のテストには、次のセクションで説明する追加のセットアップと手順が必要です。
8.0 以降での USB アクセサリ モードのテスト


7.x 以前での USB アクセサリ モードのテスト
USB アクセサリ テストを行うには、USB デスクトップ マシン(ホスト)プログラムを実行する Linux パソコンが必要です。
- DUT を Linux パソコンに接続します。
- パソコンで、CTS 検証ツール パッケージから
cts-usb-accessory
プログラムを実行します。./cts-usb-accessory
- ポップアップ メッセージが DUT に表示されるのを待ってから、[OK] を選択します。
図 6: USB アクセサリ テスト - DUT の CTS 検証ツール アプリケーションで USB アクセサリ テストに進みます。
- パソコンで、コンソールからの出力を確認します。出力例:
CTS USB Accessory Tester Found possible Android device (413c:2106) - attempting to switch to accessory mode... Failed to read protocol versionfigure3 Found Android device in accessory mode (18d1:2d01)... [RECV] Message from Android device #0 [SENT] Message from Android accessory #0 [RECV] Message from Android device #1 [SENT] Message from Android accessory #1 [RECV] Message from Android device #2 [SENT] Message from Android accessory #2 [RECV] Message from Android device #3 [SENT] Message from Android accessory #3 [RECV] Message from Android device #4 [SENT] Message from Android accessory #4 [RECV] Message from Android device #5 [SENT] Message from Android accessory #5 [RECV] Message from Android device #6 [SENT] Message from Android accessory #6 [RECV] Message from Android device #7 [SENT] Message from Android accessory #7 [RECV] Message from Android device #8 [SENT] Message from Android accessory #8 [RECV] Message from Android device #9 [SENT] Message from Android accessory #9 [RECV] Message from Android device #10 [SENT] Message from Android accessory #10
カメラの視野の較正
視野較正手順を使用して、デバイスの視野を適度な精度ですばやく特定します。
- 次のようにして、テスト環境をセットアップします。
- ターゲットのファイル calibration-pattern.pdf を 11x17 インチまたは A3 サイズの用紙に印刷します。
- 印刷されたパターンを硬い裏板に取り付けます。
- 以下のように、カメラデバイスと印刷されたターゲットの方向を合わせます。
図 7: カメラと印刷されたターゲット
- 次のようにして、ターゲットの幅を設定します。
- 印刷の誤差を考慮して、ターゲット パターン上の実線間の距離(cm 単位)を測ります(約 38 cm)。
- 較正アプリケーションを開始します。
- セットアップ ボタンを押し、[Marker distance] を選択します。
- ターゲット パターンまでの距離(約 100 cm)を測定して入力します。
- [戻る] ボタンを押して、較正プレビューに戻ります。
- デバイスとターゲットが図のように配置され、正しい距離がセットアップ ダイアログに入力されていることを確認します。プレビューには、画像に縦線が重なったものが表示されます。この線は、ターゲット パターンの中心線に揃える必要があります。光軸がターゲットと直交するように、透明グリッドを他の縦線を組み合わせて使用できます。
- 次のようにして、較正テストを実行します。
- 左下のセレクタを使用して画像の解像度を選択してから、画面をタップして写真を撮影します。テストは較正モードに入り、2 本の縦線が画像に重なった写真が表示されます。
- 次のようにして、精度を確認します。
- その線とターゲット パターン上の縦線が数 cm 以内の誤差で揃っていれば、表示されている選択した解像度に対する視野は正確です。
- 線が揃っていない場合、表示されている視野は不正確です。これを修正するには、上に重なった線がターゲット パターンにできる限り近くに揃うまで、画面の下のスライダーを調整します。上に重なった線とターゲット パターン画像が揃ったとき、表示された視野は正しい値の良い近似になっています。表示される視野は、較正値の +/-1 度以内になります。
- [戻る] ボタンを押し、DUT でサポートされているすべての画像解像度で較正テストを行います。
結果のエクスポート
すべてのテストが完了すると、結果をレポートとして保存してパソコンにダウンロードできます。レポート名には、DUT のシステム時刻に基づいて自動的にタイムスタンプが付けられます。
- 保存(ディスク)アイコンをタップします。
図 8: CTS 検証ツールの保存アイコン - ポップアップ メッセージに保存されたレポートへのパス(たとえば
/sdcard/verifierReports/ctsVerifierReport-date-time.zip
)が表示されるのを待ち、表示されたらそのパスを記録します。
図 9: CTS 検証ツールの保存されたレポートへのパス - DUT を Linux パソコンに接続します。
- Linux パソコンにインストールした Android SDK から、
adb shell content read
またはadb pull CTSVerifierReportPath
のコマンドを使用して、接続したデバイスからレポートをダウンロードします。- Android 7.x 以降の場合は、次の方法ですべてのレポートをダウンロードします。
adb pull /sdcard/verifierReports
- Android 6.0 以前の場合は、次の方法ですべてのレポートをダウンロードします。
adb pull /mnt/sdcard/ctsVerifierReports/
-
Android 10 以降で、Automotive を実装し、セカンダリ ユーザーで実行中のデバイスの場合は、次のコマンドを使用して最新のレポートをダウンロードします。
adb shell content read --user CURRENT_USER --uri
content://com.android.cts.verifier.testresultsprovider/reports/latest > report.zip接続したデバイスで利用できるすべてのレポートの一覧を表示するには、次のコマンドを実行します。
adb shell content query --user CURRENT_USER --uri
content://com.android.cts.verifier.testresultsprovider/reportsリストからレポートをダウンロードするには、行 ID またはファイル名を指定します。次に例を示します。
adb shell content read --user CURRENT_USER --uri
content://com.android.cts.verifier.testresultsprovider/reports/0 > report.zip
adb shell content read --user CURRENT_USER --uri
content://com.android.cts.verifier.testresultsprovider/reports/ctsVerifierReport-date-time.zip > report.zip
- Android 7.x 以降の場合は、次の方法ですべてのレポートをダウンロードします。
- 合否の結果をクリアするには、CTS 検証ツールアプリで結果を選択し、[Menu] > [Clear] の順に選択します。