ADB / Android Debug Bridge
隨附於 Macro Deck透過 USB 或 Wi-Fi 控制 Android 手機或平板:喚醒裝置、啟動應用程式、點按、輸入文字和擷取螢幕截圖。
ADB / Android Debug Bridge 整合的「概覽」分頁,附有在設定中啟用 ADB 的通知
- 喚醒、鎖定和重新開機已連線的 Android 裝置
- 在裝置上啟動或強制停止應用程式,以及開啟連結
- 傳送按鍵、點按、滑動和文字
- 將裝置的螢幕截圖儲存到資料夾
- 電池、螢幕和前景應用程式的裝置事件和變數
ADB 整合會透過 Android 開發人員使用的工具 Android Debug Bridge (ADB) 控制 Android 手機和平板。Macro Deck 會找到 adb 程式、執行 ADB 伺服器,並追蹤透過 USB 連接或透過 Wi-Fi 連線的裝置。它也可以代為下載官方的 Android platform-tools。
每個動作都會在動作中選擇的裝置上執行;將 裝置 留空時,則在預設裝置上執行。預設裝置是在 設定 > ADB 中以 設為預設 選擇的裝置;如果沒有選擇,則為唯一連接的裝置。
可以做什麼
- 螢幕和電源: 喚醒裝置、關閉螢幕(Android 會以此方式鎖定裝置),或將其重新開機至 Android、復原模式或開機載入程式。
- 應用程式和連結: 依套件名稱(例如
com.spotify.music)啟動或強制停止應用程式,並以裝置選擇的應用程式開啟連結。 - 輸入: 傳送 Home、Back、Volume Up 或 Media Play Pause 等按鍵,點按螢幕上的某個點,從一個點滑動到另一個點,或在目前焦點所在的欄位中輸入文字。
- 螢幕截圖: 將螢幕擷取為 PNG 檔案並儲存到電腦上的資料夾,也可以將檔案路徑寫入變數。
設定範例:
- 一個按鈕喚醒桌上的平板並啟動音樂應用程式。
- 一個按鈕傳送 Media Play Pause 到手機。
- 在 裝置已連線 上建立自動化,平板一插上就開啟儀表板頁面。
即時狀態
此整合會在裝置連線、中斷連線、授權、變成未授權、離線或重新上線時回報,讓流程和按鈕可以做出反應。變數會保存已連線和已授權裝置的數量,以及預設裝置的型號、製造商、電量、螢幕是否開啟、是否顯示鎖定畫面,以及位於前景的應用程式。每台已授權的裝置也有自己的變數,以其型號命名。整合啟用期間,每台 Android 裝置的電量也會顯示在電池小工具中。
基本動作(按鍵、點按、滑動、文字、應用程式、連結、重新開機和螢幕截圖)在 Macro Deck 鎖定期間仍可運作,因此繫結這些動作的按鈕在電腦鎖定時仍然有效。
需要準備
- 在 Windows、macOS 或 Linux 上執行的 Macro Deck 3
- 已在開發人員選項中開啟 USB 偵錯的 Android 裝置
- 可傳輸資料的 USB 傳輸線,或透過 Wi-Fi 連線時使用無線偵錯
- Android platform-tools (adb);Macro Deck 可在設定 > ADB 中下載
- 在 Linux 上,使用者需有存取 USB 裝置的權限,通常透過 udev 規則設定
開始設定
步驟 1: 啟用 ADB 整合
在側邊欄中按一下 整合,然後按一下 ADB / Android Debug Bridge。在開啟右上角的開關之前,此整合都是關閉的。開啟後,頁面會顯示 ADB 已關閉,直到在下一個步驟中啟用 ADB 為止。
步驟 2: 在 Macro Deck 中啟用 ADB
開啟 設定 > ADB 並開啟 啟用 ADB。如果 ADB 程式 顯示 找不到,請按一下 下載 platform-tools。Macro Deck 會自動找到現有的 Android SDK 或
PATH中的adb,也可以在 執行檔路徑 中指定其他程式。步驟 3: 在裝置上開啟 USB 偵錯
在手機或平板上開啟 設定 > 關於手機,並點按 版本號碼 七次以開啟 開發人員選項。然後在 設定 > 開發人員選項 中開啟 USB 偵錯。確切位置因製造商而略有不同。
步驟 4: 連線並授權裝置
使用 USB 傳輸線連接裝置,並在其螢幕上確認 Allow USB debugging?。勾選 Always allow from this computer,就不會再次詢問。接著裝置會在 設定 > ADB 的 裝置 下顯示為 就緒。若要改為透過 Wi-Fi 連線,請在 透過 Wi-Fi 連線 下輸入裝置的 IP 位址和連接埠,例如
192.168.1.20:5555。步驟 5: 選擇預設裝置
連接多台裝置時,請在將 裝置 留空時動作應使用的裝置旁按一下 設為預設。只有一台裝置時會自動使用該裝置。
步驟 6: 在按鈕上加入 ADB 動作
在 面板 頁面上,確認面板已解鎖(右上角的按鈕顯示 鎖定),然後按一下一個按鈕。編輯器開啟時會選取 短按。按一下 + 新增動作,在 新增動作 對話方塊左側選擇 ADB / Android Debug Bridge,然後選擇一個動作,例如 喚醒裝置 或 啟動應用程式。填寫其欄位,例如 啟動應用程式 的 套件,並將 裝置 留空以使用預設裝置。只有在此整合啟用時,才會顯示這個類別。
步驟 7: 按下按鈕
按一下 儲存,然後在面板上按下按鈕。如果沒有反應,請查看 整合 中是否有通知,例如 沒有已連線的裝置 或需要授權的裝置。
動作11
可放在按鈕上,或從流程中執行。
- 喚醒裝置
- 喚醒裝置螢幕。
- 睡眠 / 鎖定螢幕
- 關閉裝置螢幕,Android 會以此方式鎖定裝置。
- 啟動應用程式
- 依套件名稱啟動應用程式,或將其移到最前方。
- 強制停止應用程式
- 依套件名稱強制停止應用程式。
- 開啟連結
- 在裝置上開啟 URI,與點按連結相同。
- 輸入文字
- 在裝置上目前焦點所在的欄位中輸入文字。
- 傳送按鍵
- 傳送單一 Android 按鍵事件,例如 Home、Back、Volume Up 或 Media Next。
- 點按
- 在指定的 X 和 Y 座標點按螢幕。
- 滑動
- 在指定時間內從一個點滑動到另一個點。
- 重新開機裝置
- 將裝置重新開機至一般、復原或開機載入程式模式。
- 擷取螢幕截圖
- 擷取裝置螢幕並以 PNG 檔案儲存到資料夾,也可以將其路徑寫入變數。
觸發器6
按鈕或流程可以對這些事件做出反應。
- 裝置已連線
- Android 裝置已插上,或 Macro Deck 首次偵測到它。
- 裝置已中斷連線
- Android 裝置已拔除,或 Macro Deck 失去對它的追蹤。
- 裝置已授權
- 已在裝置上接受授權提示。
- 裝置未授權
- 先前已授權的裝置需要再次接受授權提示。
- 裝置上線
- 已授權的裝置再次可以連線。
- 裝置離線
- 原本可連線的裝置已無法連線。
變數11
在按鈕和小工具上顯示這些值,或在條件中使用。
adb_connected_device_count- 已連接的 Android 裝置數量。
adb_authorized_device_count- 已上線且已授權的裝置數量。
adb_device_connected- 預設裝置是否已連線。
adb_device_authorized- 預設裝置是否已授權這台電腦。
adb_device_model- 預設裝置的型號。
adb_device_manufacturer- 預設裝置的製造商。
adb_device_battery_level- 預設裝置以百分比表示的電量。
adb_device_screen_on- 預設裝置的螢幕是否開啟。
adb_device_locked- 預設裝置是否顯示鎖定畫面。
adb_device_foreground_app- 預設裝置上位於前景的應用程式套件名稱。
adb_device_<device>_connected,adb_device_<device>_authorized,adb_device_<device>_model,adb_device_<device>_battery_level- 每台已授權裝置的連線、授權、型號和電量。
<device>是裝置型號轉成小寫字母、數字和底線後的名稱;同型號的其他裝置會再加上_2、_3等後綴。
常見問題
需要 Android Studio 或 Android SDK 嗎?
不需要。Macro Deck 只需要 Android platform-tools 中的 adb 程式。在 設定 > ADB 中按一下 下載 platform-tools,Macro Deck 就會從 Google 下載約 15 MB 的官方套件供自己使用。現有的安裝會自動找到。
可以透過 Wi-Fi 控制裝置嗎?
可以。在裝置上開啟無線偵錯,並在 設定 > ADB 的 透過 Wi-Fi 連線 下輸入其 IP 位址和連接埠。Macro Deck 本身不會配對裝置:在 Android 11 及更新版本上,請先將裝置與這台電腦配對,或透過 USB 使用 adb tcpip 將裝置切換為網路偵錯。否則裝置會拒絕連線。
為什麼動作因找不到裝置而失敗?
將 裝置 留空時,動作會使用預設裝置。如果沒有選擇預設裝置且連接了多台裝置,就沒有預設裝置,因此請在動作中選擇裝置,或在 設定 > ADB 中按一下 設為預設。也請確認裝置顯示為 就緒,而不是 未授權。
有獨立的鎖定動作嗎?
沒有。Android 沒有獨立的鎖定指令。睡眠 / 鎖定螢幕 會關閉螢幕,與按下電源按鈕一樣鎖定裝置。
ADB 整合會影響其他使用 ADB 的程式嗎?
Macro Deck 使用一般的 ADB 伺服器,因此 Android Studio 等程式會共用它。設定 > ADB 中的 重新啟動 ADB 伺服器 也會讓這些程式的裝置短暫中斷連線。除非開啟 Macro Deck 結束時停止 ADB 伺服器,否則 Macro Deck 結束時會讓伺服器繼續執行。
為什麼裝置顯示「沒有存取此裝置的權限」?
電腦沒有透過 USB 與裝置通訊的權限。在 Linux 上,請安裝 platform-tools 的 udev 規則;在 Windows 上,請安裝製造商提供的裝置 USB 驅動程式。