Files
MaaAssistantArknights/docs/zh-tw/manual/device/android.md
Lucien Shaw 14194d1118 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

7.4 KiB
Raw Blame History

order, icon
order icon
4 mingcute:android-fill

Android 實體設備

::: warning 此方法涉及 ADB 命令行,穩定性較低且仍需與電腦連接,不推薦 0 基礎玩家嘗試。 :::

::: info 注意

  1. 從 Android 10 開始Minitouch 在 SELinux 為 Enforcing 模式時不再可用,請切換至其他觸控模式,或將 SELinux 臨時切換為 Permissive 模式。
  2. 由於 Android 生態極為複雜,可在 MAA 設定 - 連接設定 中嘗試將 連接配置 修改為 通用模式兼容模式第二解析度通用模式(屏蔽異常輸出),直到某個模式可以正常使用。
  3. 由於 MAA 僅支援 16:9 比例的解析度,所以非 16:99:16 螢幕比例的設備需要強制修改解析度,這包含大多數現代設備。若被連接設備螢幕解析度比例原生為 16:99:16,則可跳過 更改解析度 部分。
  4. 請將設備導航方式切換為除 全面屏手勢 以外的方式,如 經典導航鍵 等以避免誤操作。
  5. 請將遊戲內設定中的 異形屏UI適配 一項調整為 0 以避免任務出錯。

:::

::: tip 典型的 16:9 比例的解析度有 3840*2160 (4K)、2560*1440 (2K)、1920*1080 (1080P)、1280*720 (720P)。 :::

下載、運行 adb 調試工具並連接設備

  1. 下載 adb 並解壓。

  2. 打開解壓後的資料夾,清空地址欄並輸入 cmd 後按回車。

  3. 在彈出的命令提示符視窗中輸入 adb,若顯示大量英文幫助文本則運行成功。

  4. 手機開啟 USB 調試,每個品牌的手機進入方式可能不同,請善用搜尋引擎。廠商可能會提供有關 USB 調試的額外選項,如 MIUI 中的 USB 安裝USB 調試(安全設置),請同時開啟。

  5. 將手機通過數據線連接至電腦,在剛剛的命令提示符視窗中輸入以下命令。

    adb devices
    
  • 成功執行後會顯示已連接 USB 調試 設備的信息。

    • 連接成功的例子:

      List of devices attached
      VFNDU1682100xxxx        device
      
    • device 前的英文數字組合為設備序列號,同時也作為 MAA 的 連接地址

  • 現代安卓設備進行 USB 調試 需在被調試設備上點擊彈窗授權,若未授權則例子如下:

    List of devices attached
    VFNDU1682100xxxx        unauthorized
    
  • 若無論如何都提示未授權或設備序列號後顯示 offline,則需重啟設備及電腦後重試。如仍未解決問題,可刪除當前用戶個人資料夾下的 .android 資料夾並再次重啟後重試,具體位置請自行搜尋。

更改解析度

::: tip 手機螢幕解析度為 短邊*長邊,而非電腦顯示器的 長邊*短邊。具體數值請根據目標設備自行確定。 :::

  • 如果上文設備列表內僅有一台設備,則可直接運行以下命令更改/還原解析度。

    # 查看當前解析度
    adb shell wm size
    # 還原預設解析度
    adb shell wm size reset
    
    # 更改解析度為 720p
    adb shell wm size 720x1280
    # 更改解析度為 1080p
    adb shell wm size 1080x1920
    
  • 若存在多台設備,則需在 adbshell 中間添加參數 -s <目標設備序列號>,例子如下。

    # 查看當前解析度
    adb -s VFNDU1682100xxxx shell wm size
    # 還原預設解析度
    adb -s VFNDU1682100xxxx shell wm size reset
    
    # 更改解析度為 720p
    adb -s VFNDU1682100xxxx shell wm size 720x1280
    # 更改解析度為 1080p
    adb -s VFNDU1682100xxxx shell wm size 1080x1920
    
  • 部分設計不規範的應用可能在還原解析度後內容佈局仍然錯亂,一般重啟對應應用或設備即可解決。

::: danger 注意 強烈建議在下次重啟設備前還原解析度,否則因設備而定可能會導致不可預料的後果,包括但不限於佈局混亂,觸控錯位,應用閃退,無法解鎖等。 :::

自動化更改解析度

  1. 在 MAA 目錄下新建兩個文本檔案,分別在其中填入以下內容。

    # 調整解析度為 1080p
    adb -s <目標設備序列號> shell wm size 1080x1920
    # 降低螢幕亮度(可選)
    adb -s <目標設備序列號> shell settings put system screen_brightness 1
    
    # 還原解析度
    adb -s <目標設備序列號> shell wm size reset
    # 提高螢幕亮度(可選)
    adb -s <目標設備序列號> shell settings put system screen_brightness 20
    # 返回桌面(可選)
    adb -s <目標設備序列號> shell input keyevent 3
    # 鎖屏(可選)
    adb -s <目標設備序列號> shell input keyevent 26
    
  2. 將第一個檔案重命名為 startup.bat,第二個檔案重命名為 finish.bat

    • 如果重命名後沒有彈出修改擴展名的二次確認對話框且檔案圖示沒有變化請自行搜尋“Windows 如何顯示檔案擴展名”。
  3. 在 MAA 的 設定 - 連接設定 - 開始前腳本結束後腳本 中分別填入 startup.batfinish.bat

連接 MAA

有線連接

::: tip 使用有線連接不需要任何 IP 地址或埠,只需要 adb devices 給出的設備序列號。 :::

  1. 將上文獲取到的目標設備序列號填入 MAA 設定 - 連接設定 - 連接地址 中。
  2. Link Start!

無線連接

  • 請確保設備與電腦處在同一區域網環境下且能互相通信。諸如 AP 隔離訪客網路 等設定會阻止設備間通信,具體請查閱對應路由器文檔。
  • 無線調試在設備重啟後失效,需要重新設定。

使用 adb tcpip 開啟無線埠

  1. 在剛剛的命令提示符視窗中輸入以下命令以開啟無線調試。

    adb tcpip 5555
    # 存在多台設備則添加參數 -s 以指定序列號
    
  2. 查看設備 IP 地址。

    • 進入手機 設定 - WLAN,點擊當前已連接的無線網路查看 IP 地址。
    • 各類品牌設備設定位置不同,請自行查找。
  3. <IP>:5555 填入 MAA 設定 - 連接設定 - 連接地址 中,如 192.168.1.2:5555

  4. Link Start!

使用 adb pair 開啟無線埠

::: tip adb pair 無線配對,即使用安卓 11 及更新版本中開發者選項內的 無線調試 進行配對後連接,與 adb tcpip 相比可以避免有線連接。 :::

  1. 進入手機開發者選項,點擊 無線調試 並開啟,點擊確定,點擊 使用配對碼配對設備,在配對完成前不要關閉出現的彈窗。

  2. 進行配對。

    1. 在命令提示符中輸入 adb pair <設備彈窗給出的 IP 地址和埠>,按回車。
    2. 輸入 <設備彈窗給出的六位配對碼>,按回車。
    3. 視窗出現 Successfully paired to <IP:埠> 等內容,同時設備上的彈窗自動消失,底部已配對的設備中出現計算機名稱。
  3. 將當前設備螢幕上給出的 <IP 地址和埠> 填入 MAA 設定 - 連接設定 - 連接地址 中,如 192.168.1.2:11451一定和剛剛填寫的不一樣

  4. Link Start!

使用 root 權限開啟無線埠

都接觸到 root 了還用得著看這段文檔嗎

  1. 下載、安裝 WADB 並授予其 root 權限。
  2. 打開 WADB啟動無線 adb。
  3. 將 WADB 提供的 IP 地址及埠填入 MAA 設定 - 連接設定 - 連接地址 中,如 192.168.1.2:5555
  4. Link Start!