GMS認證-Android VTS測試

1、VTS簡介

VTS的全稱是 Vendor Test Suite(供應商測試套件)。

為何引入VTS測試?

目前Android的系統(tǒng)升級是很麻煩的,為了能更快的將設備升級到新的Android版本,Android O 開始新引入了 Project Treble,Project Treble 適用于搭載 Android O 及后續(xù)版本的所有新設備。

Android 7.x 及更早版本中沒有正式的Vendor層接口,因此每次更新系統(tǒng)都相對耗時和困難:

treble_blog_before.png

Android O 之后,Treble 提供了穩(wěn)定的Vendor層接口,供設備制造商訪問 Android 代碼中特定于硬件的部分,這樣就可以只更新框架層,減少升級系統(tǒng)帶來的成本和困難:

treble_blog_after.png

為了確保Vendor層實現(xiàn)的前向兼容性,新的Vendor層接口會由供應商測試套件 (VTS) 進行驗證,該套件類似于兼容性測試套件 (CTS)。

2、VTS測試流程

1)替換谷歌system.img

VTS測試要求刷入谷歌提供AOSP的system.img (GSI)。在user版本中,如果直接使用flash tool單獨燒錄GSI時,會導致無法開機。

之所以會出現(xiàn)這種問題,是由于在user/userdebug版本中,dm-verity是使能的,替換GSI后導致dm-verity不能通過。 如果要解決這個問題,就需要進行unlock操作,并且要用fastboot來刷入刷入谷歌提供的system.img .

具體操作如下:
    1. 在設置中打開 OEM unlocking 選項
    1. 在設置中打開 USB debugging 選項
    1. 長按音量 + 和電源鍵進入fastboot模式
    1. 連接到電腦上,分別執(zhí)行fastboot flashing unlockfastboot oem unlock,
      執(zhí)行命令后需要選擇音量 + 來確認unlock。
    1. 執(zhí)行 fastboot 命令刷入google提供的 system.img (GSI):
      fastboot flash system system.img(需要根據(jù)軟件版本的信息來選擇GSI版本)
  • 6 .(Android P版本需要執(zhí)行) fastboot flash vbmeta vbmeta.img
    1. 重啟: fastboot reboot

2)VTS測試

Running VTS
主機端設置
  • 首先設置基本測試環(huán)境 GMS測試環(huán)境.

  • VTS測試環(huán)境配置:
    安裝 Python 開發(fā)工具包:sudo apt-get install python-dev
    安裝協(xié)議緩沖區(qū)工具(適用于 Python):sudo apt-get install python-protobuf protobuf-compiler
    安裝 Python 虛擬環(huán)境相關工具:sudo apt-get install python-virtualenv python-pip

  • 下載并解壓VTS測試工具

手機端設置
  • 擦除設備上的用戶數(shù)據(jù)(即運行fastboot -w)。

  • 刷入谷歌提供的system.img (GSI),使用與設備的ABI相對應的GSI,是否支持A / B更新以及設備的security_patch_level:

    ABI A/B Non A/B security_patch_level
    Arm64 aosp_arm64_ab aosp_arm64_a Uses the format: [year][month][date]
    Arm32 aosp_arm_ab aosp_arm_a Uses the format: [year][month][date]
    x86_64 aosp_x86_64_ab aosp_x86_64_a Uses the format: [year][month][date]
    x86_32 aosp_x86_32_ab aosp_x86_32_a Uses the format: [year][month][date]
  • Android 8.x的設備不需要安裝SIM卡,但是Android P及更高版本的設備將需要SIM卡進行VTS測試。

  • 確保手機可以連接到IPV6的wifi網(wǎng)絡,如果設備具有GPS / Wi-Fi / Cellular功能,則必須重置設備并打開位置設置。

  • 通過usb將手機連接到電腦上,通過 adb shell 來保證可以正確的連接。

運行VTS測試
  • 打開終端命令行

  • 切換到android-vts路徑下

    $ cd *installation-path*/android-vts/tools

  • 通過下面的命令來進入到vts的控制臺

    $ .vts-tradefed

  • 運行vts的測試命令

    > run vts

VTS常用命令
  • 列出所有跑測結果

    > l r

  • 列出所有檢測到或已知的設備

    > l d

  • 單跑某一個模塊

    > run vts -m <模塊名>

  • 單跑某個測試項

    > run vts -m <模塊名> -t <測試項名>

  • 可用選項

    > run vts -s <device_id> --logcat-on-failure --screenshot-on-failure --shard-count <shards>

    '-s <device_id>':可指定運行測試的設備
    '--logcat-on-failure':當測試失敗時捕獲logcat
    '--screenshot-on-failure':當測試失敗時截取屏幕截圖
    '--shard-count <shards>':用多個設備上同時跑測,可節(jié)省時間

  • 更多的命令可通過 help all 來查看:
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容