ADB 和測試 Android 應用程式

Chromebook 能夠執行 Android 應用程式,這項功能不僅讓使用者可以存取豐富的 Android 生態系統產品,也讓 Android 開發人員有機會觸及 ChromeOS 使用者。

開發人員應務必在不同板型規格上驗證應用程式,因為這有助於提升使用者體驗。因此,ChromeOS 為 Android 開發人員提供相關工具,方便他們在 Chromebook 上部署及測試應用程式。

無論開發人員是直接從 ChromeOS 部署 Android 應用程式 (在 Chromebook 中使用 Android Studio),還是從其他裝置部署,都可以使用 ADB 部署應用程式,並偵錯與 Chromebook 的各種互動。詳情請參閱下方步驟。

啟用 ADB 偵錯

先前,您只能在開發人員模式下於 Chromebook 上使用 ADB,但這需要執行 Powerwash (重設) 裝置,且可能會降低安全性。幸好,自 Chrome 81 起,開發人員只要切換開關,就能讓裝置維持在開發人員模式以外的模式,並直接在 ChromeOS 中部署開發的應用程式。方法如下:

首先,請確認 Chromebook 未處於開發人員模式。然後前往設定並開啟 Linux (如果先前未完成)。

開啟 Linux

Linux 啟用後,開啟 Linux 設定,您會看到新的「開發 Android 應用程式」選項,開啟該選項。

切換啟用 ADB 偵錯,電腦會重新啟動。

啟用 ADB 偵錯

電腦重新啟動後,系統會顯示訊息,告知裝置上可能存在並非從應用程式商店下載的應用程式。

這個裝置可能包含尚未經 Google 驗證的應用程式

現在可以使用 ADB 將應用程式部署至 Chromebook、執行偵錯指令,以及直接與裝置互動。

為確保 Android 應用程式在各種 Chromebook 裝置和板型規格上都能正常運作,Google 建議您在下列裝置上測試應用程式:

  • 搭載 ARM 架構的 Chromebook
  • 以 x86 為基礎的 Chromebook
  • 有觸控螢幕的裝置和沒有觸控螢幕的裝置
  • 變形裝置,也就是可切換為筆電和平板電腦的裝置
  • 支援觸控筆的裝置

從 ChromeOS 部署

啟用 ADB 偵錯功能後,您可以使用 Android Studio 將 Android 應用程式直接載入 ChromeOS 裝置,也可以使用終端機載入 APK。

使用 Android Studio 部署

如上所述設定 Android Studio 和 ADB 後,您就可以直接從 Android Studio 將應用程式推送至 Chromebook 的 Android 容器。

Chromebook 會顯示在裝置下拉式選單中:

Android Studio 裝置下拉式選單

現在,您可以像推送其他 Android 裝置一樣推送應用程式!首次嘗試推送至新裝置時,系統會顯示 ADB 授權對話方塊。授權後,應用程式會在新視窗中啟動。

透過 Android Studio 中的 ADB 連線至裝置

這樣就完成了,現在您可以將應用程式部署到 Chromebook,並不必進入開發人員模式,即可測試及偵錯。

使用終端機部署

視需要安裝 ADB:

sudo apt install adb

連線至裝置:

adb connect arc

第一次嘗試部署到裝置時,系統會顯示 USB 偵錯授權彈出式視窗,您必須允許。

授權連線至裝置

從終端機安裝應用程式:

adb install [path to your APK]

從終端機安裝應用程式

從其他裝置部署

如果無法使用上述方法,且需要從其他裝置推送應用程式,可以透過 USB網路位址將裝置連線至 ADB。

透過網路連線至 ADB

  1. 請確認您已啟用 ADB 偵錯功能

取得 Chromebook 的 IP 位址:

  1. 按一下畫面右下角的時鐘。

  2. 按一下齒輪圖示。

  3. 按一下連線的網路類型 (Wi-Fi 或行動數據),然後按一下網路名稱。

  4. 記下 IP 位址。

連線至 Chromebook:

  1. 返回開發機器,使用 ADB 透過 IP 位址連線至 Chromebook:

    adb connect 
  2. 在 Chromebook 上,系統提示是否要允許偵錯工具時,請按一下「允許」。ADB 工作階段已建立。

排解透過網路進行 ADB 偵錯的問題

有時即使所有裝置都已正確連線,ADB 裝置仍會顯示為離線。在這種情況下,請完成下列步驟來排解問題:

  1. 在「開發人員選項」中停用「ADB 偵錯」
  2. 在終端機視窗中執行 adb kill-server
  3. 重新啟用「ADB 偵錯」選項。
  4. 在終端機視窗中,嘗試執行 adb connect
  5. 系統詢問是否要允許偵錯時,請按一下「允許」。ADB 工作階段已建立。

透過 USB 連線至 ADB

如要透過 USB 將 APK 從其他裝置推送至 Chromebook,必須以開發人員模式啟動 ChromeOS,才能設定 Chromebook 並從主機推送應用程式。這是目前唯一需要「開發人員模式」的方法,且僅適用於少數裝置。因此,建議改用透過網路連線的 ADB。如果仍想繼續操作,請按照下列步驟進入開發人員模式

  1. 請確認您已啟用 ADB 偵錯功能
  2. 判斷裝置是否支援 USB 偵錯
  3. 按下 control+alt+t 鍵,啟動 ChromeOS 終端機。
  4. 輸入 shell 進入 bash 指令殼層:
    crosh> shell
    chronos@localhost / $
  5. 輸入下列指令來設定裝置:
    $ sudo crossystem dev_enable_udc=1
    $ sudo reboot
  6. 重新啟動後,再次開啟終端機並執行下列指令,在 Chromebook 的 USB 連接埠上啟用 ADB:
    $ sudo ectool usbpd  dr_swap

每次拔除再重新接上 USB 傳輸線時,都請使用這個指令。如要確認 Chromebook 是否處於 UFP 模式,可以執行 ectool usbpd

  1. 將 USB 傳輸線插入裝置的支援連接埠
  2. 在主機上執行 Android SDK 平台工具中的 adb devices,確認 Chromebook 是否列為 ADB 支援的裝置
  3. 在 Chromebook 上,系統詢問是否要允許偵錯工具時,請按一下「允許」。ADB 工作階段已建立。