OmniLab ATS 是 Android 開發人員和測試工程師可以使用的測試工具 採用使用者介面來執行標準 Android 測試套件,例如 Android Compatibility Test Suite (CTS)。這項工具 充當各種測試架構的網頁介面, 貿易聯盟 (TF) 和 Google Mobly:可讓您執行 CTS 和 只需最少設定的測試裝置,即可測試多部裝置,以及 建立排程以持續執行測試。
設定 OmniLab ATS
本節說明如何安裝及設定 OmniLab ATS。
OmniLab ATS 會使用下列位置的原始碼:
- OmniLab 補充資訊 原始碼
- TradeFed 叢集原始碼
安裝 OmniLab ATS
根據您所執行的測試套件,遵守所有軟硬體需求。
如需瞭解 CTS 的規定,請參閱: source.android.com。
OmniLab ATS 沒有其他硬體需求,但我們建議 使用 CTS 主機需求 為出發點
安裝 OmniLab ATS 的方式有兩種:
透過安裝程式程式進行安裝
在 Ubuntu 20.04 以上版本,安裝程式會安裝並設定所有程式 和執行 OmniLab ATS 所需的資源
如何使用安裝程式:
執行安裝程式程式:
curl https://storage.googleapis.com/android-mtt.appspot.com/prod/install.sh | bash
執行
mtt version
來檢查安裝的 OmniLab ATS CLI 版本。
手動安插
安裝 Docker
跟著 安裝 Docker Community Edition (CE) 的操作說明 安裝於 Linux 電腦上
您可能需要重新啟動終端機視窗,或登出並再次登入 權限變更才會生效
安裝 Python 3
OmniLab ATS CLI 是依據 Python 3.7 至 3.11 版進行驗證。
若為 Ubuntu 16.04 以下版本,請先透過建立一個存放區來新增 Python 3 的存放區 下列項目:
執行下列指令:
sudo add-apt-repository ppa:deadsnakes/ppa
建構及安裝存放區 資料來源。
如要安裝 Python 3,請執行下列指令:
sudo apt-get update
sudo apt install python3 python3-distutils
如要安裝特定的 Python 3 版本 (例如 3.10),請執行下列指令, 請改採以下做法:
sudo apt-get update
sudo apt install python3.10 python3.10-distutils
取得 OmniLab ATS CLI
啟動 OmniLab ATS
使用下列指令啟動 OmniLab ATS:
mtt start
首次啟動使用者介面時,可能需要幾分鐘的時間才會顯示。CLI
可用來在瀏覽器中存取使用者介面。根據預設,網址的格式為
localhost:8000
。如有需要,您可以在啟動時變更預設通訊埠,方法是使用
--port
旗標。
如果有新版本可用,您可以更新至目前版本。你可以 請前往這裡查看版本資訊 最新發行的消息
如要更新至目前版本,請執行:
mtt start --force_update
如要停止應用程式,請執行:
mtt stop
如要查看其他指令的清單,請使用:
mtt --help
備份及還原資料庫
如要備份 OmniLab ATS 資料庫,請停止應用程式並執行下列指令:
這會將目前的資料庫備份到名為 mtt-backup.tar
的 TAR 檔案,該檔案位於
主目錄:
docker run --rm --mount source=mtt-data,target=/data -v ~:/out ubuntu bash -c "cd /data && tar cvf /out/mtt-backup.tar ."
如要還原,請在啟動應用程式之前執行下列指令:
docker run --rm --mount source=mtt-data,target=/data -v ~:/out ubuntu bash -c "cd /data && tar xvf /out/mtt-backup.tar"
設定精靈
首次安裝及執行 OmniLab ATS 後,設定精靈會 藉由幾個步驟,您就能根據自己的環境自訂這項工具。不限 之後您可在「設定」頁面重新設定此處所做的變更。
還原設定備份
如果您已備份設定檔 你可以上傳檔案來複製其他 OmniLab ATS 主機的設定 按一下 [上傳檔案] 按鈕,從該主機修改檔案。
圖 1. 正在還原設定備份。
設定預設服務帳戶
您可以設定服務帳戶 OmniLab ATS 預設會在存取資源時使用的 Google Cloud Storage、Google 雲端硬碟)。如要驗證服務帳戶,請按一下 上傳服務帳戶金鑰,然後選取服務帳戶的 JSON 金鑰檔案。
圖 2. 設定服務帳戶。
成功驗證服務帳戶後,帳戶的電子郵件地址 地址。如何變更服務 帳戶,點選帳戶名稱,移除目前預設帳戶,然後上傳檔案 建立新的服務帳戶金鑰
圖 3. 變更服務帳戶。
匯入設定集
設定集是一組設定,可用於執行測試套件,包括 以及建立版本設定集託管於特定的 Cloud Storage (GCS) 值區。使用 Google 帳戶就會顯示可用的所有設定集清單。
選取要新增至 Test Station 主機的任何設定集,然後按一下 匯入所選。
圖 4. 匯入設定集。
納入 Wi-Fi 設定
部分 CTS 測試需要裝置連線至 Wi-Fi 無線基地台。如要選取 Wi-Fi 網路,輸入 WiFi SSID,並視需要輸入「WiFi PSK」。
圖 5. Wi-Fi 無線基地台設定。
完成設定精靈後,頁面會根據新的設定重新載入 已套用。
連線至裝置
必須先啟用 USB 偵錯功能,才能使用裝置進行測試。如何啟用偵錯功能:
請遵循指示: 啟用開發人員選項並 偵錯
如要使用已預先載入自訂 ADB 金鑰的測試 Android 版本,請將 在
~/.android/
目錄下自訂.adb_key
檔案。檔案會自動載入並傳遞至 ADB,以便自動啟用 USB 並在裝置刷新後偵錯。
使用 USB 將裝置連接至主體機器。
裝置會在一分鐘內顯示在「OmniLab ATS Devices」分頁 正在重新整理網頁介面您也可以透過 這個分頁。
圖 6. 正在連線到裝置。
裝置狀態如下:
- 可用:裝置已連接,可以執行測試。
- 已分配 - 裝置已連接,正在執行測試。每項 裝置一次只能執行一項測試,因此裝置必須完成測試 執行新的測試
進行測試
選取測試
OmniLab ATS 隨附一組預先封裝的 CTS 設定。若要執行 請前往「Test Suite」分頁,針對選定項目按一下「Run test」 測試。
圖 7. 選取測試。
如要編輯或新增測試,請參閱新增測試一文。
設定測試執行作業
編輯這項特定測試執行作業要使用的參數。大多數的參數 會預先填入所選測試設定中定義的值。
這個步驟可以使用預設值完成,但您可以變更任何 視需要調整參數 (例如「最大重試次數」和「指令」)。
圖 8. 設定測試執行作業。
測試執行作業參數如下:
- 「Name」:要執行的測試套件的名稱。
- 執行作業計數 - 應執行這項測試的次數 排定時間。測試執行作業是以下列方式排程: 貿易聯盟,最多可設立 20 條 如果有容量的話,會平行執行測試。
- 重試次數上限:嘗試重試測試的次數上限 (如果至少進行一次) 測試失敗。通常設為 4 到 6 次重試,以便完整執行 CTS 處理不穩定的測試
- 佇列逾時:如果測試執行作業維持在「已排入佇列」狀態的時間過長, 就會自動取消指定要等待多久 取消。預設值為 24 小時。
指令:執行測試套件的指令。您可以輸入額外的 指令列引數例如,在 CTS 8.1 中執行特定模組 取代為:
cts-suite -m ShortModuleName
重試指令:重試測試套件的指令。您可以新增 其他指令列引數舉例來說,如果只在 和 CTS 8.1 的特定模組,請使用:
cts --retry 0 -m ShortModuleName
重試引數可能與初始指令中可用的引數不同, 請前往官方網站查看所選測試的支援參數 套件
「Previous Test Run」:如要重新執行先前的測試:
本機:如果執行作業是在目前主機上啟動,請輸入測試執行作業 查看測試執行作業詳細資料時顯示的 ID。
圖 9.本機先前的測試執行作業。
遠端 - 如果執行作業是在其他主機上啟動,請上傳測試 選取「Remote」,然後按一下「Upload Test Results」 選取「File」,然後從本機儲存空間中選取檔案。
圖 10. 遠端執行先前的測試執行作業。
選取裝置
勾選核取方塊來選取要分配測試的裝置 套件資料分割的數目應會自動變更 已選取的裝置。
圖 11. 選取裝置。
如要依據裝置序列以外的屬性選取裝置,您可以手動 輸入「Device Specs」。例如,若要選取 3 個產品名稱為 「bramble」,輸入以下內容:
product:bramble;product:bramble;product:bramble
支援的屬性如下:
- build_id
- device_serial
- 裝置類型
- 主機名稱
- 產品
- 產品子類
- Sim_state
所選所有裝置都必須處於「可用」狀態才能執行測試。 而且在執行測試時,這些工作都會切換為 Alned 狀態。A 罩杯 測試執行作業在等待裝置成為佇列時,會處於「已排入佇列」狀態 廣告。
新增裝置動作
裝置動作是指每次測試執行前可執行的指令碼。只有部分通知 裝置動作已設定完成,例如刷新和重新啟動。目的地: 建立新的裝置動作,請參閱 建立新的裝置動作。
圖 12. 裝置動作。
如要在測試執行作業中新增裝置動作,請按一下「新增動作」,然後選取 勾選方塊來新增動作,然後按一下「新增動作」。裝置動作 依序執行透過拖曳操作即可重新排序。
圖 13. 重新排序動作。
設定測試資源
測試資源是執行測試執行作業所需的檔案。舉例來說,跑步
CTS 需要 android-cts*.zip
檔案,如要刷新裝置,則必須
提供了建構映像檔
測試套件 ZIP 檔案的下載網址應預設為 Google 雲端硬碟 提供給合作夥伴的連結。按一下「瀏覽」即可選取其他檔案。 您可以在彈出式視窗中輸入檔案下載連結,並使用 並上傳要使用的本機儲存空間檔案。
圖 14. 測試資源。
以下是透過網址選取測試資源的彈出式視窗。你可以 輸入下載網址連結,然後按一下「選取」按鈕確認 。
圖 15.測試資源選取器 - 網頁網址。
如果您已將資源上傳至 Google Grive、Google Cloud Storage (GCS),或是 或是前往特定頻道的分頁 管理這些資源以下是從 Google 雲端硬碟選取資源的範例。
圖 16.測試資源選取器:Google 雲端硬碟。
除了選取檔案以外,在 Filename 欄位。如需參閱說明文件,請前往 請按這裡。
圖 17. 測試資源選取器:支援萬用字元模式。
你也可以從 OmniLab ATS 的本機檔案儲存空間中選取檔案。您可以上傳 將檔案複製到這個儲存空間 直接使用本機檔案和目錄。
圖 18. 測試資源選取器 - 本機檔案存放區。
新增重新執行設定
您可以安排在主要執行作業完成後開始的重新執行作業,以及 載入結果,但可以使用不同的裝置、動作或資源。
圖 19. 新增重新執行設定。
啟動測試執行作業
輸入測試執行作業所需的資訊後,請按一下「Start Test」 執行如果所有資訊有效,測試會開始執行, 重新導向至某個頁面,以便查看測試執行作業的詳細資料和進度。
圖 20. 開始測試執行。
建立測試計畫
測試計畫可以定期建立測試執行作業。例如: 每天下午 5 點執行 CTS 9.0如要建立新的測試計畫,請按一下建立 新的測試計畫。
圖 21. 建立測試計畫。
設定測試計畫
輸入測試計畫的名稱,以及要新增的所有標籤。然後選取 排程。
- 手動:測試計畫只會在使用者點選時建立測試 在測試計畫清單頁面中執行測試計畫。
- 定期:測試計畫會自動排定執行 已選取定期排程。舉例來說,您可以安排每天在下列時間進行測試: 下午 5:00。
- 自訂:測試計畫會根據
已輸入 Cron 運算式。例如:
為了排定每天下午 5:00 執行測試,Cron 運算式是
0 17 * * *
。
圖 22. 設定測試計畫。
新增測試套件
按一下「+ 新增」,新增您要透過測試計畫排定時間的測試套件 測試執行設定從「名稱」下拉式選單中選取測試套件,然後按一下 下一步。然後選取要執行測試的裝置,並 按一下「Add Configuration」。您可以為每項測試新增多項設定 計畫。
圖 23. 設定測試執行作業。
新增裝置動作
新增要在每次測試執行前執行的裝置動作。 詳情請參閱「新增裝置動作」。
圖 24. 正在新增裝置動作。
設定測試資源
將測試資源新增至測試計畫的做法,與新增個別測試的資源相同 或任何可執行 Knative 的環境中詳情請參閱「設定測試資源」。
圖 25.設定測試資源。
查看測試執行作業
測試執行作業清單
在「測試執行作業」頁面中查看已排定的測試執行作業清單。按一下「查看」: 查看有關測試執行的詳細資訊。
您也可以在篩選列中輸入字串,以篩選清單,並 按下 Enter 鍵。您可以用多個篩選器 。篩選器會傳回包含確切文字 (無子字串) 的所有資料列 比對),但不包括「Status」和「Created」。
空白篩選器會傳回所有資料列。目前無法篩選資料列 。
圖 26.測試執行作業清單。
測試執行作業詳細資料
您可以在這裡查看測試執行的詳細資料,例如狀態、記錄 也就是預測結果
圖 27.測試執行作業詳細資料。
測試執行狀態
測試執行作業的進度會顯示在「狀態」部分中。如果 訊息 (例如下載進度、取消原因或錯誤訊息) 如畫面所示
圖 28.測試執行狀態。
測試執行狀態如下:
- 待處理:正在下載必要資源。
- Queued (已排入佇列):測試可在裝置可供使用時執行測試。
- 執行中:測試是在配置的裝置上執行。
- 已完成:測試已完成並回報結果。
- 已取消:使用者已取消測試,或嘗試失敗時逾時 尋找可用的裝置。
- 錯誤 - 發生錯誤,導致測試無法執行。
取消測試執行作業
如果測試執行作業尚未完成,可以依序點選「Cancel」(取消) 和 在確認對話方塊中按一下「是」。測試執行作業也會 當狀態維持在「已排入佇列」狀態超過 queue_timeout_seconds 欄位。取消處於「執行中」狀態的測試執行作業 可能需要幾分鐘的時間才會生效。
圖 29.取消測試執行作業。
測試執行結果
測試執行完畢後,系統就會收集並顯示結果。你可以
只要按一下每項執行作業的箭頭,即可查看其他詳細資料。按一下「檢視輸出」
檔案查看收集到的測試成果,例如 test_result.xml
和
test_result_failures.html
。
圖 30.測試執行結果。
您可以在「記錄檔」分頁中查看即時主機和交易記錄檔。
圖 31.「記錄檔」分頁。
個別模組的結果會顯示在「測試結果」分頁中。
圖 32.「測試結果」分頁。
如要下載做為測試資源使用的檔案,請按一下 「Test Resources」分頁。
圖 33.「Test Resources」分頁。
如要查看測試執行作業的詳細資料 (例如 create_time),請前往「設定」分頁。
圖 34.「Config」(設定) 分頁。
進階功能
管理設定檔
OmniLab ATS 會使用以 YAML 編寫的設定檔, 載入預先定義的選項,例如測試、建構頻道和裝置動作。 設定檔範例如下:
// example_file.yaml
tests:
- id : android.cts.9_0.arm
name: CTS 9.0 (ARM)
test_resource_defs:
- name: android-cts.zip
default_download_url: https://dl.google.com/dl/android/cts/android-cts-9.0_r7-linux_x86-arm.zip
test_resource_type: TEST_PACKAGE
command: cts
env_vars:
- name: TF_PATH
value: ${TF_WORK_DIR}/android-cts/tools:${TF_WORK_DIR}/android-cts/testcases
- name: LD_LIBRARY_PATH
value: ${TF_WORK_DIR}/android-cts/lib:${TF_WORK_DIR}/android-cts/lib64
setup_scripts:
output_file_patterns:
- android-cts/logs/latest/.*
- android-cts/results/latest/.*\.html
- android-cts/results/latest/compatibility_result\..*
- android-cts/results/latest/logo.png
- android-cts/results/latest/test_result.xml
result_file: test_result.xml
java_properties:
- name: CTS_ROOT
value: ${TF_WORK_DIR}
context_file_dir: android-cts/results/
context_file_pattern: '[\d_\.]+\.zip'
retry_command_line: retry --retry 0
runner_sharding_args: --shard-count ${TF_SHARD_COUNT}
build_channels:
- id: google_drive
name: Google Drive
provider_name: Google Drive
device_actions:
- id: flash
name: Flash
test_resource_defs:
- name: bootloader.img
test_resource_type: DEVICE_IMAGE
- name: radio.img
test_resource_type: DEVICE_IMAGE
- name: img.zip
test_resource_type: DEVICE_IMAGE
tradefed_target_preparers:
- class_name: com.android.tradefed.targetprep.RunHostCommandTargetPreparer
option_values:
- name: work-dir
values:
- ${TF_WORK_DIR}
- name: host-setup-command
values:
- adb -s $SERIAL reboot-bootloader
- fastboot -s $SERIAL flash bootloader bootloader.img
- fastboot -s $SERIAL flash radio radio.img
- fastboot -s $SERIAL reboot-bootloader
- fastboot -s $SERIAL -w update img.zip
- adb -s $SERIAL wait-for-device
- name: host-cmd-timeout
values:
- 10m
設定 OmniLab ATS 執行個體時,您可以將設定分享給 匯出檔案為檔案。如要這麼做,請前往「設定」頁面 按一下右上方的「匯出」。
圖 35.管理設定檔。
設定檔下載完成後,請與其他使用者共用檔案。 他們只要按一下滑鼠,就能將設定檔新增至 OmniLab ATS 執行個體 匯入並選取設定檔。
建立新的裝置動作
裝置動作可用於自動執行裝置設定程序。動作為 在每次測試執行前,於每部裝置上執行的指令碼 包括重試前如要查看可執行的裝置動作清單,請前往 「設定」頁面,然後點選「裝置動作」分頁標籤。提供多種裝置動作 例如重新啟動和刷新
圖 36.「Device Actions」分頁。
新增裝置動作
按一下「新裝置動作」。
圖 37.新裝置動作按鈕。
輸入名稱和說明。
圖 38.裝置動作名稱。
按一下 [Add Target Preparer] (新增目標準備工具)。
輸入交易聯盟目標 準備者的完整類別名稱
com.android.tradefed.targetprep.RunHostCommandTargetPreparer
。圖 39.新增目標準備工具。
如要查看可用的目標準備工具清單,請前往 com.android.tradefed.targetprep 參照。
圖 40.目標準備者清單。
新增要與目標準備工具搭配使用的選項。如何查看可用的選項: 確認 targetprep [目標準備] 。
圖 41.動作選項範例。
如要新增選項,請按一下 [Add Target Preparer Option] (新增目標準備工具選項),然後輸入 必要值。
圖 42.動作指令範例。
定義執行裝置動作所需的測試資源, 例如建構用於 Flash 的映像檔如要新增資源定義,請按一下 新增測試資源並填寫必填欄位。如果您知道 找出您的檔案,即可提供預設的下載網址,方法是按一下 瀏覽。如果目標準備者接受目錄做為測試資源, 選取「解壓縮」。接著指定相關的 Destination 目錄 暫時工作目錄之下的 File Names 解壓縮。如果沒有提供檔案名稱,則所有檔案都會從這個位置解壓縮 測試資源
圖 43.動作測試資源。
按一下「更新」。
圖 44.動作儲存變更。
管理測試
編輯測試
如要編輯已儲存的測試,請前往「測試」頁面,然後按一下頁面頂端的「編輯」。 要修改的測試方法變更測試設定後,按一下 更新:
圖 45.編輯測試。
新增測試
如要新增測試,請前往「測試」頁面,然後按一下「建立新測試」。輸入 找到適合的資訊,然後點選「建立」。
圖 46.建立測試。
圖 47.複製測試。
匯出主機設定
設定主機後,您可以將主機的設定匯出成檔案。 您可以將這個檔案上傳至其他主機,以複製已儲存的設定。
如要匯出主機的設定,請前往「設定」頁面,然後按一下「匯出」。 。
圖 48.匯出主機設定。
如要匯入主機設定檔,請前往「設定」頁面,然後按一下 右上角的「匯入」。
圖 49.匯入主機設定。
使用本機檔案和目錄
從版本 R11 開始,$HOME/.ats_storage
目錄中的檔案
會自動存取 OmniLab ATS將檔案複製或移動到該位置
目錄,然後在排定時程時,從「Local File」分頁選取該檔案
測試執行
cp /path/to/file $HOME/.ats_storage
圖 50.從 $HOME/.ats_storage
目錄中選取檔案。
您可以透過
--mount_local_path
標記。
mtt start --mount_local_path=/path/to/dir1 --mount_local_path=/path/to/dir2:renamed_dir2
圖 51.本機檔案儲存庫中掛接的其他目錄。
啟用多主機模式
透過多主機模式,使用者可以使用單一 ATS 控制器主機管理 並測試多部 ATS 工作站主機的裝置和測試。
圖 52.多主機模式架構。
如要啟動 ATS 控制器,請使用下列指令:
mtt start --operation_mode=ON_PREMISE
你可以前往
http://${CONTROLLER_HOSTNAME}:8000
存取檢查控制器。如要啟動 worker,請使用下列指令:
mtt start --control_server_url=http://CONTROLLER_HOSTNAME:8000 --operation_mode=ON_PREMISE
如果網路不允許主機互相通訊, 請前往下方的進階設定操作說明 ATS 工作站。
使用 SSH 通道連接兩個主機。為下列項目選取通訊埠: 和檔案伺服器通訊埠,例如 9000 和 9006
ssh -L ATS_PORT:localhost:8000 -L FS_PORT:localhost:8006 CONTROLLER_HOSTNAME
設定並啟動 ATS。
DOCKER_GATEWAY_IP_ADDRESS=$(ip -4 addr show dev docker0 | grep -Eo 'inet [.0-9]+/' | grep -Eo '[.0-9]+')
socat tcp-listen:ATS_PORT,bind="${DOCKER_GATEWAY_IP_ADDRESS}",reuseaddr,fork tcp-connect:127.0.0.1:ATS_PORT &
socat tcp-listen:FS_PORT,bind="${DOCKER_GATEWAY_IP_ADDRESS}",reuseaddr,fork tcp-connect:127.0.0.1:FS_PORT &
mtt start --control_server_url=http://${DOCKER_GATEWAY_IP_ADDRESS}:ATS_PORT \ --control_file_server_url=http://${DOCKER_GATEWAY_IP_ADDRESS}:FS_PORT \ --operation_mode=ON_PREMISE
檔案清理工具
檔案清理工具是一項 Cron 工作,每小時都會執行 使用者定義的設定ATS 提供兩種用來封存測試的預設設定 執行結果及刪除暫存檔案。本指南說明如何自訂 以及政策和設定,方便您有效管理檔案
政策
政策可定義要在檔案或目錄中執行的作業,以及 才能選取目標表格會顯示可用的作業:
作業類型 | 參數 |
---|---|
ARCHIVE | remove_file :如果是 true ,請在封存後移除該檔案。 |
DELETE |
這些條件取決於檔案屬性和系統資訊。可用 表格,
條件類型 | 說明 | 參數 |
---|---|---|
LAST_MODIFIED_TIME | 依檔案上次修改日期和時間篩選檔案。 | ttl :支援各種時間運算式,例如 10m 、2h 、7 days 、4w 。如要瞭解支援的格式,請參閱 pytimeparse 。 |
LAST_ACCESS_TIME | 根據上次存取日期和時間篩選檔案。 | 與 LAST_MODIFIED_TIME 相同。 |
NAME_MATCH | 你可以使用規則運算式,根據名稱篩選檔案。 | pattern :規則運算式,例如 [a-f0-9]{8}-([a-f0-9]{4}-){3}[a-f0-9]{12}\.zip 來比對結果 ZIP。 |
SYSTEM_AVAILABLE_SPACE | 根據系統的可用空間觸發動作。 | threshold :在可用空間低於門檻時觸發動作,例如 200 (B)、200KB 、200MB 、200GB 、2TB 。 |
圖 53.新增檔案清理政策。
設定
設定會將一或多項政策與特定目錄結合。「檔案」和「 系統會根據 定義政策系統會依據設定中的順序套用政策。
所有目標目錄都必須位於 /data
目錄下。如果您的
config 將目標目錄指定為 logs
,系統會將其解讀為
/data/logs
。
圖 54.編輯檔案清理工具設定。
重設
按一下「重設設定」,將檔案清理工具設定還原為 預設狀態。這項操作會清除「所有」自訂項目。
圖 55.重設檔案清理工具設定。
支援
錯誤報告
你對 OmniLab ATS 的貢獻有助於改進這項工具;以及 期待您提供意見!詳情請參閱 OmniLab ATS 版本資訊 ,進一步瞭解最新版本。如要回報錯誤或提供建議, 提交錯誤報告。 合作夥伴應透過合作夥伴的頻道回報錯誤或建議。