From 9420c9b8b302485aabb6d057b40a19d0b39b5408 Mon Sep 17 00:00:00 2001 From: qiyinxi Date: Thu, 5 Nov 2026 21:40:50 +0100 Subject: [PATCH 1/3] =?UTF-8?q?=E9=9A=8F=E5=8C=85=E6=89=B9=E5=A4=84?= =?UTF-8?q?=E7=90=86=E6=94=B9=E8=B0=83=E5=91=BD=E4=BB=A4=E8=A1=8C=EF=BC=9A?= =?UTF-8?q?=E6=9B=B4=E6=96=B0=E9=9A=8F=E5=8C=85=E8=84=9A=E6=9C=AC=E3=80=81?= =?UTF-8?q?=E5=AE=89=E8=A3=85=E3=80=81=E5=8D=87=E7=BA=A7=E3=80=81=E9=9A=90?= =?UTF-8?q?=E7=A7=81=E9=A1=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 补全组件第一次运行先选下载源;0.37.0–0.38.0 装系统镜像失败的临时办法写进安装页的出错表。 Refs ModAVD/ModAVD#45 --- docs/develop/package.md | 12 +++++++----- docs/en/develop/package.md | 12 +++++++----- docs/en/guide/index.md | 2 +- docs/en/guide/install.md | 9 ++++++--- docs/en/guide/privacy.md | 2 +- docs/en/guide/upgrade.md | 2 +- docs/guide/index.md | 2 +- docs/guide/install.md | 9 ++++++--- docs/guide/privacy.md | 2 +- docs/guide/upgrade.md | 2 +- 10 files changed, 32 insertions(+), 22 deletions(-) diff --git a/docs/develop/package.md b/docs/develop/package.md index fd290d4..19e5a88 100644 --- a/docs/develop/package.md +++ b/docs/develop/package.md @@ -1,19 +1,21 @@ # 随包脚本 -**改什么**:随 ModAVD 包发的脚本,在 ModAVD 仓库的 [`package/`](https://github.com/ModAVD/ModAVD/tree/main/package)。三个 `.bat` 放在包的根目录,四个 `.ps1` 放在包的 `tools\` 里,和包里发出的文件逐字节相同。 +**改什么**:随 ModAVD 包发的脚本,在 ModAVD 仓库的 [`package/`](https://github.com/ModAVD/ModAVD/tree/main/package)。三个 `.bat` 放在包的根目录,`modavd-bridge.ps1` 和 `components-sources.txt` 放在包的 `tools\` 里,和包里发出的文件逐字节相同。 + +三个 `.bat` 只调包里的命令行 `tools\modavd.exe`:补全组件、收集问题信息、复制配置信息的做法在 [ModAVDManager](https://github.com/ModAVD/ModAVDManager) 里改,见[管理器和命令行](./manager)。0.38.0 及更早的包里这三件事由 `tools\` 下的三个 `.ps1` 做,以后的包里不再有。 | 文件 | 做什么 | 从哪一版起在包里 | | --- | --- | --- | -| `补全组件.bat` → `fetch-components.ps1` | 先显示 Google《Android 软件开发套件许可协议》,同意后从官方渠道下载 adb 和系统镜像,校验 SHA-1 后装进 `sdk\`;能断点续传,镜像按顺序回落 | 37.2.10-mas30 | -| `收集问题信息.bat` → `collect-info.ps1` | 在桌面生成问题包,见[反馈问题](../guide/feedback) | 37.2.10-mas30 | -| `复制配置信息.bat` → `report-config.ps1` | 把电脑配置和各实例装的游戏包整理成一段文字,复制到剪贴板,在 [Issues](https://github.com/ModAVD/ModAVD/issues) 新开 issue 反馈时附上 | 0.35.0 | +| `补全组件.bat` → `modavd components fetch` | 第一次运行先问从哪里下载(菜单是 `tools\components-sources.txt`,选的记在 `downloads\source.txt`);再显示 Google《Android 软件开发套件许可协议》,同意后下载 adb 和系统镜像,校验 SHA-1 后装进 `sdk\`;能断点续传 | 37.2.10-mas30 | +| `收集问题信息.bat` → `modavd collect-info` | 在桌面生成问题包,见[反馈问题](../guide/feedback) | 37.2.10-mas30 | +| `复制配置信息.bat` → `modavd report-config` | 把电脑配置和各实例装的游戏包整理成一段文字,复制到剪贴板,在 [Issues](https://github.com/ModAVD/ModAVD/issues) 新开 issue 反馈时附上 | 0.35.0 | | `modavd-bridge.ps1` | 给一台实例装上、卸掉或核对 arm64 执行桥,见[开发:arm64 执行桥](./bridge#怎么装进实例) | 0.36.0 | ## 写法上的规矩 - 要在 Windows 自带的 PowerShell 5.1 上也能跑,用户机器上默认是它: - `.ps1` 存成 UTF-8 带 BOM; - - `.bat` 里只用 ASCII,换行用 CRLF; + - `.bat` 里只用 ASCII,换行用 CRLF;要给用户看的中文放在 UTF-8 的 `.txt` 里,显示时临时切到代码页 65001,读输入前切回来; - `.gitattributes` 让这个目录原样保存,不做换行转换。提 PR 时请保持文件原来的换行和 BOM,仓库里的字节就是发布包里的字节。 - 不硬编码本机路径;adb 只走 ModAVD 根目录 `mas-avd.json` 里的私有端口,不碰 5037。 - 重启、关机前先 `adb shell sync`,再结束模拟器。 diff --git a/docs/en/develop/package.md b/docs/en/develop/package.md index bd55e3d..bddacc5 100644 --- a/docs/en/develop/package.md +++ b/docs/en/develop/package.md @@ -1,19 +1,21 @@ # Bundled scripts -**What you change**: the scripts that ship in the ModAVD package, in [`package/`](https://github.com/ModAVD/ModAVD/tree/main/package) of the ModAVD repository. The three `.bat` files go in the root of the package and the four `.ps1` files in the package's `tools\` folder. They are byte-identical to the files shipped in the package. +**What you change**: the scripts that ship in the ModAVD package, in [`package/`](https://github.com/ModAVD/ModAVD/tree/main/package) of the ModAVD repository. The three `.bat` files go in the root of the package, and `modavd-bridge.ps1` and `components-sources.txt` in the package's `tools\` folder. They are byte-identical to the files shipped in the package. + +The three `.bat` files only call the CLI in the package, `tools\modavd.exe`: how components are fetched, problem reports are collected and system info is copied is changed in [ModAVDManager](https://github.com/ModAVD/ModAVDManager), see [Manager and CLI](./manager). In 0.38.0 and earlier packages, three `.ps1` files under `tools\` did these jobs; later packages no longer have them. | File | What it does | In the package since | | --- | --- | --- | -| `补全组件.bat` (fetches the Google components) → `fetch-components.ps1` | First shows Google's Android Software Development Kit License Agreement. After you agree, it downloads adb and the system image from the official channels, checks the SHA-1 and installs them into `sdk\`. It can resume downloads and falls back to the next mirror in order | 37.2.10-mas30 | -| `收集问题信息.bat` (collects a problem report) → `collect-info.ps1` | Makes a problem report on the desktop; see [Reporting problems](../guide/feedback) | 37.2.10-mas30 | -| `复制配置信息.bat` (copies your system and game info) → `report-config.ps1` | Puts the computer's configuration and the game packages installed in each instance into one block of text and copies it to the clipboard, to include in a new issue in [Issues](https://github.com/ModAVD/ModAVD/issues) | 0.35.0 | +| `补全组件.bat` (fetches the Google components) → `modavd components fetch` | On the first run it asks where to download from (the menu is `tools\components-sources.txt`; the choice is kept in `downloads\source.txt`). Then it shows Google's Android Software Development Kit License Agreement; after you agree, it downloads adb and the system image, checks the SHA-1 and installs them into `sdk\`. It can resume downloads | 37.2.10-mas30 | +| `收集问题信息.bat` (collects a problem report) → `modavd collect-info` | Makes a problem report on the desktop; see [Reporting problems](../guide/feedback) | 37.2.10-mas30 | +| `复制配置信息.bat` (copies your system and game info) → `modavd report-config` | Puts the computer's configuration and the game packages installed in each instance into one block of text and copies it to the clipboard, to include in a new issue in [Issues](https://github.com/ModAVD/ModAVD/issues) | 0.35.0 | | `modavd-bridge.ps1` | Installs, removes or checks the arm64 execution bridge on an instance; see [Development: arm64 execution bridge](./bridge#installing-into-an-instance) | 0.36.0 | ## Writing rules - They must also run on the Windows PowerShell 5.1 that ships with Windows, because it is the default on users' machines: - save `.ps1` files as UTF-8 with BOM; - - use only ASCII in `.bat` files, with CRLF line endings; + - use only ASCII in `.bat` files, with CRLF line endings; Chinese text for the user goes into a UTF-8 `.txt` file, shown under code page 65001 just for that and switched back before reading input; - `.gitattributes` makes this directory store files as they are, with no line-ending conversion. When you send a PR, keep the file's original line endings and BOM: the bytes in the repository are the bytes in the release package. - No hard-coded local paths. adb goes only through the private port in `mas-avd.json` in the ModAVD root folder and never touches 5037. - Before restarting or shutting down, run `adb shell sync` first, then end the emulator. diff --git a/docs/en/guide/index.md b/docs/en/guide/index.md index 0d97d7d..03ada61 100644 --- a/docs/en/guide/index.md +++ b/docs/en/guide/index.md @@ -19,7 +19,7 @@ A Release package is made of several parts, each developed in its own repository |---|---|---| | The emulator itself (the patched AOSP Emulator) | `sdk\emulator\` | `patches/` in [ModAVD](https://github.com/ModAVD/ModAVD) | | The arm64 execution bridge | `sdk\emulator\resources\modavd\` | `bridge/` in ModAVD | -| Bundled scripts (fetch the Google components, collect a problem report, copy system and game info, install the bridge) | the `.bat` files in the package root, `tools\*.ps1` | `package/` in ModAVD | +| Bundled scripts (fetch the Google components, collect a problem report, copy system and game info, install the bridge) | the `.bat` files in the package root (they call `tools\modavd.exe`), `tools\modavd-bridge.ps1` | `package/` in ModAVD; what the three `.bat` files do is in ModAVDManager | | The manager and the CLI | `ModAVD.exe`, `tools\modavd.exe` | [ModAVDManager](https://github.com/ModAVD/ModAVDManager) | | The host IME | `components\modavd-ime.apk` | [ModAVDHostIME](https://github.com/ModAVD/ModAVDHostIME) | diff --git a/docs/en/guide/install.md b/docs/en/guide/install.md index 0999397..ae23f2b 100644 --- a/docs/en/guide/install.md +++ b/docs/en/guide/install.md @@ -43,12 +43,14 @@ The extracted folder contains: Double-click `补全组件.bat`. -1. The script first gets the full text of Google's Android Software Development Kit License Agreement from the download mirror and shows it. It also saves a copy to `downloads\android-sdk-license.txt`. +On the first run it asks where to download from: press Enter for automatic (Google's China download site first, then the Tencent Cloud mirror and Google's official site), or type a number to use only one of them. The choice is kept in `downloads\source.txt` and not asked again; to change it, delete that file and run it again. (Packages 0.38.0 and earlier do not have this step.) + +1. It first gets the full text of Google's Android Software Development Kit License Agreement from the download mirror and shows it. It also saves a copy to `downloads\android-sdk-license.txt`. 2. Type `y` and press Enter to agree. If you just press Enter or type anything else, it exits without downloading anything. 3. After you agree, it downloads two things and installs them into `sdk\`: - Platform tools (adb) 37.0.1, about 8 MB; - System image Android 14 (API 34) Google APIs x86_64 r14, about 1.5 GB, about 4.2 GB after extraction. -4. It tries the mirrors in order: googledownloads.cn → Tencent Cloud mirror → dl.google.com. If one is unreachable or fails the check, it moves on to the next. +4. With the automatic choice it tries the mirrors in order: googledownloads.cn → Tencent Cloud mirror → dl.google.com. If one is unreachable or fails the check, it moves on to the next. 5. After each file is downloaded, the script checks its size and SHA-1 and extracts it only if they match. If the download is interrupted, run the script again and it resumes. 6. When you see 完成,可以在 AUTO-MAS 里添加这个文件夹了。 (Done. You can now add this folder in AUTO-MAS.), it is finished. @@ -62,8 +64,9 @@ Components that are already installed are skipped, so running it again has no si | 这里没有 sdk\emulator\emulator.exe (there is no sdk\emulator\emulator.exe here) | The Release zip was not fully extracted. Extract it again and run the script in the extracted folder | | 磁盘空间不够 (not enough disk space) | Use a drive with more space | | 取不到许可协议全文 / 所有镜像都没下成 (cannot get the license text / no mirror worked) | Check your network and try again. The parts already downloaded are kept | +| 解压后的关键文件或版本校验失败 (the key files or version check failed after extraction) for the system image, with a 0.37.0–0.38.0 package | `补全组件.bat` in these versions has a bug and always fails on the system image. Type `cmd` in the folder's address bar and press Enter, run `tools\modavd.exe components fetch`, and type `y` after reading the license agreement; the zip already downloaded is used as it is | -If downloads are too slow or keep failing, you can download the two files below by hand with a browser or a download tool, put them in the folder's `downloads\` **without renaming them**, and run `补全组件.bat` again. The script still needs the network once to get the license text. It then checks the two files and uses them if they pass. After installing, the script deletes these two zip files from `downloads\`. +If downloads are too slow or keep failing, you can download the two files below by hand with a browser or a download tool, put them in the folder's `downloads\` **without renaming them**, and run `补全组件.bat` again. It still needs the network once to get the license text. It then checks the two files and uses them if they pass. After installing, it deletes these two zip files from `downloads\`. | File | URL | SHA-1 | |---|---|---| diff --git a/docs/en/guide/privacy.md b/docs/en/guide/privacy.md index e245841..42f8c73 100644 --- a/docs/en/guide/privacy.md +++ b/docs/en/guide/privacy.md @@ -38,7 +38,7 @@ The Android system, games, and the Google Play services that come with the Googl ## Bundled scripts and programs -- **`补全组件.bat`** (fetches the Google components): connects to the network only when you run it. It contacts googledownloads.cn, mirrors.cloud.tencent.com and dl.google.com in turn, to download the license agreement list, adb and the system image. The requests carry only ordinary download information (the user agent is `ModAVD-fetch-components/1.0`) and no identifier. The process is logged in `logs\fetch-components.log` in the folder. +- **`补全组件.bat`** (fetches the Google components): connects to the network only when you run it. It contacts the download source you chose (automatic: googledownloads.cn, mirrors.cloud.tencent.com and dl.google.com in turn), to download the license agreement list, adb and the system image. The requests carry only ordinary download information (the user agent is `ModAVDManager/`; `ModAVD-fetch-components/1.0` in packages 0.38.0 and earlier) and no identifier. The process is logged in `logs\fetch-components.log` in the folder. - **`收集问题信息.bat`** (collects a problem report): only reads files and packs them on this machine. It does not connect to the network and does not upload anything. It reads the emulator and AUTO-MAS logs and the crash dumps, and takes a screenshot of a running instance. It does not touch the instances' disk images, or the `config` and `data` folders where AUTO-MAS stores account passwords. Whether to send the zip is up to you. Do not upload crash dumps publicly; if you want to send them, send them by email, see [Report a problem](./feedback). - **The manager `ModAVD.exe`**: starts a local server that listens only on 127.0.0.1. The pages are embedded in the program, and it does not connect to the network. - **The host IME**: requests no permissions, stores no data, and does not log the text typed. diff --git a/docs/en/guide/upgrade.md b/docs/en/guide/upgrade.md index 4d65ae3..4b16672 100644 --- a/docs/en/guide/upgrade.md +++ b/docs/en/guide/upgrade.md @@ -10,7 +10,7 @@ From 0.36.0 the package root also has `ModAVD.exe` (the manager), `tools\` has ` |---|---| | `sdk\emulator\` | The emulator itself. Overwrite it with the one in the new package. Overwriting does not delete files that the new version dropped. To clear those too, delete the old folder before extracting (see step 3) | | `ModAVD.exe` (the manager, from 0.36.0) | Overwrite with the one in the new package | -| `tools\`: `fetch-components.ps1`, `collect-info.ps1`, `report-config.ps1`; from 0.36.0 also `modavd.exe` (the CLI) and `modavd-bridge.ps1` (installs, uninstalls and checks the arm64 execution bridge) | Overwrite with the ones in the new package | +| `tools\`: from 0.36.0 `modavd.exe` (the CLI) and `modavd-bridge.ps1` (installs, uninstalls and checks the arm64 execution bridge); 0.38.0 and earlier also had `fetch-components.ps1`, `collect-info.ps1` and `report-config.ps1`, which later packages replace with `components-sources.txt` (the download-source menu of 补全组件.bat), the three `.bat` files calling `modavd.exe` instead | Overwrite with the ones in the new package. The three `.ps1` files an older package left are no longer used and can be deleted | | `components\`: `de.jrpie.android.launcher_57.apk` (µLauncher); from 0.36.0 also `modavd-ime.apk` (the host IME) | Overwrite with the ones in the new package | | `补全组件.bat` (fetches the Google components), `收集问题信息.bat` (collects a problem report), `复制配置信息.bat` (copies your system and game info), `说明.txt`, `LICENSES\`, `modavd-manifest.json` | Overwrite with the ones in the new package | | `avd\` | **Left alone**, the new package does not have this folder. Instances, games and login state are all here | diff --git a/docs/guide/index.md b/docs/guide/index.md index d7eaa0e..5239527 100644 --- a/docs/guide/index.md +++ b/docs/guide/index.md @@ -19,7 +19,7 @@ ModAVD(魔改 AVD)是基于 AOSP Android Emulator 37.2.10 的安卓模拟器 |---|---|---| | 模拟器本体(打过补丁的 AOSP Emulator) | `sdk\emulator\` | [ModAVD](https://github.com/ModAVD/ModAVD) 的 `patches/` | | arm64 执行桥 | `sdk\emulator\resources\modavd\` | ModAVD 的 `bridge/` | -| 随包脚本(补全组件、收集问题信息、复制配置信息、装执行桥) | 包根的 `.bat`、`tools\*.ps1` | ModAVD 的 `package/` | +| 随包脚本(补全组件、收集问题信息、复制配置信息、装执行桥) | 包根的 `.bat`(调 `tools\modavd.exe`)、`tools\modavd-bridge.ps1` | ModAVD 的 `package/`;三个 `.bat` 做的事在 ModAVDManager | | 管理器和命令行 | `ModAVD.exe`、`tools\modavd.exe` | [ModAVDManager](https://github.com/ModAVD/ModAVDManager) | | 宿主输入法 | `components\modavd-ime.apk` | [ModAVDHostIME](https://github.com/ModAVD/ModAVDHostIME) | diff --git a/docs/guide/install.md b/docs/guide/install.md index 89a2525..28e14bd 100644 --- a/docs/guide/install.md +++ b/docs/guide/install.md @@ -43,12 +43,14 @@ 双击「补全组件.bat」。 -1. 脚本先从下载镜像取来 Google《Android 软件开发套件许可协议》全文并显示,另存一份到 `downloads\android-sdk-license.txt`。 +第一次运行时先问从哪里下载:直接回车是自动(先 Google 中国下载,不通再试腾讯云镜像、Google 官方),也可以输入编号只用其中一个。选的记在 `downloads\source.txt`,以后不再问;想换就删掉这个文件再运行。(0.38.0 及更早的包没有这一步。) + +1. 先从下载镜像取来 Google《Android 软件开发套件许可协议》全文并显示,另存一份到 `downloads\android-sdk-license.txt`。 2. 输入 `y` 回车表示同意;直接回车或输入别的内容就退出,什么也不下载。 3. 同意后下载两样东西,装进 `sdk\`: - 平台工具(adb)37.0.1,约 8 MB; - 系统镜像 Android 14(API 34)Google APIs x86_64 r14,约 1.5 GB,解压后约 4.2 GB。 -4. 镜像按顺序试:googledownloads.cn → 腾讯云镜像 → dl.google.com。一个不通或校验不对就换下一个。 +4. 选的是自动时,镜像按顺序试:googledownloads.cn → 腾讯云镜像 → dl.google.com。一个不通或校验不对就换下一个。 5. 每个文件下完都核对大小和 SHA-1,通过后才解压。中途断了,再运行一次会接着下。 6. 看到「完成,可以在 AUTO-MAS 里添加这个文件夹了。」就好了。 @@ -62,8 +64,9 @@ | 这里没有 sdk\emulator\emulator.exe | Release 压缩包没解压完整,重新解压,在解压出来的文件夹里运行 | | 磁盘空间不够 | 换一块空间更大的盘 | | 取不到许可协议全文 / 所有镜像都没下成 | 检查网络后重试;已下的部分会保留 | +| 解压后的关键文件或版本校验失败:系统镜像(0.37.0–0.38.0 的包) | 这几版的「补全组件.bat」有个错,装系统镜像必然失败。在这个文件夹的地址栏输入 `cmd` 回车,运行 `tools\modavd.exe components fetch`,看完许可协议输入 `y`;已经下好的压缩包会直接用 | -下载太慢或总是失败时,可以用浏览器或下载工具手动下载下面两个文件,**文件名不变**放进文件夹里的 `downloads\`,再运行「补全组件.bat」。脚本仍要联网取一次许可协议,然后会校验这两个文件,通过就直接用。装好后脚本会删掉 `downloads\` 里的这两个压缩包。 +下载太慢或总是失败时,可以用浏览器或下载工具手动下载下面两个文件,**文件名不变**放进文件夹里的 `downloads\`,再运行「补全组件.bat」。它仍要联网取一次许可协议,然后会校验这两个文件,通过就直接用。装好后会删掉 `downloads\` 里的这两个压缩包。 | 文件 | 地址 | SHA-1 | |---|---|---| diff --git a/docs/guide/privacy.md b/docs/guide/privacy.md index dba144a..ff7b454 100644 --- a/docs/guide/privacy.md +++ b/docs/guide/privacy.md @@ -38,7 +38,7 @@ ## 随包的脚本和程序 -- **补全组件.bat**:只在你运行它时联网,依次访问 googledownloads.cn、mirrors.cloud.tencent.com、dl.google.com,下载许可协议清单、adb 和系统镜像。请求里只有普通的下载信息(用户代理是 `ModAVD-fetch-components/1.0`),不带任何标识。过程记在文件夹里的 `logs\fetch-components.log`。 +- **补全组件.bat**:只在你运行它时联网,访问你选的下载源(自动时依次是 googledownloads.cn、mirrors.cloud.tencent.com、dl.google.com),下载许可协议清单、adb 和系统镜像。请求里只有普通的下载信息(用户代理是 `ModAVDManager/<版本>`;0.38.0 及更早的包是 `ModAVD-fetch-components/1.0`),不带任何标识。过程记在文件夹里的 `logs\fetch-components.log`。 - **收集问题信息.bat**:只在本机读文件、打包,不联网,也不上传。它会读模拟器和 AUTO-MAS 的日志、崩溃转储,开着的实例还会截一张图;不碰实例的磁盘镜像,也不碰 AUTO-MAS 存账号密码的 `config`、`data` 文件夹。生成的 zip 要不要发由你决定;崩溃转储不要公开上传,要发就发邮件,见[反馈问题](./feedback)。 - **管理器 `ModAVD.exe`**:起一个只听 127.0.0.1 的本地服务,页面内嵌在程序里,不联网。 - **宿主输入法**:不申请任何权限,不存任何数据,日志里不记打出的文字。 diff --git a/docs/guide/upgrade.md b/docs/guide/upgrade.md index 3453aba..e75b7e9 100644 --- a/docs/guide/upgrade.md +++ b/docs/guide/upgrade.md @@ -10,7 +10,7 @@ |---|---| | `sdk\emulator\` | 模拟器本体,用新包里的覆盖。覆盖不会删掉新版拿掉的文件;想顺便清掉,解压前先删掉旧的这个文件夹(见步骤 3) | | `ModAVD.exe`(管理器,0.36.0 起) | 用新包里的覆盖 | -| `tools\`:`fetch-components.ps1`、`collect-info.ps1`、`report-config.ps1`;0.36.0 起还有 `modavd.exe`(命令行)、`modavd-bridge.ps1`(arm64 执行桥的安装 / 卸载 / 检查) | 用新包里的覆盖 | +| `tools\`:0.36.0 起有 `modavd.exe`(命令行)、`modavd-bridge.ps1`(arm64 执行桥的安装 / 卸载 / 检查);0.38.0 及更早还有 `fetch-components.ps1`、`collect-info.ps1`、`report-config.ps1`,之后的包里换成了 `components-sources.txt`(补全组件的下载源菜单),三个 `.bat` 改调 `modavd.exe` | 用新包里的覆盖。旧包留下的三个 `.ps1` 不再用到,可以删掉 | | `components\`:`de.jrpie.android.launcher_57.apk`(µLauncher);0.36.0 起还有 `modavd-ime.apk`(宿主输入法) | 用新包里的覆盖 | | `补全组件.bat`、`收集问题信息.bat`、`复制配置信息.bat`、`说明.txt`、`LICENSES\`、`modavd-manifest.json` | 用新包里的覆盖 | | `avd\` | **不动**,新包里没有这个文件夹。实例、游戏和登录状态都在这里 | From 26b99f1cd213890384388f2e6a7b9c22603d8abe Mon Sep 17 00:00:00 2001 From: qiyinxi Date: Fri, 6 Nov 2026 12:46:50 +0100 Subject: [PATCH 2/3] =?UTF-8?q?=E6=96=87=E6=A1=A3=EF=BC=9A=E4=B8=89?= =?UTF-8?q?=E4=B8=AA=E9=9A=8F=E5=8C=85=E6=89=B9=E5=A4=84=E7=90=86=E5=88=A0?= =?UTF-8?q?=E6=8E=89=EF=BC=8C=E6=94=B9=E8=AE=B2=E7=AE=A1=E7=90=86=E5=99=A8?= =?UTF-8?q?=E5=92=8C=E5=91=BD=E4=BB=A4=E8=A1=8C=E7=9A=84=E5=81=9A=E6=B3=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 0.38.2 起包里不再有「补全组件.bat」「收集问题信息.bat」「复制配置信息.bat」和对应的三个 .ps1。 补全组件、收集问题信息、复制配置信息改在管理器(电脑检查、设置里的「组件与问题反馈」) 或命令行 tools\modavd.exe(components fetch、collect-info、report-config)里做。 安装、升级、反馈问题、隐私、许可证、开发各页中英两份按这个重写,讲旧包时写明 0.38.1 及更早。 Refs ModAVD/ModAVD#45 --- docs/develop/adapt-game.md | 4 ++-- docs/develop/index.md | 4 ++-- docs/develop/overview.md | 2 +- docs/develop/package.md | 20 +++++++++------- docs/develop/testing.md | 4 ++-- docs/en/develop/adapt-game.md | 4 ++-- docs/en/develop/index.md | 4 ++-- docs/en/develop/overview.md | 2 +- docs/en/develop/package.md | 22 ++++++++++-------- docs/en/develop/testing.md | 4 ++-- docs/en/guide/feedback.md | 12 ++++++---- docs/en/guide/index.md | 6 ++--- docs/en/guide/install.md | 44 ++++++++++++++++++++++------------- docs/en/guide/license.md | 4 ++-- docs/en/guide/privacy.md | 7 +++--- docs/en/guide/upgrade.md | 13 ++++++----- docs/guide/feedback.md | 12 ++++++---- docs/guide/index.md | 6 ++--- docs/guide/install.md | 40 ++++++++++++++++++++----------- docs/guide/license.md | 4 ++-- docs/guide/privacy.md | 7 +++--- docs/guide/upgrade.md | 13 ++++++----- 22 files changed, 139 insertions(+), 99 deletions(-) diff --git a/docs/develop/adapt-game.md b/docs/develop/adapt-game.md index 41933d4..9a78e50 100644 --- a/docs/develop/adapt-game.md +++ b/docs/develop/adapt-game.md @@ -19,7 +19,7 @@ - 启动前 `logcat -c`,再 `logcat -b all -v threadtime > 启动.txt`,然后启动游戏,复现以后停。 - 崩了的话,取 `/data/tombstones/` 里最新的那份:`shell su 0 ls -t /data/tombstones`。 -- 模拟器日志在根目录的 `logs\` 里。「收集问题信息.bat」会把日志一起打包。 +- 模拟器日志在根目录的 `logs\` 里。「收集问题信息」会把日志一起打包。 - 重点看这几样: - `Fatal signal`:崩在哪个库、哪个线程; - `FATAL EXCEPTION`; @@ -54,7 +54,7 @@ ## 第五步:适配好以后 {#after} -- 在 ModAVD 仓库的 [Issues](https://github.com/ModAVD/ModAVD/issues) 新开 issue,附上「复制配置信息.bat」的输出,记下游戏、渠道、版本、怎么跑起来的、帧率大概多少。 +- 在 ModAVD 仓库的 [Issues](https://github.com/ModAVD/ModAVD/issues) 新开 issue,附上「复制配置信息」的输出,记下游戏、渠道、版本、怎么跑起来的、帧率大概多少。 - 有自动化脚本、又有不耗资源的任务的,维护者会把它加进发版回归,并存下帧率基准。 ## 规矩 diff --git a/docs/develop/index.md b/docs/develop/index.md index 85a8280..f8b9dce 100644 --- a/docs/develop/index.md +++ b/docs/develop/index.md @@ -9,14 +9,14 @@ ModAVD 只有一个维护者,回复可能要几天。大一点的改动请先 维护者只在一台 Windows 11、AMD CPU、NVIDIA 独显的电脑上测过。最缺这些配置的实测:Intel CPU,AMD 或 Intel 显卡,笔记本双显卡,Windows 10,16 GB 内存。 1. 照[安装](../guide/install)装好,在 AUTO-MAS 里添加,开机后跑一轮日常任务。 -2. 双击文件夹里的「复制配置信息.bat」(0.35.0 起包里有),在 ModAVD 仓库的 [Issues](https://github.com/ModAVD/ModAVD/issues) 新开 issue,附上输出,补完最后三行,再写一句能不能跑。 +2. 在管理器的「设置 → 组件与问题反馈」里点「复制配置信息」(或运行 `tools\modavd.exe report-config`),在 ModAVD 仓库的 [Issues](https://github.com/ModAVD/ModAVD/issues) 新开 issue,贴上它,补完最后三行,再写一句能不能跑。0.38.1 及更早的包里是包根的「复制配置信息.bat」。 这份输出不带用户名、电脑名、完整路径和游戏账号,可以直接公开贴。详见[游戏实测和兼容性报告](./testing)。 ## 报问题 - 各组件的问题都在 ModAVD 仓库的 [Issues](https://github.com/ModAVD/ModAVD/issues) 提:模拟器本体,也包括管理器和命令行、宿主输入法、本站、发版前回归。开 issue 时选上是哪个组件。 -- 附「收集问题信息.bat」生成的问题包。哪些能公开贴、崩溃转储怎么私下发,见[反馈问题](../guide/feedback)。 +- 附「收集问题信息」生成的问题包(管理器的「设置 → 组件与问题反馈」,或 `tools\modavd.exe collect-info`)。哪些能公开贴、崩溃转储怎么私下发,见[反馈问题](../guide/feedback)。 - 贴日志前,把路径里的 `C:\Users\<你的用户名>` 换成 `%USERPROFILE%`。 - AUTO-MAS 的界面、任务、调度问题,请到 [AUTO-MAS](https://github.com/AUTO-MAS-Project/AUTO-MAS/issues) 提。 - 安全问题不要公开发,请发邮件到 qiyinxi@foxmail.com。 diff --git a/docs/develop/overview.md b/docs/develop/overview.md index fce6f67..ab4ceb7 100644 --- a/docs/develop/overview.md +++ b/docs/develop/overview.md @@ -12,7 +12,7 @@ ModAVD 是 AOSP Android Emulator 加一批补丁,WHPX 加速,gfxstream 渲 | [arm64 执行桥](./bridge) | ModAVD 的 `bridge/` | C++(NDK) | 高 | 不能 | Opus 5.5 / GPT-6 Astra | | [管理器和命令行](./manager) | [ModAVDManager](https://github.com/ModAVD/ModAVDManager) | Go,页面是原生 JS / CSS | 中 | 单元测试、构建、可复现核对 | Sonnet 5.5 / GPT-6.1 Sol;开机流程、并发、整包更新用 Opus 5.5 / GPT-6 Astra | | [宿主输入法](./ime) | [ModAVDHostIME](https://github.com/ModAVD/ModAVDHostIME) | Java(Android) | 中低 | 协议自测、APK 构建、发布核对 | Sonnet 5.5 / GPT-6.1 Sol | -| [随包脚本](./package) | ModAVD 的 `package/` | PowerShell、批处理 | 中低 | 隐私扫描 | Sonnet 5.5 / GPT-6.1 Sol | +| [随包脚本](./package) | ModAVD 的 `package/` | PowerShell | 中低 | 隐私扫描 | Sonnet 5.5 / GPT-6.1 Sol | | 发版前回归(端到端测试) | [ModAVDE2E](https://github.com/ModAVD/ModAVDE2E) | PowerShell、Python | 中 | 语法解析、隐私扫描;回归本身不跑 | Sonnet 5.5 / GPT-6.1 Sol | | [文档和本站](./docs) | 本站仓库 [modavd.github.io](https://github.com/ModAVD/modavd.github.io),各仓库的 README | Markdown | 低 | 编译站点、查死链、隐私扫描 | Sonnet 5.5 / GPT-6.1 Terra;机械改动用 Haiku 5.5 / GPT-6 Luna | | [AUTO-MAS 对接](./automas) | [AUTO-MAS](https://github.com/AUTO-MAS-Project/AUTO-MAS) | Python、前端 | 中 | 按 AUTO-MAS 自己的 CI | Sonnet 5.5 / GPT-6.1 Sol;审查用 Opus 5.5 / GPT-6 Astra | diff --git a/docs/develop/package.md b/docs/develop/package.md index 19e5a88..2dbfbdc 100644 --- a/docs/develop/package.md +++ b/docs/develop/package.md @@ -1,26 +1,28 @@ # 随包脚本 -**改什么**:随 ModAVD 包发的脚本,在 ModAVD 仓库的 [`package/`](https://github.com/ModAVD/ModAVD/tree/main/package)。三个 `.bat` 放在包的根目录,`modavd-bridge.ps1` 和 `components-sources.txt` 放在包的 `tools\` 里,和包里发出的文件逐字节相同。 +**改什么**:随 ModAVD 包发的脚本,在 ModAVD 仓库的 [`package/`](https://github.com/ModAVD/ModAVD/tree/main/package)。0.38.2 起只剩 `modavd-bridge.ps1`,放在包的 `tools\` 里,和包里发出的文件逐字节相同。 -三个 `.bat` 只调包里的命令行 `tools\modavd.exe`:补全组件、收集问题信息、复制配置信息的做法在 [ModAVDManager](https://github.com/ModAVD/ModAVDManager) 里改,见[管理器和命令行](./manager)。0.38.0 及更早的包里这三件事由 `tools\` 下的三个 `.ps1` 做,以后的包里不再有。 +补全组件、收集问题信息、复制配置信息不再是脚本。0.38.1 及更早的包里,包根有三个 `.bat`,调 `tools\` 下的 `fetch-components.ps1`、`collect-info.ps1`、`report-config.ps1`;0.38.2 起这六个文件都不发了,三件事全在管理器和命令行里。要改它们,到 [ModAVDManager](https://github.com/ModAVD/ModAVDManager) 提 PR,见[管理器和命令行](./manager)。 | 文件 | 做什么 | 从哪一版起在包里 | | --- | --- | --- | -| `补全组件.bat` → `modavd components fetch` | 第一次运行先问从哪里下载(菜单是 `tools\components-sources.txt`,选的记在 `downloads\source.txt`);再显示 Google《Android 软件开发套件许可协议》,同意后下载 adb 和系统镜像,校验 SHA-1 后装进 `sdk\`;能断点续传 | 37.2.10-mas30 | -| `收集问题信息.bat` → `modavd collect-info` | 在桌面生成问题包,见[反馈问题](../guide/feedback) | 37.2.10-mas30 | -| `复制配置信息.bat` → `modavd report-config` | 把电脑配置和各实例装的游戏包整理成一段文字,复制到剪贴板,在 [Issues](https://github.com/ModAVD/ModAVD/issues) 新开 issue 反馈时附上 | 0.35.0 | | `modavd-bridge.ps1` | 给一台实例装上、卸掉或核对 arm64 执行桥,见[开发:arm64 执行桥](./bridge#怎么装进实例) | 0.36.0 | +原来三个 `.bat` 做的事,现在这样做: + +| 以前 | 现在:管理器 | 现在:命令行 | +| --- | --- | --- | +| `补全组件.bat` | 顶栏「电脑检查」里「组件」一项下的「补全组件」,或缺组件时主页横幅上的「补全组件」;先选下载源,读 Google《Android 软件开发套件许可协议》,同意后下载 adb 和系统镜像,校验 SHA-1 后装进 `sdk\`,能断点续传 | `tools\modavd.exe components fetch`;下载源用 `components source` 看和改 | +| `收集问题信息.bat` | 「设置 → 组件与问题反馈 → 收集问题信息」,生成问题包,见[反馈问题](../guide/feedback) | `tools\modavd.exe collect-info` | +| `复制配置信息.bat` | 同一处的「复制配置信息」:把电脑配置和各实例装的游戏包整理成一段文字,复制到剪贴板,在 [Issues](https://github.com/ModAVD/ModAVD/issues) 新开 issue 反馈时附上 | `tools\modavd.exe report-config` | + ## 写法上的规矩 - 要在 Windows 自带的 PowerShell 5.1 上也能跑,用户机器上默认是它: - `.ps1` 存成 UTF-8 带 BOM; - - `.bat` 里只用 ASCII,换行用 CRLF;要给用户看的中文放在 UTF-8 的 `.txt` 里,显示时临时切到代码页 65001,读输入前切回来; - `.gitattributes` 让这个目录原样保存,不做换行转换。提 PR 时请保持文件原来的换行和 BOM,仓库里的字节就是发布包里的字节。 - 不硬编码本机路径;adb 只走 ModAVD 根目录 `mas-avd.json` 里的私有端口,不碰 5037。 - 重启、关机前先 `adb shell sync`,再结束模拟器。 -- 输出给用户贴到公开 issue 的内容,不能带用户名、电脑名、完整路径、游戏账号。 - ## 硬件 要在装好的 ModAVD 上真跑,要开一台实例: @@ -33,7 +35,7 @@ ## 验证 -在 Windows 10 / 11、不同系统语言下,用 PowerShell 5.1 各跑一遍。 +在 Windows 10 / 11、不同系统语言下,用 PowerShell 5.1 跑一遍 `modavd-bridge.ps1`。 ## 交付 diff --git a/docs/develop/testing.md b/docs/develop/testing.md index 06c8304..bec6c47 100644 --- a/docs/develop/testing.md +++ b/docs/develop/testing.md @@ -4,8 +4,8 @@ 在你自己的电脑上照[安装](../guide/install)装好,在 AUTO-MAS 里跑一轮日常,然后: -1. 双击「复制配置信息.bat」; -2. 在 ModAVD 仓库的 [Issues](https://github.com/ModAVD/ModAVD/issues) 新开 issue,附上输出,补完最后三行; +1. 在管理器的「设置 → 组件与问题反馈」里点「复制配置信息」,或运行 `tools\modavd.exe report-config`; +2. 在 ModAVD 仓库的 [Issues](https://github.com/ModAVD/ModAVD/issues) 新开 issue,贴上它,补完最后三行; 3. 再写一句能不能跑。 最缺这些配置:Intel CPU、AMD 或 Intel 显卡、笔记本双显卡、Windows 10、16 GB 内存。兼容性报告最想要的反而是低配机器,只要满足[适用环境](../guide/#适用环境)就欢迎来测。 diff --git a/docs/en/develop/adapt-game.md b/docs/en/develop/adapt-game.md index 73f6d43..0bb5171 100644 --- a/docs/en/develop/adapt-game.md +++ b/docs/en/develop/adapt-game.md @@ -19,7 +19,7 @@ To get a game that currently will not start or runs badly working on ModAVD, wor - Before launching, run `logcat -c`, then `logcat -b all -v threadtime > 启动.txt`, then launch the game, and stop once it reproduces. - If it crashed, take the newest file in `/data/tombstones/`: `shell su 0 ls -t /data/tombstones`. -- The emulator logs are in `logs\` in the root folder. `收集问题信息.bat` (collects a problem report) packs the logs together. +- The emulator logs are in `logs\` in the root folder. **收集问题信息** (Collect a problem report) packs the logs together. - Look mainly at these: - `Fatal signal`: which library and which thread it crashed in; - `FATAL EXCEPTION`; @@ -54,7 +54,7 @@ Try approaches that need no recompiling first, and settle the direction before y ## Step 5: After it works {#after} -- Open an issue in the [ModAVD repository](https://github.com/ModAVD/ModAVD/issues). Include the output of `复制配置信息.bat`, the game, channel, version, how you got it running, and roughly what frame rate it gets. +- Open an issue in the [ModAVD repository](https://github.com/ModAVD/ModAVD/issues). Include the output of **复制配置信息** (Copy configuration info), the game, channel, version, how you got it running, and roughly what frame rate it gets. - If the game has an automation script and tasks that do not use many resources, the maintainer will add it to the pre-release regression tests and record a frame-rate baseline. ## Rules diff --git a/docs/en/develop/index.md b/docs/en/develop/index.md index e2a30ab..b5fd5ee 100644 --- a/docs/en/develop/index.md +++ b/docs/en/develop/index.md @@ -9,14 +9,14 @@ To see what environment and hardware each area needs, and which models to pick w The maintainer has tested on only one computer: Windows 11, AMD CPU, NVIDIA discrete GPU. What is missing most is testing on these configurations: Intel CPU, AMD or Intel GPU, laptops with dual GPUs, Windows 10, and 16 GB of RAM. 1. Install by following [Installation](../guide/install), add the instance in AUTO-MAS, start it, and run one round of daily tasks. -2. Double-click `复制配置信息.bat` (copies your system and game info) in the folder (it is in the package from 0.35.0). Open an issue in the [ModAVD repository](https://github.com/ModAVD/ModAVD/issues) and include the output. Fill in the last three lines and add one sentence on whether it runs. +2. Click **复制配置信息** (Copy configuration info) under **设置 → 组件与问题反馈** (Settings → Components and feedback) in the manager, or run `tools\modavd.exe report-config`. Open an issue in the [ModAVD repository](https://github.com/ModAVD/ModAVD/issues) and paste it. Fill in the last three lines and add one sentence on whether it runs. In packages 0.38.1 and earlier this was `复制配置信息.bat` in the package root. This output does not contain your user name, computer name, full paths or game accounts, so you can post it publicly as it is. For details, see [Testing on real games and compatibility reports](./testing). ## Reporting problems - Problems with every component go to the [Issues](https://github.com/ModAVD/ModAVD/issues) of the ModAVD repository: the emulator itself, and also the manager and CLI, the host IME, this site and the pre-release regression tests. Pick the component when you open the issue. -- Attach the problem report made by `收集问题信息.bat` (collects a problem report). For what you can post publicly and how to send crash dumps privately, see [Reporting problems](../guide/feedback). +- Attach the problem report made by **收集问题信息** (Collect a problem report), in **设置 → 组件与问题反馈** in the manager or with `tools\modavd.exe collect-info`. For what you can post publicly and how to send crash dumps privately, see [Reporting problems](../guide/feedback). - Before you paste logs, replace `C:\Users\` in paths with `%USERPROFILE%`. - Problems with AUTO-MAS's interface, tasks or scheduling belong to [AUTO-MAS](https://github.com/AUTO-MAS-Project/AUTO-MAS/issues). - Do not report security problems publicly. Send an e-mail to qiyinxi@foxmail.com. diff --git a/docs/en/develop/overview.md b/docs/en/develop/overview.md index d2add6f..d4dd4a9 100644 --- a/docs/en/develop/overview.md +++ b/docs/en/develop/overview.md @@ -12,7 +12,7 @@ For how to take part (credit, licensing, how to submit), [Contributing to ModAVD | [arm64 execution bridge](./bridge) | `bridge/` of ModAVD | C++ (NDK) | High | Nothing | Opus 5.5 / GPT-6 Astra | | [The manager and CLI](./manager) | [ModAVDManager](https://github.com/ModAVD/ModAVDManager) | Go; the pages are plain JS / CSS | Medium | Unit tests, build, reproducible-build check | Sonnet 5.5 / GPT-6.1 Sol; Opus 5.5 / GPT-6 Astra for the boot flow, concurrency and package updates | | [The host IME](./ime) | [ModAVDHostIME](https://github.com/ModAVD/ModAVDHostIME) | Java (Android) | Medium to low | Protocol self-test, APK build, release check | Sonnet 5.5 / GPT-6.1 Sol | -| [Bundled scripts](./package) | `package/` of ModAVD | PowerShell, batch | Medium to low | Privacy scan | Sonnet 5.5 / GPT-6.1 Sol | +| [Bundled scripts](./package) | `package/` of ModAVD | PowerShell | Medium to low | Privacy scan | Sonnet 5.5 / GPT-6.1 Sol | | Pre-release regression tests (end-to-end tests) | [ModAVDE2E](https://github.com/ModAVD/ModAVDE2E) | PowerShell, Python | Medium | Syntax parsing, privacy scan; the regression run itself is not run | Sonnet 5.5 / GPT-6.1 Sol | | [Documentation and this site](./docs) | This site's repository [modavd.github.io](https://github.com/ModAVD/modavd.github.io), and the READMEs of the repositories | Markdown | Low | Builds the site, checks dead links, privacy scan | Sonnet 5.5 / GPT-6.1 Terra; Haiku 5.5 / GPT-6 Luna for mechanical changes | | [AUTO-MAS integration](./automas) | [AUTO-MAS](https://github.com/AUTO-MAS-Project/AUTO-MAS) | Python, front end | Medium | AUTO-MAS's own CI | Sonnet 5.5 / GPT-6.1 Sol; Opus 5.5 / GPT-6 Astra for review | diff --git a/docs/en/develop/package.md b/docs/en/develop/package.md index bddacc5..4d80d16 100644 --- a/docs/en/develop/package.md +++ b/docs/en/develop/package.md @@ -1,29 +1,31 @@ # Bundled scripts -**What you change**: the scripts that ship in the ModAVD package, in [`package/`](https://github.com/ModAVD/ModAVD/tree/main/package) of the ModAVD repository. The three `.bat` files go in the root of the package, and `modavd-bridge.ps1` and `components-sources.txt` in the package's `tools\` folder. They are byte-identical to the files shipped in the package. +**What you change**: the scripts that ship in the ModAVD package, in [`package/`](https://github.com/ModAVD/ModAVD/tree/main/package) of the ModAVD repository. From 0.38.2 only `modavd-bridge.ps1` is left, in the package's `tools\` folder. It is byte-identical to the file shipped in the package. -The three `.bat` files only call the CLI in the package, `tools\modavd.exe`: how components are fetched, problem reports are collected and system info is copied is changed in [ModAVDManager](https://github.com/ModAVD/ModAVDManager), see [Manager and CLI](./manager). In 0.38.0 and earlier packages, three `.ps1` files under `tools\` did these jobs; later packages no longer have them. +Fetching the components, collecting a problem report and copying the configuration info are no longer scripts. In packages 0.38.1 and earlier, the package root has three `.bat` files that call `fetch-components.ps1`, `collect-info.ps1` and `report-config.ps1` under `tools\`. From 0.38.2 none of these six files ship, and the three jobs are all in the manager and the CLI. To change them, send a PR to [ModAVDManager](https://github.com/ModAVD/ModAVDManager); see [Manager and CLI](./manager). | File | What it does | In the package since | | --- | --- | --- | -| `补全组件.bat` (fetches the Google components) → `modavd components fetch` | On the first run it asks where to download from (the menu is `tools\components-sources.txt`; the choice is kept in `downloads\source.txt`). Then it shows Google's Android Software Development Kit License Agreement; after you agree, it downloads adb and the system image, checks the SHA-1 and installs them into `sdk\`. It can resume downloads | 37.2.10-mas30 | -| `收集问题信息.bat` (collects a problem report) → `modavd collect-info` | Makes a problem report on the desktop; see [Reporting problems](../guide/feedback) | 37.2.10-mas30 | -| `复制配置信息.bat` (copies your system and game info) → `modavd report-config` | Puts the computer's configuration and the game packages installed in each instance into one block of text and copies it to the clipboard, to include in a new issue in [Issues](https://github.com/ModAVD/ModAVD/issues) | 0.35.0 | | `modavd-bridge.ps1` | Installs, removes or checks the arm64 execution bridge on an instance; see [Development: arm64 execution bridge](./bridge#installing-into-an-instance) | 0.36.0 | +What the three `.bat` files did is now done like this: + +| Before | Now: the manager | Now: the CLI | +| --- | --- | --- | +| `补全组件.bat` (fetches the Google components) | **补全组件** under the **组件** item in **电脑检查** (Computer check) in the top bar, or on the banner of the home page when components are missing. Choose a download source and read Google's Android Software Development Kit License Agreement; after you agree, it downloads adb and the system image, checks the SHA-1 and installs them into `sdk\`. It can resume downloads | `tools\modavd.exe components fetch`; use `components source` to see and change the download source | +| `收集问题信息.bat` (collects a problem report) | **设置 → 组件与问题反馈 → 收集问题信息** (Settings → Components and feedback → Collect a problem report) makes the report; see [Reporting problems](../guide/feedback) | `tools\modavd.exe collect-info` | +| `复制配置信息.bat` (copies your system and game info) | **复制配置信息** in the same place puts the computer's configuration and the game packages installed in each instance into one block of text and copies it to the clipboard, to include in a new issue in [Issues](https://github.com/ModAVD/ModAVD/issues) | `tools\modavd.exe report-config` | + ## Writing rules - They must also run on the Windows PowerShell 5.1 that ships with Windows, because it is the default on users' machines: - save `.ps1` files as UTF-8 with BOM; - - use only ASCII in `.bat` files, with CRLF line endings; Chinese text for the user goes into a UTF-8 `.txt` file, shown under code page 65001 just for that and switched back before reading input; - `.gitattributes` makes this directory store files as they are, with no line-ending conversion. When you send a PR, keep the file's original line endings and BOM: the bytes in the repository are the bytes in the release package. - No hard-coded local paths. adb goes only through the private port in `mas-avd.json` in the ModAVD root folder and never touches 5037. - Before restarting or shutting down, run `adb shell sync` first, then end the emulator. -- Output that users paste into public issues must not contain user names, computer names, full paths or game accounts. - ## Hardware -To run them for real on an installed ModAVD, you need to start an instance: +To run it for real on an installed ModAVD, you need to start an instance: | | Recommended | Minimum | |---|---|---| @@ -33,7 +35,7 @@ To run them for real on an installed ModAVD, you need to start an instance: ## Verification -Run each script with PowerShell 5.1 on Windows 10 and 11, and under different system languages. +Run `modavd-bridge.ps1` with PowerShell 5.1 on Windows 10 and 11, and under different system languages. ## Delivery diff --git a/docs/en/develop/testing.md b/docs/en/develop/testing.md index 90e382a..939b210 100644 --- a/docs/en/develop/testing.md +++ b/docs/en/develop/testing.md @@ -4,8 +4,8 @@ Install on your own computer by following [Installation](../guide/install), run one round of daily tasks in AUTO-MAS, and then: -1. Double-click `复制配置信息.bat` (copies your system and game info); -2. Open an issue in the [ModAVD repository](https://github.com/ModAVD/ModAVD/issues), include the output, and fill in the last three lines; +1. Click **复制配置信息** (Copy configuration info) under **设置 → 组件与问题反馈** (Settings → Components and feedback) in the manager, or run `tools\modavd.exe report-config`; +2. Open an issue in the [ModAVD repository](https://github.com/ModAVD/ModAVD/issues), paste it, and fill in the last three lines; 3. Add one sentence on whether it runs. These configurations are missing most: Intel CPU, AMD or Intel GPU, laptops with dual GPUs, Windows 10, and 16 GB of RAM. For compatibility reports, low-end machines are in fact the most wanted. As long as you meet the [requirements](../guide/#requirements), you are welcome to test. diff --git a/docs/en/guide/feedback.md b/docs/en/guide/feedback.md index 93a74c0..c679740 100644 --- a/docs/en/guide/feedback.md +++ b/docs/en/guide/feedback.md @@ -8,9 +8,13 @@ Open an issue in the [Issues](https://github.com/ModAVD/ModAVD/issues) of the Mo ## 1. Collect a problem report 1. **Do not shut down the emulator after something goes wrong.** If the instance is still running, the collection also records the screen and state at that moment. -2. Double-click `收集问题信息.bat` (collects a problem report) in the folder. After about a minute, a `魔改AVD问题信息-