十年匠心定制 · 商业建站与技术教学双线并行 咨询热线:400-886-1026 service@lmnt.cn
ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

MaaAssistantArknights 連線設定深度指南:ADB 連線、截圖/觸控增強與多開實戰

MaaAssistantArknights 連線設定深度指南:ADB 連線、截圖/觸控增強與多開實戰 MaaAssistantArknights 連線設定深度指南ADB 連線、截圖/觸控增強與多開實戰【免费下载链接】MaaAssistantArknights《明日方舟》小助手全日常一键长草| A one-click tool for the daily tasks of Arknights, supporting all clients.项目地址: https://gitcode.com/GitHub_Trending/ma/MaaAssistantArknights本文以 MaaAssistantArknightsMAA官方手冊的《連線設定》一頁為骨架完整還原自動偵測、ADB 路徑、連線位址、連線配置、觸控模式、ADB Lite 與多開等全部主題並結合 ConnectSettings.cs、LDPlayerExtra.cs、TouchMode.cs 與 adb-lite 等倉庫源碼逐項說明每個選項的實際行為、預設值與故障排查手段。讀完後你將能独立完成從零配置 ADB 連線、處理 BlueStacks Hyper-V 動態端口、啟用各模擬器截圖/觸控增強以及多開模擬器批量掛機。自動偵測連線MAA 可以透過目前正在執行中的單一模擬器自動偵測並填充 ADB 路徑、連線位址與連線配置。截至 MAA v6.16.8 為止支援自動偵測的模擬器及其連線位址如下模擬器連線位址BlueStacks 藍疊模擬器 5127.0.0.1:5555/5556/5565/5575/5585/5595/5554MuMu 模擬器127.0.0.1:16384/16416/16448/16480/16512/16544/16576雷電模擬器 9emulator-5554/5556/5558/5560、127.0.0.1:5555/5557/5559/5561夜神模擬器127.0.0.1:62001/59865逍遙模擬器127.0.0.1:21503騰訊應用寶5.10.56.xx 之後127.0.0.1:5555若偵測失敗請嘗試以系統管理員權限啟動 MAA 並再次偵測。若仍失敗請參考下文進行手動設定並參考上述清單向官方回報。源碼中的偵測與選項對應GUI 側的偵測邏輯集中在 ConnectSettingsUserControlModel.cs其中DetectAdbConfig方法會先枚舉系統中偵測到的模擬器若同時偵測到多個模擬器MultipleEmulatorsDetectedForConnection或同一模擬器的多個位址MultipleAddressesDetected會彈出選擇對話框讓使用者確認。對應的持久化選項定義在 ConnectSettings.csAutoDetect對應介面「自動偵測連線」預設值為true。勾選後會重置當前連線狀態Instances.AsstProxy.Connected false使下次操作時重新走偵測流程。AlwaysAutoDetect對應「每次重新偵測」預設false。勾選時 GUI 會先彈出警告提示AlwaysAutoDetectConnectionTip再生效——這正適合端口每次啟動都變動的場景見下文 BlueStacks 一節。介面中的連線位址輸入框在 ConnectAddress 屬性 中做了自動正規化去掉空格、把全形冒號與分號;、統一替換為半形冒號。這意味著貼上時誤用全形標點不會導致連線失敗。輸入過的位址會進入AddressHistory下拉歷史最多保留 5 條MaxHistoryCount 5最近使用的排在最前。ADB 路徑技術細節自動偵測預設會使用模擬器內建的 ADB當自動偵測出現問題時才需要手動設定。點選「強制替換 ADB」會自動下載 Google 提供的 ADB 並自動填入路徑。若系統環境變數中已有可用的 ADB可直接填寫adb。「強制替換 ADB」對應配置項AdbReplaced見 ConnectSettings.cs。此外配置中還保留了兩個容易被忽略的開關AllowAdbRestart預設true允許 MAA 在必要時重啟 adb 程序AllowAdbHardRestart預設true允許更激進的 adb 硬重啟KillAdbOnExit預設falseMAA 退出時是否結尾 adb 程序。使用模擬器提供的 ADB前往模擬器的安裝路徑。在 Windows 系統中可以在模擬器執行時於工作管理員對該處理程序點擊右鍵選擇「開啟檔案所在位置」。在該層或下層目錄中應該能找到一個檔名包含adb的 exe 檔案可使用搜尋功能將其選取即可。範例檔名adb.exe、HD-adb.exe、adb_server.exe、nox_adb.exe。值得注意的是GUI 對 ADB 路徑有校驗AdbPath 屬性 會檢查檔名是否包含adb字樣不區分大小寫若不符合會反覆提示AdbPathFileSelectionErrorPrompt提醒重新選取。所以選錯檔案時介面會直接攔截而不是留到連線時才報錯。使用 Google 提供的 ADB從 Android 官方開發者站點下載 platform-tools 套件例如platform-tools-latest-windows.zip並解壓縮選取其中的adb.exe。建議直接解壓縮到 MAA 資料夾下這樣可以隨處移動——在 ADB 路徑中填寫.\platform-tools\adb.exe這種相對路徑即可方便隨著 MAA 資料夾一起搬移。若系統環境變數中已有可用的 ADB則直接填寫adb。連線位址執行於本機電腦的模擬器連線位址通常為127.0.0.1:連接埠或emulator-四位數字。模擬器連接埠的官方查閱位置BlueStacks 藍疊模擬器 5模擬器設定 → 進階中可查看目前的連線位址。MuMu 模擬器主視窗多開器右上角選單按鈕 → 設定中心 → 底部「ADB 端口」可查看正在執行的多開連接埠。MuMu ProMac 版同樣在其說明文件中列出了端口規則。雷電模擬器 9官方幫助文檔中有 ADB 服務器的專門說明。夜神模擬器 / 逍遙模擬器均可在各自官方支持頁面查得端口規則。騰訊應用寶ADB 連接埠固定為127.0.0.1:5555ADB 路徑範例C:\Program Files\Tencent\Androws\Application\版本號\adb.exe。其他模擬器可查閱相關技術博客中的常見模擬器 ADB 端口匯總。備選方案手動查端口方案 1使用 ADB 指令查看模擬器連接埠啟動一個模擬器並確保沒有其他 Android 裝置連接到此電腦。在存放 ADB 執行檔的資料夾中啟動終端機Terminal。執行以下指令# Windows 命令提示字元 (cmd) adb devices # Windows PowerShell .\adb devices輸出範例如下List of devices attached 127.0.0.1:連接埠 device emulator-四位數字 device使用127.0.0.1:連接埠或emulator-四位數字作為連線位址即可。方案 2尋找已建立的 ADB 連線執行方案 1。按下WinS開啟搜尋列輸入「資源監控制器」並開啟。切換到「網路」索引標籤在「接聽連接埠」的名稱欄位中尋找模擬器處理程序名稱例如HD-Player.exe。記錄模擬器處理程序所有的接聽連接埠。在「TCP 連線」的名稱欄位尋找adb.exe遠端連接埠與模擬器接聽連接埠一致者即為偵錯連接埠。位址格式與多開端口的對應關係源碼中對位址格式的處理遠比表面更講究。LDPlayerExtra.GetEmulatorIndex 展示了 MAA 內部如何從一個連線位址反推雷電多開器的實例編號emulator-四位數字格式index (port - 5554) / 2127.0.0.1:連接埠格式index (port - 5555) / 2。這也解釋了為什麼雷電的多開端口都是5555、5557、5559、5561這樣的奇數遞增——ADB 控制台端口與模擬器端口每 2 個端口一組。理解這一對應關係後你可以手動計算出任意多開編號應使用的位址。BlueStacks Hyper-V每次啟動連接埠都不一樣BlueStacks 5 在 Hyper-V 環境下每次啟動的 ADB 端口都可能改變。處理思路在「連線設定」中將「連線配置」設為「藍疊模擬器」隨後勾選「自動偵測連線」和「每次重新偵測」即上文AutoDetectAlwaysAutoDetect兩個選項預設值分別為true與false。通常這樣即可連線若無法連線可能是因為存在多個核心或設定異常需要進階配置。對應的配置結構體定義在 ConnectSettings.ExtraConfigs.Bluestacks只有兩個欄位ConfigKeyword與ConfigPath。步驟 1指定ConfigKeyword注意若啟用了多開功能或安裝了多個模擬器核心則需要指定使用的模擬器編號。在gui.new.json中找到目前設定名稱可在「設定 - 切換配置」中查看預設為Default下的Gui.ConnectSettings.Extras.BluestacksExtra.ConfigKeyword欄位內容格式為bst.instance.模擬器編號.status.adb_port。編號可於模擬器路徑的BlueStacks_nxt\Engine中確認。範例——Nougat64 核心ConfigKeyword: bst.instance.Nougat64.status.adb_portPie64_2 核心核心名稱後的數字代表這是一個多開核心ConfigKeyword: bst.instance.Pie64_2.status.adb_port步驟 2指定ConfigPath注意MAA 現在會嘗試從登錄檔Registry讀取bluestacks.conf的位置若偵測失敗才需要手動指定路徑。在 BlueStacks 藍疊模擬器的數據目錄下找到bluestacks.conf檔案國際版預設路徑C:\ProgramData\BlueStacks_nxt\bluestacks.conf中國版預設路徑C:\ProgramData\BlueStacks_nxt_cn\bluestacks.conf備註C:\ProgramData為隱藏目錄請直接在檔案總管網址列貼上路徑進入。初次使用請先執行一次 MAA 以產生設定檔。先關閉MAA再開啟gui.new.json。找到目前設定名稱下的Gui.ConnectSettings.Extras.BluestacksExtra.ConfigPath並填入bluestacks.conf的完整路徑斜線請使用轉義符\\。以C:\ProgramData\BlueStacks_nxt\bluestacks.conf為例{ Configurations: { Default: { Gui: { ConnectSettings: { Extras: { BluestacksExtra: { ConfigPath: C:\\ProgramData\\BlueStacks_nxt\\bluestacks.conf } } } } } } }步驟 3返回 MAA 並測試你可以使用「設定 - 執行設定」中的「截圖測試」功能檢查連線的是否為預期的核心。連線配置請選擇對應模擬器的配置若清單中沒有則選擇「通用模式」。若通用模式不可用請嘗試並選擇其他任一可用的配置。各配置之間具體的截圖/觸控行為差異定義在 MAA 數據倉庫的config.json的 connect 部分隨資源更新而變化GUI 側的候選清單可參考 ConnectSettingsUserControlModel.cs從源碼結構看下拉框中實際可選的連線配置包含通用General、通用無截圖錯誤、第二解析度SecondResolution、MuMu、MuMu Pro、Androws騰訊應用寶、AVDAndroid 虛擬裝置、Nox夜神、XYAZ逍遙、PC、WSAWindows Subsystem for Android、相容Compatible等。配置項持久化為ConnectSettings.Config預設值為ConnectConfig.General見 ConnectSettings.cs。MuMu 截圖增強模式版本要求官版/方舟專版 MuMu V4.1.26 及以上或國際版 MuMu V5.21.3 及以上。在「設定 - 連線設定」勾選「啟用 MuMu 截圖增強」MAA 會嘗試自動獲取路徑。MuMu 安裝路徑填寫 MuMu 安裝目錄的根目錄即包含nx_device或shell資料夾的目錄例如C:\Program Files\Netease\MuMuPlayer。若正在使用 MuMu 網路橋接需勾選MuMu 網路橋接模式並手動填寫多開器內對應的模擬器實例編號主多開為0。MuMu 觸控增強模式需官方版 MuMu V6.3.2 及以上目前方舟專版與國際版均不支援。勾選「啟用 MuMu 截圖增強」後再勾選其下方的「啟用 MuMu 觸控增強」即可啟用。這裡有一個源碼級的重要細節MuMu 觸控增強TouchMode.MumuExtras的可用性綁定在截圖增強的開關上。ConnectSettings.OnDeserialized 在反序列化配置時會做保護——如果 MuMu 增強未啟用而TouchMode卻仍是MumuExtras會自動回退為MiniTouch避免下拉框選中懸空項、以及 Core 派生的控制器沒有可用 extras。這也解釋了介面中該觸控選項「勾選截圖增強後才會出現」的行為。雷電截圖增強模式需使用官版或國際版雷電模擬器 9 V9.1.32 及更新版本。在「設定 - 連線設定」勾選「啟用 LD 截圖增強」MAA 會嘗試自動獲取路徑。LD 模擬器路徑填寫LDPlayer9資料夾路徑例如C:\leidian\LDPlayer9\。執行個體編號填寫雷電多開器內對應的模擬器序號ID主多開為0。「自動獲取路徑」的實現可完整讀取 LDPlayerExtra.AutoDetectEmulatorPath它會依優先序依次讀取當前使用者登錄檔中的Software\leidian\ldplayer14、Software\leidian\ldplayer9、Software\mrfz\mrfz國際版三個鍵的InstallDir值並驗證目錄確實存在若偵測到多個安裝路徑會彈出選擇對話框讓使用者手動指定。路徑欄位還帶有兩道校驗見 EmulatorPath 屬性目錄不存在時提示LdPlayerEmulatorPathNotFound目錄下缺少ldopengl64.dll時提示LdPlayerOpenglMissing該 dll 是雷電外部渲染/截圖增強的載入依據檔案缺失說明選錯目錄或版本不符。實例編號支持兩種填法勾選「手動設定」直接填寫編號不勾選時 MAA 會從當前連線位址按上文(port - 5555) / 2公式自動推斷。最終提交給 Core 的 JSON 形如{ path: ..., index: ..., pid: ... }其中 pid 通過執行{EmulatorPath}\ldconsole.exe list2並解析其輸出第 6 欄位取得實現見 GetEmulatorPid。AVD 截圖增強模式需使用 Android Emulator v27.2.9 及更新版本只要是方舟開服之後下載的就沒問題。AVD 截圖增強模式在 MaaFramework 中實現必須選擇 MaaFwAdb 觸控模式才能啟用 AVD 截圖增強設定→連線設定→連線配置選擇「Android 虛擬裝置AVD」。觸控模式選擇MaaFwAdb。觸控模式五種觸控模式完整定義於 TouchMode.csMiniTouch/MaaTouch/Adb/MaaFwAdb/MumuExtras預設值為MiniTouch見 ConnectSettings.csMinitouch預設基於 C 語言編寫的 Android 觸控事件驅動程式透過操作evdev裝置提供 Socket 介面供外部程式觸發觸控事件與手勢。自 Android 10 開始若系統的 SELinux 為Enforcing強制模式Minitouch 將無法運作。MaaTouch實驗功能由 MAA 基於 Java 對 Minitouch 的重新實作改用 Android 原生的InputDevice介面並加入額外特性。ADB Input不推薦使用直接呼叫 ADB 執行 Android 內建的input指令來進行觸控操作僅用於相容系統版本過低的實體機裝置能用其他模式時不要選擇。ADB Input 的滑動容易拖飛為避免此問題滑動速度會設定得非常慢且滑動距離與其他模式不同在需要精確控制座標的場景下無法使用。MaaFwAdb實驗功能呼叫 MaaFramework 控制單元的螢幕截圖和觸控功能。不支援額外滑動額外滑動是主滑動結束後沿垂直方向追加一小段的「剎車」滑動軌跡類似拐 90° 的 L 形用於抵消列表慣性依賴額外滑動防止拖飛的頁面在該模式下會拖飛。Core 側對應實現見 MaaFwAdbController.cpp。MuMu 觸控增強實驗功能呼叫 MuMu 模擬器外部渲染處理程序的觸控介面需勾選「啟用 MuMu 截圖增強」後才會出現在觸控模式下拉選單中不可用時自動回退為 Minitouch。需官方版 MuMu V6.3.2 及以上方舟專版與國際版暫不支援。支援 MuMu「應用保活」背景掛機場景下操作。選錯了觸控模式會造成什麼後果從源碼結構看MaaFwAdb 模式下滑動不再追加「剎車段」因此依賴慣性修正的長列表拖動場景例如隊伍列表可能拖飛而MumuExtras與 AVD 截圖增強存在硬綁定前者需要觸控走外部渲染 IPC後者需要 MaaFramework 控制單元跨模式混用會直接失去增強能力。ADB Lite由 MAA 獨立實現的 ADB 用戶端使用 TCP 直接與 ADB Server 通信。相較原版 ADB 可避免頻繁開啟 ADB 處理程序並減少效能開銷但部分截圖方式不支援。對應配置項EnableAdbLite預設為false見 ConnectSettings.cs實時代碼位於 src/MaaCore/Controller/adb-lite/ 目錄client.hpp/client.cpp實現與 ADB Server 的會話與指令發送protocol.hpp/protocol.cpp實現 ADB 二進位協定的封包編解碼。推薦開啟但具體表現尚待回饋——如果你的模擬器/觸控組合在開啟 ADB Lite 後出現截圖失敗先回到原版 ADB 路徑排除問題。MAA 與模擬器多開實作方式若需多開模擬器同時執行可將 MAA 資料夾複製多份透過不同的 MAA 程式、同一個 adb.exe、不同的連線位址來進行連線。自動啟動多開模擬器以 BlueStacks 藍疊模擬器國際版操作步驟詳見 docs/zh-tw/manual/device/windows.md為例介紹兩種自動啟動多開模擬器的方式。透過附加指令啟動啟動單一模擬器多開。開啟工作管理員找到對應的模擬器處理程序切換到「詳細資料」索引標籤右鍵點擊標題列點選「選擇行」或選擇列勾選「命令列」。在多出來的「命令列」欄位中找到...\Bluestacks_nxt\HD-Player.exe之後的內容。將找到的內容例如--instance Nougat32填寫到 MAA 的「啟動設定 - 附加指令」中。注意操作結束後建議重新隱藏步驟 2 中開啟的「命令列」欄位以避免系統卡頓。範例多開 1: 模擬器路徑: C:\Program Files\BlueStacks_nxt\HD-Player.exe 附加指令: --instance Nougat32 --cmd launchApp --package com.hypergryph.arknights 多開 2: 模擬器路徑: C:\Program Files\BlueStacks_nxt\HD-Player.exe 附加指令: --instance Nougat32_1 --cmd launchApp --package com.hypergryph.arknights.bilibili其中--cmd launchApp --package部分是啟動後自動執行指定包名的應用程式可根據需求自行更改。透過模擬器的捷徑啟動部分模擬器支援建立應用程式捷徑可直接使用捷徑啟動模擬器並開啟《明日方舟》。開啟多開管理器新增對應模擬器的捷徑到桌面。將該模擬器捷徑的路徑填入 MAA 的「啟動設定 - 模擬器路徑」中。範例多開 1: 模擬器路徑: C:\ProgramData\Microsoft\Windows\Start Menu\Programs\BlueStacks\多開1.lnk 多開 2: 模擬器路徑: C:\ProgramData\Microsoft\Windows\Start Menu\Programs\BlueStacks\多開2-明日方舟.lnk若使用「模擬器路徑」捷徑方式進行多開操作建議將「啟動設定 - 附加指令」欄位清空。常見問題速查症狀優先處理自動偵測找不到模擬器以管理員權限啟動 MAA確認只有一個模擬器在運行手動填寫 ADB 路徑與位址位址一直連不上用adb devices或資源監控制器核對端口確認填入的是device狀態的位址BlueStacks 每次端口不同連線配置改「藍疊模擬器」 勾「每次重新偵測」仍失敗則按上節配置ConfigKeyword/ConfigPath雷電/ MuMu 截圖增強不生效核對版本要求LD ≥ V9.1.32MuMu 官版 V4.1.26確認安裝路徑欄位指向正確的根目錄LD 目錄需包含ldopengl64.dll觸控選項缺失或異常確認觸控模式與截圖增強開關的綁定關係見 ConnectSettings.OnDeserialized 的自動回退邏輯SELinux 為 Enforcing 時 Minitouch 不可用多開編號填錯雷電實例編號 (ADB 端口 - 5555) / 2主多開編號為0綜上MAA 的連線體系由「ADB 路徑 → 連線位址 → 連線配置 → 觸控模式」四層構成各層都有清晰的源碼落點持久化結構見 ConnectSettings.csUI 與偵測互動見 ConnectSettingsUserControlModel.cs模擬器增強的登錄檔偵測與校驗見 LDPlayerExtra.cs輕量 ADB 用戶端見 adb-lite。遇到文檔未覆蓋的模擬器時按「查端口 →adb devices驗證 → 選通用模式」的路徑排查基本可以覆蓋絕大多數場景。【免费下载链接】MaaAssistantArknights《明日方舟》小助手全日常一键长草| A one-click tool for the daily tasks of Arknights, supporting all clients.项目地址: https://gitcode.com/GitHub_Trending/ma/MaaAssistantArknights创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表