Skip to content

文档:自己装 Google Play 商店(中英两份) - #17

Merged
qiyinxi merged 2 commits into
ModAVD:mainfrom
qiyinxi:docs/playstore-125
Nov 6, 2026
Merged

qiyinxi merged 2 commits into
ModAVD:mainfrom
qiyinxi:docs/playstore-125

Conversation

@qiyinxi

@qiyinxi qiyinxi commented Nov 6, 2026

Copy link
Copy Markdown
Member

改动

新增「使用」下的一页「自己装 Google Play 商店」(guide/playstore),中英两份,侧边栏两边都挂上了。管理器一键装做出来之前,有需要的用户先照这一页装。

页面写了:

  • 从 Google 官方下哪个镜像:system-images;android-34;google_apis_playstore;x86_64 r14,给了大小、SHA-1 和三个下载地址;
  • 取哪几个文件:商店 Phonesky,以及 Google 签名的 Play 服务、GSF、合作伙伴设置(和镜像自带的同版本,Play 服务是 23.18.18),外加商店的 fs-verity 证书;藏掉镜像自带的同名占位应用 LicenseChecker;
  • 怎么装:用 tools\modavd.exe 把 system.img 和安装脚本推进实例,脚本在实例里用 root 只读挂上 Play 版镜像的两个分区,核对五个文件的 SHA-256,再放进实例的系统覆盖层;冷启动后用 status 确认;
  • 「设备未经认证」怎么取 GSF ID、去哪登记;
  • 和执行桥、宿主输入法的关系,升级包、换镜像时要不要重装,怎么卸;
  • 为什么只放商店不够、为什么不用网上的 GApps 包或直接 adb install;
  • 风险。

实测

flow 测试根,ModAVD 0.38.1:

  • 原型:
    • 只放商店时能打开、能进 Google 登录页,但日志一直报商店和 Play 服务签名对不上(SERVICE_INVALID);
    • 三样一起换以后,这条报错没了。
  • 卸载:Play 服务已经自己更新到 26.43 的情况下,按页面的卸载步骤做完,实例回到镜像原样:占位应用回来,Play 服务、GSF 是镜像自带的那份,商店和 Play 服务都没有崩溃。这一轮是在把合作伙伴设置加进清单之前测的,脚本删文件那段对清单里的每个文件都一样处理。
  • 照页面从头做一遍:用默认参数新建一台实例,逐条运行页面上的命令,做到商店的 Google 登录页为止,没有登录。
    • 装完以后执行桥 verify 通过,宿主输入法还是默认输入法,开机后的 root 设置照常。
    • 第一次这样做时,合作伙伴设置(还是测试证书签名)每次开机在后台崩溃 3–4 次,就把它也加进了要换的文件。加上以后崩溃是 0 次,权限拒绝也是 0 次。
    • 第 1–5、7 步和卸载那段,都是从页面里原样取出代码块、在 Windows PowerShell 5.1 里跑的,只把开头三个变量换成测试根的。
  • 本地 npm run build、python scripts/i18n.py(0 problems)、python scripts/privacy.py .(0 failures)都过了。

没验证的:

  • 真正登录 Google 账号、从商店下载;
  • 登记 GSF ID 的页面流程;
  • 升级 ModAVD 包以后商店还在不在。页面按执行桥同样的机制写的,没实测。

Refs ModAVD/ModAVD#125

qiyinxi and others added 2 commits November 6, 2026 12:06
管理器一键装做出来之前,给要用 Play 商店的用户一份自己装的步骤:从 Google 官方
google_apis_playstore r14 镜像里取商店,连同 Google 签名的 Play 服务、GSF、合作伙伴设置
一起放进实例的系统覆盖层,登记 GSF ID,以及和执行桥的关系、卸载、风险。

Refs ModAVD/ModAVD#125
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant