替换 Gapps microG 全流程配置

  • Android P及以上 安装 microG 及相关配置

  • 更新

    1
    2
    3
    4
    5
    6
    7
    8
    9
    19.09.09 初始
    20.01.07 添加 magisk模块
    20.01.15 更新一些 G家应用情况
    20.08.02 更新一些内容
    20.11.15 更新 NanoDroid,重写大部分内容.
    21.02.03 更新 NanoDroid R 内容等
    22.02.04 更新重组一部分内容,因 magisk 重大变动,重写相关部分
    22.02.23 修正一些错误,更新链接.
    23.01.11 修正 play store 安装,修正失效链接,重写大量内容
  • 参考资料

    https://blackyau.cc/4
    https://blog.yoitsu.moe/tech_misc/android_without_google_0.html
    https://github.com/microg/android_packages_apps_GmsCore/wiki/Installation
    https://github.com/Nanolx/NanoDroid

导语

最近需要测试的 app 依赖于 play 服务,但是一个一个机器刷 opengapps 太麻烦了,而且耗电飞起.找到了 microG play的开源替代,耗电几乎没有…

不过网上安装 microG 的教程大都停留在 Android M 以前,如今很多内容已经不适用了.这里重新汇总一下 Android P 及以上版本的的相关配置.

没想到通过搜索进来的不少,还是更新一下内容.

(20.11.15)更新 NanoDroid,删除无效内容.

(21.02.03) 更新 NanoDroid Android R 等内容

(22.02.04) 更新重组一部分内容,目前在 Android 12 上测试通过.

(22.02.23) 更新一些链接.

(23.01.11) 跟进最新的 microg ,添加 MinMicroG,修正失效链接,重写部分内容.

Google 服务重度患者启

以下是给想以 microG 替换 play 服务,在一定程度上摆脱 Google 服务的用户.

话说离得开 google 服务,但是离不开 play store 里的应用.play store 是用户粘性最大的,没有之一.

实际上 microG 配合 修改版 play stroe 可以使用 play 全部正常功能.安装 google play 的方法,在下面都有提及.

假如还是不爽,就只能替换 play store.

替换 play store

play store 带的扫描服务有时会卸载用户应用.(microG 下未知) 有几种

  • 前身有 yalp store ,但是已经不更新大半年了.目前还可以更新应用,但是搜索等已经不行了.而且UI等略显简陋.

  • Aurora Store是 yalp store 的一个 fork.目前还在稳定更新中,MD设计很赞.可以登录个人的 google帐号 下载已购买的应用.同时附带机型伪装,隐私更好一些.

    • 应用内购不能正常使用.
  • F-droid 一个纯开源的应用商店,只上架开源应用.

G 家应用与 microG 兼容测试

前提安装了 microg 正常配置 + play 商店 + NanoDroid-Google 模块

  • (22.02.03) NanoDroid-Google 模块目前只支持到 android 11,以下是在 android 11 备用机测试.
  • (23.01.11) 过去一年的 microg 更新很多,因此以下结果仅供参考.

简单兼容测试(22.02.03)

  • Gmail 提示 play 服务有错误,但可以正常收发邮件.都用 microG 了,加吧劲,换 K-9 吧
  • Hangouts 可正常登录使用,但同时安装环聊拨号器闪退. G 家特色,已入土.
  • Google Photos 可正常登录,查看已同步图片,但无法上传图片,(话说高品质无限明年6月就暂停了,又鸡肋了). 可以正常备份.
  • Map gps 正常使用,辅助定位正常开启后也能用,但 microg 网络定位精度终究是不比原版 play 服务.
  • 日历同步正常,需要 google 日历.(需要 NanoDroid-Google 模块)
  • 联系人同步正常,需要 google 联系人应用.(需要 NanoDroid-Google 模块)
  • keep 半正常.
  • google 健康 完全不能计步.
  • 其他的 google 应用未测试.

开始前

首先: 不少的 rom 已经整合了 microG ,例如 LineageOS for microG 等. 先查看一下自己的机型在不在支持列表,有的话就没那么麻烦了.

确保手机已解锁.

刷入工具: 第三方 RE or magisk

  • 这里推荐 magisk 作为刷入工具,出问题更容易恢复.
  • 下面介绍的安装方法,除了全手动安装,都支持 magisk.

Reddit-MicroG 有不少的参考的资料.

方案

目标: microg + 正常使用的 play store.

整体流程

整体流程 3 步

破解签名验证: microG 需要接管 play server 这是第一关.

  • NanoDroid 项目的 NanoDroid-patcher 可以做到破解,需要在 twrp 或者 magisk 下刷入.详情见后.
    • andoroid 11 以上 Patcher 在 twrp 不能正常刷入, 如果 rom 有 classes.dex 则可以刷入 magisk 正常工作
  • 如果设备有 xposed,可以安装 FakeGapps
    • 如果有 xposed 更推荐这个,虽然很久没有更新,但一直很稳定.
  • 实在不行就只能手动破解了,这方面没试过.

安装 microG

  • NanoDroid 几乎把所有的安装做好了,包括 play 商店. 需要调整配置文件,以免安装 N 多不需要的软件, 同时 另外安装 play 商店.
  • microG_installer 在 magisk 官方库可以搜索到 -> microg_installer_revived (nift4 的 fork), 没有 NanoDroid 那么多东西,就是最核心的几个应用,需要另外安装 play 商店.
  • 最后真正的大佬都全手动安装,自由度最高

其他

  • 辅助定位
  • 配套应用推荐等

总结

总结下来有安装方法 3.5 种,其实比较方便的就前 2 种

  • MinMicroG: magsik / RE 直刷,更轻量,一直有更新,推荐这个.

  • NanoDroid: magsik / RE 直刷, 包更全, 签名破解 + 额外安装 play.

    • commit 一直有更新,但正式版似乎停留在了 20210117,还能用,但因为停更有额外的 play 安装问题.
  • microG_installer + 签名破解.

    • microG_installer 安装 microg 最核心的几个应用程序
    • 手动或模块安装 play 商店
    • xposed + FakeGapps 或者 NanoDroid-patcher + Magisk 破解签名验证.
  • 全手动安装,真正的大佬.

配置 microg 都比较相似,放在独立一章了.

辅助定位/配套应用推荐 等放在最后.

安装 microg + play store

要让 microg 下 play 的应用内购生效 -> microG-Phonesky-iap-support

  • MinMicroG 已经包含了可用的 play store.
  • NanoDroid-23.1.2.20210117 不能直接使用内置 play store,否则会卡启动动画.
  • NanoDroid 和 microG_installer 需要另外刷入 MinAddon-Playstore 包
  • 全手动安装只能自行 patch 了.

一些安装测试汇总 (23.01.11)

  • magisk 截至 23.01.11 最新版是 25.2.
  • xposed 目前常用是 lsp 或 edxposed 两者目前都较完美支持 android 12.
  • FakeGapps 有时会失效,但很难排除个例.
  • 最佳方案依旧是 NanoDroid or MinMicroG 安装.

MinMicroG

下载 -> MinMicroG_releases

MinMicroG 分为基础包 MinMicroG + 插件 MinAddon

  • 基础包 MinMicroG 只能选一个,区别见项目主页
  • MinAddon 插件可以随便几个一块刷也没关系.

基础包 MinMicroG 选择 Standard.

  • 如果不喜欢 Standard 包含的 Aurora, MinimalIAP 也适用,都包含了 play store.

之后直接 magisk 刷入.

NanoDroid

(23.01.11) NanoDroid 正式版已经1年多没更新了,不能使用内置的 play store 否则会卡启动动画.

NanoDroid

  • 下载包含 microg 的包,并配置不安装 play
  • re/magisk 刷入
  • 刷入 MinAddon-Playstore

NanoDroid 包

所有 NanoDroid 包都支持 re/magisk 两种模式,建议配合 magisk 使用.

开始之前,请确保已经刷了 NanoDroid-patcher

NanoDroid/Stable 下载

  • NanoDroid: 全包,包括全部内容,省事下这个.
  • NanoDroid-BromiteWebView: 替换系统 WebView 无大碍,可选.
  • NanoDroid-Google: google 的一些同步库,联系人,日历等,可选.
  • NanoDroid-OsmAnd: OpenStreetMap 地图,在国内水土不服..
  • NanoDroid-fdroid: fdroid 商店,包括其快速安装程序,这样 fdroid 就能像系统商店一样更新应用了.
  • NanoDroid-microG: 不下全包,这个必选.
    • microG 核心+非核心程序
    • GNU Bash
    • pseudo-debloa
    • app stores,包括一个修改过的 play 商店,默认是 fakeplaystore.

上文提到了,NanoDroid 需要更改配置,默认的配置并不适用大部分人.

NanoDroid 包配置

基本用到的配置都在 nanodroid-setup 文件中,官方的 说明.

刷入后这个文件可能在

  • /data/media/0 (twrp 刷入)
  • /sdcard1 (internal storage (ORANGEFOX))
  • /external_sd (TWRP path to SD Card (if any))
  • /data (fallback)
  • /system/addon.d/ (fallback if TWRP can’t mount /data)
  • /tmp (fallback if TWRP can’t mount /data)

且不看上边,个人还是推荐还是刷入之前直接修改 NanoDroid 包.

直接用压缩软件打开 NanoDroid-microG 或 全包,把 nanodroid-setup 拖出来修改再放回.

nanodroid-setup 配置,英文也很好懂,这里只翻译需要注意的一部分,其他默认即可.

note: 如果刷入的是 NanoDroid-microG,这里的配置也会影响其他包.

nanodroid_microg

  • 0: 不安装,那还刷啥.
  • 1: 安装 microG GmsCore, GsfProxy and DroidGuard Helper and Nominatim Geocoder Backend, 选 1.
  • 2: 安装 microG GmsCore and Nominatim Geocoder Backend.

nanodroid_nlpbackend: microg 定位的后台程序

  • 1000: 安装 Déjà Vu
  • 1010: 安装 Déjà Vu and Apple backends

nanodroid_mapsv1: 是否提供 Google mapv1 的支持,开启就行,选1

  • 0: 不提供
  • 1: 提供

nanodroid_play: 应用商店安装

  • 00: 不安装商店
  • 10: 安装 Google Play,有应用内购需要,必须有 play 商店.
  • 01: 安装 Fake Store ( 其实是让依赖 play 应用的商店以为有 play 商店,其实没有)
  • 20: 安装 Aurora Store
  • 21: 安装 Aurora Store and Fake Store
  • 30: 安装 Google Play and Aurora Store

(23.01.11) 现在必须配置 00, 20210117 版本会让机器卡启动动画

nanodroid_fdroid: 是否安装 fdroid,影响刷入的 NanoDroid-fdroid 包.

  • 0: don’t install F-Droid at all (Note: does not effect NanoDroid-FDroid package)
  • 1: install official F-Droid client (alongside priviledged extension)
  • 2: install unofficial Aurora F-Droid client (alongside Aurora Services addon)
  • 3: install both official and Aurora F-Droid clients (alongside their addons)

nanodroid_apps: 是否安装 nanodroid 附带的 一些开源应用.

  • 0: 不安装
  • 1: 安装

nanodroid_gsync: 安装 Google Sync Adapters,推荐还是安装.影响刷入的 NanoDroid-Google 包

  • 0: 不安装
  • 1: 安装

修改完的配置文件,替换回原包.

刷入

在 RE 刷入 NanoDroid .如果设备有 magisk 会自动作为 magisk 模块安装.

也可以开机在 magisk 刷入.

MinAddon-Playstore 可以在 MinMicroG-abuse-CI 找到最新的构建包.

其他

要更新 NanoDroid 自带的 play 商店,需要在 f-droid 添加 NanoDroid 对应的库.详情见 NanoDroid companion F-Droid repository

  • 这个源的版本似乎也很久没更新了…

microG_installer

这种安装方式进行前需要

  • 正确配置了 magisk 环境
  • xposed 正确安装,并激活了 FakeGapps

microG_installer 下载 microG_installer 包并刷入.

play store 安装

  • 官方推荐是下载 patched Play Store by Nanolx 重命名为 Phonesky.apk,放置到 /data/adb/Phonesky.apk
  • 还可以直接 magisk 刷入 MinAddon-Playstore
    • 更新在这里 MinMicroG-abuse-CI

纯手动安装(大佬)

下载Download ,你在F-droid 商店添加源下载也一样.

  • Services Core : 是 microG 的核心,肯定得下,同时与定位相关的依赖已经整合进 Core 了,不需要再单独安装 NLP 的一堆东西了. android N 以后如果需要激活与定位有关的部分,需要安装到 /system/priv-app.
  • Services Framework Proxy : 应该是与 gcm 有关,直接下载安装即可.
  • Store (FakeStore release) : 如果应用运行提示需要 play store ,安装 FakeStore 就能欺骗过应用.
  • 其他不需要.

下载这 3 个应用, Services Core 需要安装到 /system/priv-app. adb root 再 push 可以,或者 用 RE 管理器复制到 /system/priv-app 修改权限. 其他两个正常安装为用户应用即可.

配置 microG

这个过程中遇到任何问题可以参考 NanoDroid/Issues.mdmicroGsetup

打开 microG setting, 最终我们要确保 Self-Check 是这个样子
1

确保前 3 个分组检查全部通过.

配置(实际上按照提示往下走就行)

  • 重启后第一次进入 microG setting 时,点击 Self-Check 会提示你进行授权,存储/电话/通讯录/定位等权限.直接授权即可.
  • 之后回到主界面: 开启 Google device registration / Google Cloud Messaging / Google SafetyNet 3项.
  • (辅助定位,可选)进入 UnifiedNlp Settings 对应后台提供程序,授予权限.

如果你使用了 play 商店,登录 Google 账户,开始使用吧.

  • 常见的是 android 10 以上可能有 permissions 问题,参考 permissions not granted on Android 10+ adb 命令一次搞定.

其他

辅助定位

一篇相关 blog 参考: UnifiedNLP on LineageOS 16.0/17.1

辅助定位在 NanoDroid 和 MinMicroG 都有提供

  • MinMicroG 还提供了单独的 MinAddon-UNLPBackends

以下内容没有经过完整测试.

  • 在 microG 上与网络定位相关的是 UnifiedNlp (Unified Network Location Provider module) , microG 已经包含了相关模块,无需再安装 UnifiedNlp.
  • 我们需要安装的是提供 wifi 和 cell 定位的后端程序,相关介绍在 UnifiedNlp Usage 一节.

全部的后端下载都在 f-droid

定位后端

  • AppleWifiNlpBackend: 苹果的wifi定位服务,覆盖范围很好,但是其数据库是苹果私有,未开源.
  • OpenWlanMapNlpBackend: 使用 OpenWlanMap 的数据,但质量还未达到正式可用的程度,好处是可以离线使用,对隐私要求很高的用户适用,最后一次更新是 2015 年.
  • OpenBmapNlpBackend 使用 openBmap 的数据进行基站和 wifi 定位,支持离线模式,数据覆盖最好是在中欧地区.
  • MozillaNlpBackend: 使用 Mozilla(firefox的那个) 的定位服务,但是只有基站数据是免费的.
  • LocalWifiNlpBackend: 纯本地的wifi定位.
  • LocalGSMBackend : 纯本地的基站定位.基站数据可用由 Mozilla, OpenCellID 或者 lacells.db 下载.

最方便的还是 MozillaNlpBackend 集成了 wifi 和基站定位.

下载后进入 micoG 的 UnifedNlp Setting -> Configure location backends 激活对应服务.

基本上面这些在大陆都是不可用或者定位很差的状态,不要报太高期望.

测试方法: 下载 google 地图,关闭 gps 定位,打开网络定位.看看能不能定位和定位精度.我这里仅仅 MozillaNlpBackend 成功的进行了定位,需要离线数据的暂时未测试.

配套推荐应用

参考的列表:

https://github.com/Nanolx/NanoDroid/blob/master/doc/Applications.md

过 safetynet

microg 在去年一次更新后就能正常过 safetynet 了,但可能不是所有设备都能过.

不能过的设备 magisk 刷入 safetynet-fix

后记

离开 google 生态还要完整的 google 服务是不可能的,microg 一定程度上解决了这个问题,但是距离完美还差的远.

目前 android 的圈子越来越封闭,往后可能真就只剩下穷折腾的人士折腾了.