以前在下曾使用一些 第三方工具 經 電腦 控制 Android裝置
但這些工具效果不是太好,而且普遍都沒有支援 Linux
因此在下尋找能夠更方便地在 Linux 控制 Android裝置 方法
經 USB 連接
在電腦控制 Android裝置 前,必須啟動 Android 的 開發人員選項 中的 USB偵錯
到 設定 > 系統 > 關於 > 軟體資訊 , 點擊數次 版本號碼 便會啟動 開發人員選項
到 設定 > 系統 > 開發人員選項 , 啟動 USB偵錯
Android裝置 設定完成後,便到 宿主系統,在 Terminal 輸入
sudo apt install adb scrcpy
如果第一次使用 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或以上,因此無法測試
沒有留言 :
張貼留言