2024-05-05

在電腦控制 Android裝置 (2024)

以前在下曾使用一些 第三方工具 經 電腦 控制 Android裝置
但這些工具效果不是太好,而且普遍都沒有支援 Linux
因此在下尋找能夠更方便地在 Linux 控制 Android裝置 方法

經 USB 連接

在電腦控制 Android裝置 前,必須啟動 Android 的 開發人員選項 中的 USB偵錯

到 設定 > 系統 > 關於 > 軟體資訊 , 點擊數次 版本號碼 便會啟動 開發人員選項
到 設定 > 系統 > 開發人員選項 , 啟動 USB偵錯

Android裝置 設定完成後,便到 宿主系統,在 Terminal 輸入

sudo apt install adb scrcpy

或按此下載及安裝 adbscrcpy

如果第一次使用 USB偵錯 , Android裝置 會要求允許 USB偵錯
如果不想相同的宿主系統每次使用 USB偵錯 時,都需要在 Android裝置 點擊 允許
可以 勾選 一律允許透過言台電腦進行 才點擊 允許

安裝 ADB 及 scrcpy 後,執行 scrcpy

scrcpy 連接到 Android裝置 後會顯示 Android裝置的畫面

scrcpy 會判斷裝置當前的方向並自動調整顯示畫面

scrcpy 亦能偵測宿主系統的輸入裝置
例如能夠使用 滑鼠 當作熒幕觸控操作,而 鍵盤 則能直接將文字資料輸入,類似 VNC 操作

經 WiFi 連接

Android 11 開始, Android 能以 WiFi 的方式連接

再到 開發人員選項 , 啟動 無線偵錯 的 使用無線偵錯功能

點擊 使用配對碼配對裝置

Android裝置 會建立 臨時伺服器,並產生一組 6位數字配對碼
讓 宿主系統 經 ADB 連接到 臨時伺服器 並通過認證後便能夠與 Android裝置 配對
臨時伺服器 的 連接埠配對碼 每次都會變動,減低未經授權連接的機會

然而 ADB 卻無法與 Android裝置 配對,原因是 Linux發行版套件庫 的 ADB 版本比較舊,未有提供 配對功能
需要到 https://developer.android.com/tools/releases/platform-tools 下載最新版本的 ADB

下載後將檔案解壓縮,到該目錄輸入

./adb pair "<ip-of-android-device>:<port-of-pair-server>" "<pair-code>"

與 Android裝置 配對

(由於不是使用從 Linux發行版套件庫 安裝的 ADB ,因此沒有設定執行路徑,所以需要指定路徑的 adb檔案)

配對完成會顯示配對後的 Android裝置 的 GUID

然而,配對後仍未能夠連接到 Android裝置,需要再輸入

./adb connect "<ip-of-android-device>:<port-of-connect-server>"

完成連接後,便能經網絡控制 Android裝置

連接到 Android裝置 後,在 已配對的裝置 中,會顯示 宿主系統 的資料,並標示為 目前已連線的裝置

通常第一次連接到 Android裝置 , Android 還會自動建立一個稱為 nouser@nohostname臨時宿主

連接後,再次使用 scrcpy 便可以控制 Android裝置

補充資料

指定 Android裝置 配對

如果宿主系統已連接超過 1個Android裝置 ,直接使用 scrcpy 會出現錯誤

輸入:

./adb devices

列出所有已經連接的 Android裝置的 名稱狀態

確認需要連接的 Android裝置的名稱 後,輸入

scrcpy -s <device-name>

便能夠指定連接的 Android裝置

ADB 無法配對

在下曾經使用 錯誤版本的ADB 建立 ADB伺服器 導致執行 adb pair 時發生

error: unknown host service

的錯誤

當發生 ADB版本 不對時,先執行

adb kill-server

停止 ADB伺服器 ,再重新執行特定版本的 ADB 才能正確配對

使用 Android Studio 連接

如果不習慣使用指令操作亦可以使用 Android Studio 與 Android裝置 配對

裝置選擇清單中 選擇 Pair Devices Using Wi-Fi

開啟 Pair devices over Wi-Fi 後,預設使用 Pair using QR code
Android Studio 會建立配對用的 QR Code 方便讓 Android裝置 利用鏡頭拍攝 QR Code 來連接

在 Android裝置 的 無線偵錯 中,使用 使用配對碼配對裝置
便會自動使用鏡頭掃描 QR Code 、配對 及 連接 Android裝置

亦可以在 Android Studio 透過配對碼配對

在 Pair devices over Wi-Fi 後,選擇 Pair using pairing code ,然後等代掃描並偵測到 Android裝置

掃描到 Android裝置 後會列出不同 Android裝置 的 IP地址(及連接埠)

按 Pair 後,輸入由 Android裝置 建立的配對碼

再按 Pair ,如果網絡及配對碼正確,便會完成連接
與使用指令的方法完相同

總結

先前因為在下學習使用 Android Studio 編寫 Android應用程式 時
已經發現除了經 USB 使用 ADB 直接向 Android裝置 安裝 應用程外,還能夠使用 QRCode 與 Android裝置 配對
但當時在下沒有 Android裝置 的 Android版本 是 11或以上,因此無法測試

參考資料

沒有留言 :

張貼留言