使用 CTS Verifier

Android Compatibility Test Suite 驗證器 (CTS Verifier) 可以補充 Compatibility Test Suite (CTS)。雖然 CTS 會檢查 而 CTS Verifier 會針對無法執行的作業, 在未手動輸入或定位的情況下,於靜息裝置上進行測試,例如音訊 品質、觸控螢幕、加速計和相機

需求條件

執行 CTS Verifier 前,請確認您具備下列設備:

  • 已成功驗證 Android API 相容性的 Android 裝置 傳遞 CTS這是測試中的裝置 (DUT)。
  • 採用 USB 2.0 相容連接埠的 Linux 電腦。所有連至 DUT 的連線 通過這個連接埠
  • 第二部搭載已知相容藍牙、Wi-Fi Direct 和 Wi-Fi 的 Android 裝置 Aware、UWB (如果 DUT 支援 UWB) 和 NFC 主機卡片模擬 (HCE) 。
  • 已設定存取點名稱和密碼的 Wi-Fi 路由器。路由器 應該可以中斷網路連線,但不需電源 關閉。

請務必備妥三腳架、裝置架和預先測量 UWB 測試測量距離 (鄰近) 所需的距離 Wi-Fi NAN 和 Bluetooth RSSI。詳情請參閱 所在地校正

NFC 測試的 UICC 需求

CTS 驗證器包含下列 NFC 測試案例:

  • 欄位停用 (使用 0x54 的交易資料)
  • 取消選取 (使用 0x52 的交易資料)
  • HCI 指令 (0025000000) (使用 0x02 的交易資料)

交易事件測試需要兩台裝置,其中一部裝置必須 包含以下存取規則的 SecureElement UICC:

  • CtsVerifier APK 雜湊:61:ED:37:7E:85:D3:86:A8:DF:EE:6B:86:4B:D8:5B:0B:FA:A5:AF:81
  • NFC 事件存取的授權應用程式 ID (AID):0xA000000476416E64726F696443545341

在模擬器端,我們預期交易事件會推送對應的 進入前景。

設定

將測試裝置的系統操作模式變更為三按鈕模式, 如下:

  1. 開啟「設定」。
  2. 前往「系統」>手勢 >系統操作機制
  3. 選取任何按鈕式操作模式,建議使用三按鈕模式 (如果有的話) 廣告。
,瞭解如何調查及移除這項存取權。

如要設定 CTS Verifier 測試環境:

  1. 在 Linux 電腦上:

    • 安裝 CTS Verifier 前執行下列指令,以允許 非 SDK 介面的存取權。

      adb shell settings put global hidden_api_policy 1
      
    • 安裝 Android Studio

    • 下載 CTS Verifier APK: 要測試的 Android 版本

  2. 將 DUT 連接到 Linux 電腦。

  3. 從 Linux 電腦上的終端機中,在 DUT 上安裝 CtsVerifier.apk

    adb install -r -g CtsVerifier.apk
    
  4. 如果是 Android 10 以上版本,請執行下列指令: ,向應用程式授予建立報表的權限。

    adb shell appops set com.android.cts.verifier android:read_device_identifiers allow
    
  5. 如果是 Android 11 以上版本,請執行下列指令: 這個範本,讓報表可以儲存在 裝置的外部頂層目錄

    adb shell appops set com.android.cts.verifier MANAGE_EXTERNAL_STORAGE 0
    
  6. 如果是 Android 13 以上版本,請執行下列指令: 指令允許測試 CTS Verifier 的 API 存取權。

    adb shell am compat enable ALLOW_TEST_API_ACCESS com.android.cts.verifier
    
  7. 如果是 Android 14 以上版本,請執行下列指令: 指令,授予應用程式開啟螢幕的權限。

    adb shell appops set com.android.cts.verifier TURN_SCREEN_ON 0
    
  8. 請確認 DUT 的系統日期和時間設定正確無誤。

,瞭解如何調查及移除這項存取權。

執行 CTS Verifier

輕觸 DUT 上的 CTS Verifier 圖示,即可啟動 CTS Verifier 應用程式。

啟動器中的 CTS Verifier 圖示

圖 1. CTS Verifier 圖示

應用程式會顯示多個可供手動驗證的測試集。

CTS Verifier 測試選單

圖 2. CTS Verifier 測試選單

每項測試都包含一組畫面底部的常用元素。

串流影片品質驗證器

圖 3. 醒目顯示常見的測試元素的測試畫面

  • 通過 (✓)。輕觸 DUT 是否符合相關資訊中的測試要求 操作說明。
  • Info (?)。輕觸即可顯示測試操作說明。一併顯示 初次開啟測試時。
  • 失敗 (!)。如果 DUT 不符合資訊中的測試規定,請輕觸 操作說明。
,瞭解如何調查及移除這項存取權。

進行部分測試 (例如 USB 配件模式和相機校正測試) 時, 額外的測試設定和指示,請參閱下列各節的說明。

測試 USB 配件模式 (8.0 以上版本)

CTS 驗證器 USB 配件測試

圖 4. USB 配件測試弧形 (8.0 版和) 高於

CTS 驗證器 USB 配件測試

圖 5. 測試 USB 配件模式 8.0 版和 高於

測試 USB 配件模式 (7.x 以下版本)

USB 配件測試需要 Linux 電腦才能執行 USB 電腦 (主辦人) 程式。

  1. 將 DUT 連接到 Linux 電腦。
  2. 在電腦上從 CTS 執行 cts-usb-accessory 程式 驗證者套件:

    ./cts-usb-accessory
  3. 等待 DUT 顯示彈出式訊息,然後選取「確定」
    CTS 驗證器 USB 配件測試

    圖 6. USB 配件測試

  4. 前往 DUT 上的 CTS Verifier 應用程式中的 USB 配件測試。

  5. 在電腦上查看控制台的輸出內容。輸出內容範例:

    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
    

校正相機視野

使用視野校準程序,快速判斷裝置 而且精確度適中

  1. 設定測試環境:

    1. 列印 calibration-pattern.pdf 目標 11 吋 x 17 吋或 A3 大小的紙張
    2. 將列印的圖案掛接在堅硬的背上。
    3. 將相機裝置與列印的目標定向,如下所示 圖表。
      攝影機列印的目標

      圖 7. 攝影機列印的目標

  2. 設定目標寬度:

    1. 測量上兩條實線之間的距離 (公分) 目標模式,以因應列印失準的情況 (約 38 公分)。
    2. 啟動校正應用程式。
    3. 按下設定按鈕,然後選取「標記距離」
    4. 測量並輸入與目標模式之間的距離 (約 100 公分)。
    5. 按下返回按鈕,即可返回校正預覽畫面。
  3. 確認裝置和指定目標的擺放方式如下圖所示, 正確距離輸入到設定對話方塊中預覽 會顯示有垂直線條的圖片這一行應該 對齊目標模式的中心線透明格線可以 與其他垂直線搭配使用,確保光學軸是 指向目標的直角

  4. 執行校正測試:

    1. 選取圖片解析度 (使用左下方的選取器),然後輕觸 螢幕拍照。測試會進入校正模式,並 會在圖片上重疊顯示兩條垂直線的相片。
    2. 判斷準確度:
      • 如果線條與目標模式上的垂直線對齊 看到這個高度的視野 所選的解析度正確無誤。
      • 如果線條不一致,回報的視野就會不正確。 如要修正此問題,請調整畫面底部的滑桿,直到 疊加層會盡可能與目標模式對齊 當疊加層與目標模式圖片對齊時, 顯示的視野,會近似於 值。回報的視野應落在下列值的正負 2 度以內: 校正值。
    3. 按下返回按鈕,然後對所有圖片重複執行校正測試 指定的解析度。

執行 CTS Verifier 以取得替代模式

從 CTS 10 R6 和 CTS 11 R2 版本開始,CTS Verifier 可支援所需的測試 。

在 CTS 驗證器的主要清單檢視畫面頂端,顯示可啟用的按鈕 讓使用者切換展開和摺疊的顯示模式。CTS 驗證器會顯示 以及所選顯示模式的必要測試。執行 CTS Verifier 的模式,其中一個應將按鈕切換成適當的顯示畫面 模式並執行顯示的測試清單。

CTS-V 切換鈕

摺疊式裝置的測試結果會顯示在同一份報表中 測試。如要找出測試集各自的測試結果, 在摺疊模式下,每個測試名稱都會加上一個後置字串。

<Test result="fail" name="com.android.cts.verifier.deskclock.DeskClockTestsActivity[folded]">
  <RunHistory subtest="CREATE_ALARM[folded]">
    <Run start="1594176663973" end="1594176665841" isAutomated="false" />
  </RunHistory>
</Test>

匯出結果

完成所有測試後,您可以將結果儲存為報表並下載 到電腦。系統會根據 DUT 自動為報表名稱加上時間戳記 也就是系統時間

  1. 如要儲存測試結果,請輕觸清單頂端的「儲存 (磁碟)」圖示 測試類別

  2. 等待彈出式訊息顯示已儲存報表的檔案路徑 (例如 例如 /sdcard/verifierReports/ctsVerifierReport-date-time.zip),然後 記錄路徑

  3. 將 DUT 連接到 Linux 電腦。

  4. 在 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 以上版本,實作 汽車業和以數位形式運作的裝置 次要使用者、下載 使用以下指令查看最新報表:

      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
      
  5. 如要清除通過/失敗的結果,請在 CTS Verifier 應用程式中選取結果,然後 選取「選單」圖示 >清除