Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion docs/components/ime.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
带窗口用模拟器时,它让你直接用 Windows 的输入法给安卓打字:中文、AltGr 组合键、死键都行。自动化脚本也可以用模拟器控制台的 `ime commit <文本>` 打任意语言的文字。

- 不显示任何输入界面;物理按键和 `adb shell input` 注入照旧直达应用,游戏和自动化不受影响。
- 不申请任何权限,不存任何数据,日志里不记打出的文字。
- 不申请额外权限,也不把输入内容或通道数据持久化到文件;运行日志写入 Android logcat,正常日志不记录打出的文字。调试日志和系统日志仍可能由 Android 保留,见 [宿主输入法日志](../develop/ime#日志)。
- 要 ModAVD 0.35.0 或更新的模拟器(这一版起有 `modavd_ime` 通道),安卓 11 以上。旧模拟器上装了也只是在后台退避重连,不会崩。

## 怎么装上
Expand Down
6 changes: 5 additions & 1 deletion docs/components/manager.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,9 @@
# 管理器和命令行

::: warning 版本范围
本页的普通用户说明以 ModAVD `v0.36.0` 整包随附的 ModAVDManager `v0.1.0` 为准。Manager 仓库 `main` 中的后续实现(例如新建时后台初始化和 `update` 命令)要等独立 Release 发布后才适用于下载包。
:::

ModAVD 0.36.0 起包里带两个管理程序,源码在 [ModAVDManager](https://github.com/ModAVD/ModAVDManager):

| 程序 | 位置 | 给谁用 |
Expand All @@ -11,7 +15,7 @@ ModAVD 0.36.0 起包里带两个管理程序,源码在 [ModAVDManager](https:/

## 管理器

双击包根的 `ModAVD.exe`:起一个只听 127.0.0.1 的本地服务,再用 Edge 的应用模式开一个窗口(Windows 10 / 11 自带 Edge);找不到 Edge 时用默认浏览器。页面内嵌在程序里,不联网。
双击 `v0.36.0` 整包中的 `ModAVD.exe`:起一个只听 127.0.0.1 的本地服务,再用 Edge 的应用模式开一个窗口(Windows 10 / 11 自带 Edge);找不到 Edge 时用默认浏览器。该整包中的管理器页面内嵌在程序里,日常操作不需要联网;单独下载的 Manager 版本可能包含不同的更新功能,请以它自己的 Release 说明为准。

- 功能:实例卡片(在线时有画面缩略图)、开关机(带进度)、新建、设置、删除、电脑检查、活动面板、画面查看(点击即点按,返回 / 主页 / 最近任务)、日志、安装 APK、打开目录;浅色 / 深色 / 跟随系统。
- 一个根目录只开一个服务,再双击只是把窗口重新打开;日志在 `<根>\logs\modavd-ui.log`。
Expand Down
2 changes: 1 addition & 1 deletion docs/develop/automas.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# AUTO-MAS 对接

**改什么**:[AUTO-MAS](https://github.com/AUTO-MAS-Project/AUTO-MAS) 里管理 ModAVD 实例的部分,正在从它自己的 Python 实现改成调用 `modavd` 命令行。
**对接状态**:ModAVD 提供 `modavd` 命令行和 MCP 服务,能够独立管理实例;[AUTO-MAS](https://github.com/AUTO-MAS-Project/AUTO-MAS) 是独立的自动化项目。两边兼容部分实例格式和运行约定,但 AUTO-MAS 是否以及何时改用 `modavd`,以 AUTO-MAS 自己的代码和 Release 为准。本页描述对接方向,不表示已经完成迁移、正式合作或共同维护。

## 环境

Expand Down
2 changes: 2 additions & 0 deletions docs/develop/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,8 @@ ModAVD 只有一个维护者,回复可能要几天。大一点的改动请先

想知道各部分要什么环境和硬件、用 AI 工具时选什么模型,见[分区一览和通用要求](./overview)。

四个仓库的职责和问题入口见[项目组成与协作边界](./overview#项目组成与协作边界)。ModAVD 负责模拟器补丁、执行桥、随包脚本和整包;ModAVDManager 负责管理器、CLI、MCP 和实例生命周期;ModAVDHostIME 负责客体输入法;AUTO-MAS 是独立的自动化集成方。技术兼容和接口对接不表示正式合作或共同维护。

## 最需要的:在你的电脑上试

维护者只在一台 Windows 11、AMD CPU、NVIDIA 独显的电脑上测过。最缺这些配置的实测:Intel CPU,AMD 或 Intel 显卡,笔记本双显卡,Windows 10,16 GB 内存。
Expand Down
2 changes: 1 addition & 1 deletion docs/develop/manager.md
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,7 @@ CI 在 PR 上跑格式检查、`go vet`、`go test`、`build.ps1`、隐私扫描

## 版本

管理器从 v0.1.0 起单独编号、单独发版。ModAVD 整包发版时钉住当时的管理器版本和哈希;整包里的那份不自更新,跟着整包一起换;单独下载的计划从 v0.2.0 起带自更新(v0.1.0 还没有)。
管理器从 v0.1.0 起单独编号、单独发版。当前已发布的独立版本是 `v0.1.0`,ModAVD `v0.36.0` 整包钉住同一版本和哈希;整包里的那份不自更新,跟着整包一起换。`main` 中后续的 `update` 命令用于更新整个 ModAVD 根目录,不等于管理器独立包自更新;其中的 `0.2.0` 初始化和更新相关实现尚未随独立 Release 发布。AUTO-MAS 是否改用该命令由 AUTO-MAS 自己的维护者决定。

## 模型建议

Expand Down
24 changes: 19 additions & 5 deletions docs/develop/overview.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,18 @@ ModAVD 是 AOSP Android Emulator 加一批补丁,WHPX 加速,gfxstream 渲
| [游戏实测、兼容性报告](./testing) | 置顶的「兼容性报告」issue | — | 低到中 | 不能 | 看日志 Sonnet 5.5 / GPT-6.1 Terra;整理 Haiku 5.5 / GPT-6 Luna |
| [适配新游戏](./adapt-game)(起不来、跑不好) | 查清原因后落在执行桥、本体或自动化脚本 | 看原因 | 中到高 | 不能 | 分类看日志 Sonnet 5.5 / GPT-6.1 Sol;查转译层、图形的根因 Opus 5.5 / GPT-6 Astra |

## 项目组成与协作边界

| 项目 | 主要职责 | 发布与问题反馈 |
|---|---|---|
| [ModAVD](https://github.com/ModAVD/ModAVD) | 模拟器补丁、arm64 执行桥、随包脚本、整包构建和发布 | 整包 Release;模拟器、桥和随包脚本问题提到 ModAVD |
| [ModAVDManager](https://github.com/ModAVD/ModAVDManager) | 图形管理器、CLI、MCP 和实例生命周期 | 独立 Release;管理器、CLI、MCP 问题提到 ModAVDManager |
| [ModAVDHostIME](https://github.com/ModAVD/ModAVDHostIME) | 客体侧宿主输入法 APK 和协议实现 | 独立 Release;输入法和客体协议问题提到 ModAVDHostIME |
| [modavd.github.io](https://github.com/ModAVD/modavd.github.io) | 使用说明、组件说明和开发文档 | 文档问题提到本站仓库;内容以对应代码和 Release 为准 |
| [AUTO-MAS](https://github.com/AUTO-MAS-Project/AUTO-MAS) | 独立的自动化编排、脚本和任务流程 | AUTO-MAS 自己的代码、Release、网络和隐私问题提到 AUTO-MAS |

ModAVD 的 QEMU 补丁提供宿主侧输入法通道,ModAVDHostIME 实现客体侧协议;协议或版本变化需要在相关仓库分别同步。技术兼容和接口对接不表示这些项目存在正式合作、共同维护或相互代表关系。

## 所有分区都适用的要求

- **系统**:Windows 11 x64(Windows 10 测得少,欢迎报告),BIOS 里开着虚拟化,打开「Windows 虚拟机监控程序平台」(WHPX)。
Expand All @@ -34,7 +46,9 @@ ModAVD 是 AOSP Android Emulator 加一批补丁,WHPX 加速,gfxstream 渲
- 从自己的 fork 开 PR;
- 署自己的名字或化名;
- 外部 PR 的 CI 要维护者批准后才会跑。
- **用 AI 工具**:可以用。改动要让 AI 自己测过:编译、跑单元测试,能开实例的就开实例看结果,在 PR 里写明测了什么、结果如何。不要把账号、密钥、私人路径交给 AI 工具。见[用 AI 工具协助](./ai)。
- **用 AI 工具**:可以用。提交者仍要对改动负责;能编译、能开实例的代码改动应尽可能实际验证,在 PR 里写明实际运行过的检查和结果。不要把账号、密钥、私人路径交给 AI 工具。见[用 AI 工具协助](./ai)。

CI 绿灯只表示相应仓库声明的静态、构建或协议检查通过,不代表完整编译、Windows 实机启动、GPU 或游戏兼容性验证,也不代表 AUTO-MAS 全流程已经验证。跨仓库改动要分别说明每个仓库的基线、依赖和实际测试结果。

### 开一台实例要什么

Expand All @@ -44,12 +58,12 @@ ModAVD 是 AOSP Android Emulator 加一批补丁,WHPX 加速,gfxstream 渲
- **内存**:实例内存可选 3 / 4 / 5 / 6 GB(AUTO-MAS 默认 6 GB),开机时电脑还要再空出约 1.5 GB;模拟器自身另占约 0.6–0.75 GB。
- **硬盘**:放在 NTFS 盘上。组件和模拟器本体共约 5 GB(补全组件时要 6.5 GB 可用);每台实例第一次开机,所在的盘要有 10 GB 以上可用,不装游戏的新实例实际只占约 1.1 GB。装了游戏的实例要几十 GB,见[游戏实测](./testing)。

## 现在正在做的
## 当前状态和对接方向

动手前先看,免得撞车:

- AUTO-MAS 改用 `modavd` 命令行管理实例;
- ModAVDManager:补 CI、发第一个独立版本 v0.1.0,0.2.0 准备加自更新和「新建时把初始化一次做完」,并修几个已知问题;
- ModAVDHostIME:补 CI、发第一个独立版本 v1.0.0。
- AUTO-MAS 与 `modavd` 命令行的对接方向;是否以及何时切换由 AUTO-MAS 自己的维护者和 Release 决定;
- ModAVDManager 的第一个独立版本 `v0.1.0` 已发布;`main` 中的 `0.2.0` 初始化和整包 `update` 实现尚未随独立 Release 发布;
- ModAVDHostIME 的第一个独立版本 `v1.0.0` 已发布,后续协议和 APK 变更按该仓库的 Release 说明为准。

想做的事和这些有交集,先在对应仓库开 issue 说一声。
6 changes: 3 additions & 3 deletions docs/en/index.md
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
# ModAVD

ModAVD is a modified build of the AOSP Android Emulator (37.2.10) for running unattended automation scripts on Windows. It is currently used through [AUTO-MAS](https://github.com/AUTO-MAS-Project/AUTO-MAS). Most of this site is in Chinese; this page is a short summary.
ModAVD is a modified build of the AOSP Android Emulator (37.2.10) for Windows, with a focus on unattended automation. It is commonly integrated with the independent [AUTO-MAS](https://github.com/AUTO-MAS-Project/AUTO-MAS) project, and the 0.36.0 package also includes a manager and CLI that can manage instances without AUTO-MAS. This describes compatibility, not a formal partnership or joint maintenance arrangement. Most of this site is in Chinese; this page is a short summary.

- **Privacy**: the emulator itself does not contact servers on its own: no usage metrics, no crash report upload, no update check, no feature-flag download. Crash dumps stay on your machine. The only exception is the map on the Location page of the extended controls, if you open it in windowed mode. The Android system and its apps use the network as usual.
- **Privacy in the published 0.36.0 package**: the emulator build disables usage-metrics upload, crash-report upload, update checks, and feature-pattern downloads. Crash dumps stay on the host. The Location page of the extended controls can still load Google Maps when opened in windowed mode. The Android system and its apps use the network as usual. This is a description of the current release, not a permanent promise for future versions.
- **Requirements**: Windows 10/11 64-bit, an x86_64 CPU with virtualization enabled, the Windows Hypervisor Platform (WHPX) feature, and a GPU with Vulkan drivers.
- **Install**: download the release zip from [Releases](https://github.com/ModAVD/ModAVD/releases), extract it to a path with ASCII characters only, run `补全组件.bat` (it shows the Android SDK License Agreement and downloads adb and the Android 14 system image from Google's official channels after you accept), then add the folder in AUTO-MAS. From 0.36.0 the package also has a manager (`ModAVD.exe`) and a CLI with an MCP server (`tools\modavd.exe`).
- **Install**: download the release zip from [Releases](https://github.com/ModAVD/ModAVD/releases), extract it to a path with ASCII characters only, run `补全组件.bat` (it shows the Android SDK License Agreement and downloads adb and the Android 14 system image from Google's official channels after you accept), then either add the folder in AUTO-MAS or point the bundled manager/CLI at it. From 0.36.0 the package also has a manager (`ModAVD.exe`) and a CLI with an MCP server (`tools\modavd.exe`).
- **Components**: the emulator patches, the arm64 execution bridge and the bundled scripts live in [ModAVD/ModAVD](https://github.com/ModAVD/ModAVD); the manager and CLI in [ModAVD/ModAVDManager](https://github.com/ModAVD/ModAVDManager); the host IME in [ModAVD/ModAVDHostIME](https://github.com/ModAVD/ModAVDHostIME).
- **Licenses**: documents (including this site) are Apache-2.0. ModAVD's own programs (bundled scripts, arm64 bridge, manager and CLI, host IME) are AGPL-3.0-or-later. Each emulator patch is licensed like the files it changes (QEMU patches are mostly GPL-2.0; gfxstream and Crashpad patches are Apache-2.0). The binaries contain third-party components listed in `LICENSES\NOTICE.txt`; the complete corresponding source code is attached to each release.
- **Icon and artwork**: the program icons and the images in the repositories are fan art of Eyjafjalla from Arknights (character © Shanghai Hypergryph). They are not covered by any code or document license. This project is not affiliated with or endorsed by Hypergryph.
Expand Down
4 changes: 2 additions & 2 deletions docs/guide/changes.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

下面是当前版本(`0.36.0`,构建号 mas-36,基于 Google AOSP Android Emulator 37.2.10)里对使用者有影响的改动。逐个补丁见 ModAVD 仓库的 [`patches/`](https://github.com/ModAVD/ModAVD/tree/main/patches),每一版的改动见 [Release 说明](https://github.com/ModAVD/ModAVD/releases)。

## 不往外发东西
## 宿主侧联网和隐私行为

- 不上传使用统计(`-metrics-collection` 按 `-no-metrics` 处理)。
- 不上传崩溃报告,也不弹窗询问;崩溃转储只存在本机,保留最新 5 份。
Expand All @@ -12,7 +12,7 @@

## 扛得住强行结束

- 数据盘以直写(write-through)方式交给安卓,强行结束模拟器进程不会弄坏虚拟磁盘(qcow2)的元数据,我们的硬杀测试里没有出现过损坏。关机前最后几秒还没写到盘上的文件仍可能丢失。
- 数据盘以直写(write-through)方式交给安卓,降低强行结束模拟器进程时 qcow2 元数据损坏的风险;仍应先执行 `adb shell sync`,关机前最后几秒还没写到盘上的数据、客体文件或应用层状态仍可能丢失或不一致。
- 修了崩溃处理程序(crashpad_handler)随机退出的问题。原来它退出以后,模拟器再崩溃时会一直卡住、也不留转储。

## 少占资源
Expand Down
8 changes: 6 additions & 2 deletions docs/guide/index.md
Original file line number Diff line number Diff line change
@@ -1,13 +1,17 @@
# 这是什么

ModAVD(魔改 AVD)是给 Windows 上的挂机脚本用的安卓模拟器。基于 AOSP Android Emulator 37.2.10,加了一批补丁后自己编译。
ModAVD(魔改 AVD)是面向 Windows、重点优化无人值守自动化的安卓模拟器,也可以由随包的管理器或命令行独立管理。基于 AOSP Android Emulator 37.2.10,加了一批补丁后自己编译。

现在配合 [AUTO-MAS](https://github.com/AUTO-MAS-Project/AUTO-MAS) 使用:建实例、开关机、接截图和点击都由 AUTO-MAS 完成。0.36.0 起包里另带管理器 `ModAVD.exe` 和命令行 `tools\modavd.exe`,也可以不经 AUTO-MAS 自己管实例。
可以与独立的 [AUTO-MAS](https://github.com/AUTO-MAS-Project/AUTO-MAS) 项目集成,由它负责自己的实例编排、脚本和任务流程。0.36.0 起包里另带管理器 `ModAVD.exe` 和命令行 `tools\modavd.exe`,也可以不经 AUTO-MAS 自己管理实例。

::: info 非官方项目
这是非官方项目,与 Google 没有关联。
:::

::: warning 版本范围
本页的普通用户说明以最新已发布整包 `v0.36.0` 为准;各组件的 `main` 可能包含尚未随整包发布的后续实现,下载包的行为以对应 Release 说明和包内版本为准。
:::

- 一个跑在 Windows 上的安卓模拟器,用 Windows 虚拟机监控程序平台(WHPX)做硬件加速。
- 面向无人值守的挂机:通常不开窗口(无头)运行,由脚本拉起、跑完关掉;需要看画面或手动登录游戏时,也可以带窗口启动。
- 模拟器本体来自 Google 开源的 [Android Emulator](https://android.googlesource.com/platform/external/qemu/)。我们改了其中的 QEMU、gfxstream(图形转发)和 Crashpad(崩溃处理),改动以补丁形式公开。
Expand Down
14 changes: 8 additions & 6 deletions docs/guide/privacy.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,9 @@

这里说的「模拟器」指 Release 包里 `sdk\emulator\` 下的程序,运行在你的 Windows 上。安卓系统和里面的应用另说,见后文。

## 模拟器自己不联网
## 已发布版本的模拟器联网行为

下面的具体行为以当前已发布的 ModAVD `v0.36.0` 整包为准。`main` 中尚未随 Release 发布的改动不自动适用于下载包;如果未来增加新的数据处理或联网功能,应按实际版本另行说明。

官方 Android Emulator 会在后台访问 Google 的服务器。ModAVD 把这些都去掉了:

Expand Down Expand Up @@ -40,11 +42,11 @@

- **补全组件.bat**:只在你运行它时联网,依次访问 googledownloads.cn、mirrors.cloud.tencent.com、dl.google.com,下载许可协议清单、adb 和系统镜像。请求里只有普通的下载信息(用户代理是 `ModAVD-fetch-components/1.0`),不带任何标识。过程记在文件夹里的 `logs\fetch-components.log`。
- **收集问题信息.bat**:只在本机读文件、打包,不联网,也不上传。它会读模拟器和 AUTO-MAS 的日志、崩溃转储,开着的实例还会截一张图;不碰实例的磁盘镜像,也不碰 AUTO-MAS 存账号密码的 `config`、`data` 文件夹。生成的 zip 要不要发由你决定;崩溃转储不要公开上传,要发就发邮件,见[反馈问题](./feedback)。
- **管理器 `ModAVD.exe`**:起一个只听 127.0.0.1 的本地服务,页面内嵌在程序里,不联网。
- **宿主输入法**:不申请任何权限,不存任何数据,日志里不记打出的文字。
- **管理器 `ModAVD.exe`**:起一个只听 127.0.0.1 的本地服务,页面内嵌在程序里;日常本地操作不需要联网,用户显式检查或下载更新时才会访问对应更新源,具体能力以组件 Release 为准。
- **宿主输入法**:不申请额外权限,不把输入内容或通道数据持久化到自己的文件;运行日志写入 Android `logcat`,正常日志不记录打出的文字。

## 本项目不收集任何数据
## 项目自己的数据处理范围

ModAVD 没有服务器,也没有任何统计。我们能看到的,只有你自己在 Issues 里贴出来的内容和你发到反馈邮箱的问题包。
当前 ModAVD `v0.36.0` 发布包没有项目自有的统计、遥测或崩溃上传服务。你主动提交到 GitHub Issues 或反馈邮箱的内容由相应服务处理;问题包是否发送、发送给谁,由你决定。

本站是 GitHub Pages 上的静态页面,不加统计脚本,不从别的网站取字体。GitHub 自己会记访问日志,见 GitHub 的隐私声明。
本站是 GitHub Pages 上的静态页面,不加项目自己的统计脚本,不从别的网站取字体。GitHub 仍可能记录访问日志,见 GitHub 的隐私声明。
Loading