游戏中心:管理器下载安装包,装进实例
维护者通常 1 天内回复
还没有人认领这个 Issue。
评估
调研方向
The two existing download paths are in internal/components and internal/update, and issue #23 plans to merge them, so read that plan first. The install step reuses the existing modavd install <i> <apk> command and the manager's Install APK action. Choosing the download library (Gopeed or the merged code) and the game-list format are open decisions, so settle them before writing code. Done means the first-step acceptance criteria in the issue hold: one download shared across instances, hash checks, resume after interruption, and Windows manual proxy support.
由索引模型根据 Issue 内容生成。
描述
要做什么
在管理器里加一个游戏中心:选一款游戏,管理器把安装包下载到宿主,再装进选中的实例。分两步:
- 下载和安装;
- 已装游戏的更新。
这条只管游戏中心自己的下载。游戏运行时自己发起的资源和增量更新下载,仍然在实例里由游戏自己下,另见 ModAVD/ModAVD#54。
已经定的(11-02 讨论)
- 下载放在管理器,不放在实例里。
- 多台实例共用宿主上的同一份安装包,不用每台各下一次。
- 安装走现有的路径(
modavd install <i> <apk>、管理器里的「安装 APK」)。装的时候实例本来就要开着,所以「下载在宿主、装要开机」不算额外的限制。
- 下载工具不用 aria2。
还要定的
- 下载用哪份代码。
- 讨论里倾向 Gopeed:核心是 Go 写的,可以作为库嵌进来;许可证 GPL-3.0,和本仓库的 AGPL-3.0 能合用。XDM 是 Kotlin 写的独立程序,嵌不进来。
- 管理器里已经有两套下载代码(
internal/components、internal/update),#23 要把它们收成一份,已经有断点续传、超时、重定向上限、代理。 - 选之前比一下:多连接、断点续传、代理(照 #23 的规则)、依赖和包的体积。一个安装包一般几百 MB 到几 GB,单连接如果已经能跑满带宽,就用 #23 收好的那份。
- 实例里要不要放一个小程序接管理器的指令。
- 放:游戏中心在实例里也有入口和下载进度,用起来更像普通手机。
- 不放:只靠 adb,少一个要维护、要随镜像更新的东西。
- 第一步用不到,先不放。
- 安装包从哪来、名单怎么维护。 讨论没涉及:每款游戏的下载地址、版本号、哈希放在哪,谁来更新。也有人希望能下海外游戏,名单要能放这类游戏。
- 更新怎么做(第二步)。 应用市场常见的「省流量更新」(增量包),可能是厂商专门提供给应用市场的,没有的话只能整包更新。做第二步前先查清楚。
验收(第一步)
- 在管理器里选一款游戏:下载到宿主,核对大小和哈希,再装进一台或几台实例。
- 同时装到几台实例时只下载一次。
- 下载中途关掉管理器或断网,再开能续传,不从头下。
- 只设了 Windows 手动代理的电脑也能下(规则同 #23)。
- 实例没开机时,提示要先开机,或者帮用户开机。
- 主要语言
- Go
- 星标
- 0
- 派生
- 1
- 平均合并
- 2 小时 42 分钟
- 30 天内合并 PR
- 13
环境准备
这个项目没有提供开发容器、Dockerfile 或贡献指南,环境需要你自己搭建:先看它的 README,通用步骤见我们的新手贡献指南。
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
ModAVD/ModAVDManager 的其他 Issue
-
bug P1 platform:windows
难度 4/5 3-5 天 新手友好度 12/100
ModAVD/ModAVDManager#32 ·
维护者通常 1 天内回复
-
enhancement
难度 5/5 一周以上 新手友好度 15/100
ModAVD/ModAVDManager#27 ·
维护者通常 1 天内回复
-
开机失败或超时时,留下客体现场(logcat、dmesg 等)可能已有人在做 @qiyinxi 于 3 天前认领。 未关闭enhancement P2
ModAVD/ModAVDManager#24 · 已指派 1 人 ·
维护者通常 1 天内回复
-
bug P3 platform:windows
难度 4/5 3-5 天 新手友好度 42/100
ModAVD/ModAVDManager#23 ·
维护者通常 1 天内回复
-
bug P3 platform:windows
难度 4/5 3-5 天 新手友好度 25/100
ModAVD/ModAVDManager#22 ·
维护者通常 1 天内回复
查看 ModAVD/ModAVDManager 的全部 Issue
相似的 Issue
-
needs-triage
难度 2/5 1-3 小时 新手友好度 72/100
维护者通常 1 天内回复
-
enhancement needs-triage
难度 2/5 1-3 小时 新手友好度 72/100
valkey-io/valkey-operator#610 ·
维护者通常 3 天内回复
-
难度 1/5 1 小时以内 新手友好度 85/100
-
WriterSetTimes: the UTIME_NOW check fails when the kernel uses its coarse clock可能已有人在做 @JakeChampion 今天认领。 未关闭
难度 2/5 1-3 小时 新手友好度 78/100
JakeChampion/lang#14224 ·
维护者通常 1 天内回复
-
agent-butler-finding bug
难度 1/5 1 小时以内 新手友好度 88/100
jordansmall/spindrift#6391 ·
维护者通常 1 天内回复