Files
MaaAssistantArknights/docs/zh-tw/manual/connection.md
Lucien Shaw e461208bf9 chore: 完善容器配置及依赖安装 (#14208)
格式化工具部分:
1. pre-commit 引入 python 的格式化工具,包括 black(代码格式化)和 isort(对“包导入顺序”的规范)
2. 允许 prettier 对文档站的 markdown 文件格式化
3. 不允许 prettier 对 markdown 文件中的代码块的代码本身进行格式化
4. 升级了 pre-commit 的各个 hook 的版本
5. 优化了 pre-commit 的日志文本显示

容器总览部分:
1. 由原来的单一轻量环境转为区分空环境、轻量环境和全量环境
2. 空环境是裸 Linux 镜像(Ubuntu),为默认环境
3. 轻量环境适合开发文档站前端
4. 全量环境适合开发 MaaCore
5. 目前,全量环境完整包含了轻量环境,轻量环境完整包含了空环境
6. 在仓库 README.md 中更新了三个环境的描述,并将链接分别设置为对应环境的创建链接
   **注意:没有修改文档站中的对应文件**
7. 在各个语言的开发指南的最后,移除了 Codespace 部分的“安装额外依赖”相关描述,且将链接设置为全量环境的创建链接
   **注意:没有添加“开发文档站”的指南和对应 codespace 的使用方式**

容器的轻量环境和全量环境共有部分:
1. 安装 black 和 isort 包
2. 调整 VS Code 设置,取消先前(对 markdown 文件单独指定 markdownlint 扩展作为格式化工具)的错误设置,现在 markdown 文件仍然使用默认的 prettier 扩展作为格式化工具
3. 引入 markdown-all-in-one 扩展作为语法提示工具
4. 将 node_modules 和 3rdparty 排除在 VS Code 的文本的搜索路径之外

容器的全量环境部分:
1. 为 tools 下的所有 python 脚本安装依赖
2. 使用 tools/maadeps-download.py 下载 maadeps,且将必要二进制文件软链接到 /usr/local/bin/
3. 使用 apt 安装 cmake 和 clangd-20,将后者通过 update-alternatives 设置为系统 clangd 的默认版本
4. 使用 cmake tools 扩展,并按照 Linux 编译方法进行配置
5. 使用 clang-format 作为 c/cpp 的格式化工具,clang-format 程序主体来自 maadeps(已经软链接到 /usr/local/bin/)
6. 使用 clangd 作为 c/cpp 的语法提示工具
7. 将 MaaDeps、install 和 build 排除在 VS Code 的文本搜索路径之外

其它手动调整:
1. 更新文档站的 package.json,指定 pnpm 包管理器的版本
2. 手动保证 markdown 文件中的列表前后有空行(注意到 MarkdownLint 官方规则不一定能精准定位所有“列表前后空行”的问题,详见:https://github.com/DavidAnson/markdownlint/blob/main/doc/Rules.md#md032---lists-should-be-surrounded-by-blank-lines )
3. 修改了部分 markdown 文件中的 json 代码块的语法问题
   **注意:相同的问题并未全部发现,仅修改了两处**
4. 在 tools 目录中,一处 python 脚本的包名误用(本地包名和某个 pip 包重名),这里修改了相应代码
5. 在 tools 目录中,一处 python 脚本使用了弃用的包 cchardet 的问题,这里更换了推荐使用的功能相近的包并修改了相应代码

自动化脚本提交的修改:
1. 自动格式化了大量 tools 中的 python 脚本
2. 自动格式化了大量 docs 中的 markdown 文件

Commits:

* chore: pre-commit引入black和isort规范py文件

* chore: Auto update by pre-commit hooks [skip changelog]

* chore: devcontainer添加isort扩展,排序python导入

* chore: pre-commit任务命名及更名

* style: isort fix

* chore: Auto update by pre-commit hooks [skip changelog]

* chore: 更新pre-commit的hook版本

* fix: 模块名与第三方库重名,大忌

* chore: 容器构建时额外安装isort

* docs: md -> markdown

* chore: 容器安装python包和maadeps

* fix: 修复过时python包

* chore: 指定pnpm版本

* chore: container支持选择轻量环境

* chore: 去掉rust

* chore: add plain env

* chore: 使用clangd语言服务器

* chore: 无需单独设置markdown的格式化工具

* chore: 更新安装的clangd版本

* docs: 简易文档适配

* docs: 在仓库README中重新编排codespaces相关指引

* chore: Auto update by pre-commit hooks [skip changelog]

* style: 调整缩进

* chore: 格式化工具不用特意排除被gitignore忽略的文件

* chore: sh文件在gitattributes中单列一类

* chore: 格式化docs下的markdown文件

* chore: 暂时不修改md文件中的代码块

* style: 人为明确markdown中的部分列表相关格式

* docs: 补上部分markdown的json代码块中缺失的逗号

* chore: Auto update by pre-commit hooks [skip changelog]

* chore: Auto update by pre-commit hooks [skip changelog]

* fix: 补上tools的服务器排序相关代码中缺失的逗号

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* chore: 使用maadeps的clangd

* build: 更新maadeps工具链版本

* style: prettier fix

* revert: 还原maadeps版本

* revert: 取消使用maadeps的clangd依赖,改用系统apt安装

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-09-30 19:39:48 +08:00

9.7 KiB
Raw Blame History

order, icon
order icon
3 mdi:plug

連接設定

ADB 路徑

:::info 技術細節 自動檢測使用的是模擬器的 ADB但有時自動檢測會出現問題此時就需要手動設定。 強制替換 ADB 是下載 Google 提供的 ADB 後再進行替換,如果自己設定 Google 的 ADB 即可一勞永逸。 :::

使用模擬器提供的 ADB

前往模擬器安裝路徑Windows 可在模擬器執行時,在工作管理員中右鍵程式點選 開啟檔案位置

頂層或下層目錄中應該會有一個名字中帶有 adb 的 exe 檔案,可以使用搜索功能,然後選擇。

:::details 一些範例 adb.exe HD-adb.exe adb_server.exe nox_adb.exe :::

使用 Google 提供的 ADB

點選下載 後解壓縮,然後選擇其中的 adb.exe

推薦直接解壓縮到 MAA 資料夾下,這樣可以直接在 ADB 路徑中填寫 .\platform-tools\adb.exe,也可以隨著 MAA 資料夾一起移動。

連接地址

::: tip 執行在本機的模擬器連接地址應該是 127.0.0.1:<埠號>emulator-<四位數字>。 :::

獲取埠號

模擬器相關文件及參考埠

其他模擬器可參考 趙青青的部落格

獲取多開埠

  • MuMu 多開器右上角可檢視正在執行的多開埠。
  • Bluestacks 5 模擬器設定內可檢視當前的多開埠。
  • 待補充

::: details 備選方案

  • 方案 1 : 使用 ADB 命令檢視模擬器埠

    1. 啟動一個模擬器,並確保沒有其他安卓裝置連接在此電腦上。
    2. 在存放有 ADB 可執行檔案的資料夾中啟動終端。
    3. 執行以下命令。
    # Windows 命令提示符
    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. 執行方案 1。
    2. 按下 Win+S 開啟搜尋欄,輸入 資源監視器 並開啟。
    3. 切換到 網路 索引標籤,在 接聽連接埠 的名稱列中查詢模擬器程式名,如 HD-Player.exe
    4. 記錄模擬器程式的所有接聽連接埠。
    5. TCP 連接 的名稱列中查詢 adb.exe,在遠端連接埠列中與模擬器接聽連接埠一致的埠,即為模擬器除錯埠。

:::

藍疊模擬器 Hyper-V 每次啟動埠號都不一樣

連接設定 中設定 連接配置藍疊模擬器 ,隨後勾選 自動檢測連接每次重新檢測

通常情況下這樣就可以連接。如果無法連接,可能是存在多個模擬器核心,或出現了問題,請閱讀下文進行額外設定。

指定 Bluestacks.Config.Keyword

::: info 注意 如果啟用了多開功能或安裝了多個模擬器核心,則需要進行額外設定來指定使用的模擬器編號 :::

.\config\gui.json 中搜索 Bluestacks.Config.Keyword 欄位,內容為 "bst.instance.<模擬器編號>.status.adb_port",模擬器編號可在模擬器路徑的 BlueStacks_nxt\Engine 中看到

::: details 範例 Nougat64 核心:

"Bluestacks.Config.Keyword":"bst.instance.Nougat64.status.adb_port",

Pie64_2 核心:(核心名稱後的數字代表這是一個多開核心)

"Bluestacks.Config.Keyword": "bst.instance.Pie64_2.status.adb_port",

:::

指定 Bluestacks.Config.Path

::: info 注意 MAA 現在會嘗試從登錄檔中讀取 bluestacks.conf 的儲存位置,當該功能無法工作時,則需要手動指定配置檔案路徑 :::

  1. 在藍疊模擬器的資料目錄下找到 bluestacks.conf 這個檔案

    • 國際版預設路徑為 C:\ProgramData\BlueStacks_nxt\bluestacks.conf
    • 中國版預設路徑為 C:\ProgramData\BlueStacks_nxt_cn\bluestacks.conf

    注:C:\ProgramData為隱藏目錄,必要時請在檔案資源管理器的地址欄中直接貼上該地址,以便進入目錄並進行尋找。

  2. 如果是第一次使用,請執行一次 MAA使 MAA 自動生成配置檔案。

  3. 先關閉 MAA然後開啟 gui.json,找到 Configurations 下的當前配置名欄位(可在 設定-切換配置 中檢視,預設為 Default),在其中搜索欄位 Bluestacks.Config.Path,填入 bluestacks.conf 的完整路徑。(注意斜槓要用轉義 \\

::: details 範例 以 C:\ProgramData\BlueStacks_nxt\bluestacks.conf 為例

{
  "Configurations": {
    "Default": {
      "Bluestacks.Config.Path": "C:\\ProgramData\\BlueStacks_nxt\\bluestacks.conf"
      // 其餘配置欄位,不要手動輸入修改
    }
  }
}

:::

連接配置

需選擇對應模擬器的配置,若列表中沒有則選擇通用配置。若通用配置不可用,請嘗試並選擇其他任一可用的配置。

具體區別可以閱讀原始碼

MuMu 截圖增強模式

需使用官版或方舟專版的 MuMu V4.1.26 及更新版本。

  1. 設定 - 連接設定,勾選 啟用 MuMu 截圖增強模式MAA 會在勾選開關時嘗試通過註冊表自動填寫安裝路徑。

  2. MuMu 安裝路徑 填寫 MuMu PlayerMuMuPlayerGlobal-12.0YXArkNights-12.0 資料夾的路徑,如 C:\Program Files\Netease\MuMuPlayerGlobal-12.0

  3. 若正在使用 MuMu 網絡橋接,則需勾選 MuMu 網絡橋接模式 後手動填寫 MuMu 多開器內對應模擬器的序號,如主多開為 0

雷電截圖增強模式

需使用中國版或國際版雷電模擬器 9 V9.1.32 及更新版本。

  1. 設定 - 連接設定,勾選 啟用 LD 截圖增強模式MAA 會在勾選開關時嘗試通過註冊表自動填寫安裝路徑。

  2. LD 安裝路徑 填寫 LDPlayer9 資料夾的路徑,如 C:\leidian\LDPlayer9\

  3. 例項編號 填寫雷電多開器內對應模擬器的編號ID如主多開為 0

觸控模式

  1. Minitouch:使用 C 編寫的 Android 觸控事件器,操作 evdev 裝置,提供 Socket 介面供外部程式觸發觸控事件和手勢。從 Android 10 開始Minitouch 在 SELinux 為 Enforcing 模式時不再可用。
  2. MaaTouch:由 MAA 基於 Java 對 Minitouch 的重新實現,使用安卓原生的 InputDevice,並添加了額外特性。高版本 Android 可用性尚待測試。幫我們做做測試
  3. Adb Input直接呼叫 ADB 使用安卓的 input 命令進行觸控操作,相容性最強,速度最慢。

ADB Lite

由 MAA 獨立實現的 ADB Client使用 TCP 直接與 ADB Server 通訊。相較原版 ADB 可以避免不停開啟多個 ADB 程式,減少效能開銷,但部分截圖方式不可用。PR

推薦啟用,但具體優缺點尚待反饋。幫我們做做測試 x2

MAA 和模擬器多開

::: info 若需要多開模擬器同時操作,可將 MAA 資料夾複製多份,使用 不同的 MAA同一個 adb.exe不同的連接地址 來進行連接。 :::

自動啟動多開模擬器

藍疊國際版為例,介紹兩種自動啟動多開模擬器的方式。

透過附加命令啟動

  1. 啟動單一模擬器多開。
  2. 開啟工作管理員,找到對應模擬器程式,轉到詳細資訊索引標籤,右鍵列首,點選 選擇列,勾選 命令列
  3. 在多出來的 命令列 列中找到 ...\Bluestacks_nxt\HD-Player.exe" 後的內容。
  4. 將找到的類似於 --instance Nougat32 的內容填寫到 啟動設定 - 附加命令 中。

::: note 操作結束後建議重新隱藏 步驟 2 中開啟的 命令列 列以防止卡頓 :::

::: details 範例

多開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 部分為啟動後自動執行指定包名應用,可自行更改。 :::

透過模擬器的快捷方式啟動

部分模擬器支援建立應用快捷方式,可直接使用應用的快捷方式直接啟動模擬器並開啟明日方舟。

  1. 開啟多開管理器,新增對應模擬器的快捷方式。
  2. 將模擬器快捷方式的路徑填入 啟動設定 - 模擬器路徑

::: details 範例

多開1:
模擬器路徑: C:\ProgramData\Microsoft\Windows\Start Menu\Programs\BlueStacks\多開1.lnk
多開2:
模擬器路徑: C:\ProgramData\Microsoft\Windows\Start Menu\Programs\BlueStacks\多開2-明日方舟.lnk

:::

若使用 模擬器路徑 進行多開操作,建議將 啟動設定 - 附加命令 置空。