microG Android P及以上 配置

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

  • 更新

    1
    2
    3
    4
    5
    19.09.09 初始
    20.01.07 添加 magisk模块
    20.01.15 更新一些 G家应用情况
    20.08.02 更新一些内容
    20.11.15 更新 NanoDroid,重写大部分内容.
  • 参考资料

    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,删除无效内容.

写给 Google 服务重度患者

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

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

实际上 microG 配合 play stroe 可以使用 play 全部正常功能.如果需要安装原版 play store 的用户不要安装 FakeStore.安装 play 的方法,在下面都有提及,不再重复.

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

替换 play store

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

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

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

  • F-droid 一个纯开源的应用商店,只上架开源应用.

G 家应用与 microG 兼容测试

前提安装了 NanoDroid-Google,play 商店,microg 正常配置.

简单兼容测试(20.11.15)

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

开始前

确保手机已解锁.

有第三方的RE(这里是TWRP)

最好有 magisk

方案

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

签名验证

microG 需要接管 play seriver ,需要破解签名验证才行.这是安装 microG 的第一关.

  • NanoDroid 项目的 NanoDroid-patcher 可以做到破解,需要在 twrp 下刷入.详情见后.
  • 如果设备有 magisk,可以是 magisk + Edxposed 安装 FakeGapps.
  • 实在不行就只能手动破解了,这方面没试过.

microG

NanoDroid 几乎把所有的安装做好了,包括 play 商店.就是需要调整配置文件,以免安装 N 多不需要的软件.(详情见后)

microG_installer 在 magisk 官方库可以搜索到,没有 NanoDroid 那么多东西,就是最核心的几个应用,需要自行安装 play 商店.

最后真正的大佬都全手动安装,自由度最高

总结

总结下来有 3 种,其实比较方便的就两种

  • NanoDroid 签名破解 + play + 其他都做好了.
  • microG_installer
    • microG_installer 安装 microg 最核心的几个应用程序
    • 手动或模块安装 play 商店
    • edxposed + FakeGapps 破解签名验证.
  • 全手动安装,真正的大佬.

安装

NanoDroid

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

down

  • 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 的支持,开启就行.

  • 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

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: 安装

修改完的配置文件,替换回原包,在 twrp 刷入.如果设备有 magisk 会自动作为 magisk 模块安装.

NanoDroid microg 配置

参照 microGsetup

打开 Self-Check 确保授予了全部的权限.

启用 Google device registration

启用 Google Cloud Messaging

启用 Google SafetyNet

进入 UnifiedNlp Settings 对应后台提供程序,授予权限.

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

NanoDroid 其他

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

如果遇到任何问题参见 NanoDroid/Issues.md.个人测试是没啥问题.

microG_installer 等

请确保安装激活了 FakeGapps .

现在可以直接在 magisk 搜索下载 microG_installer.

因为大概率还是需要 play 商店

  • GitHub 提到了,可以把 play 商店重命名为 Phonesky.apk,放置到 /data/adb/Phonesky.apk.(这样算用户 app 了? 没这样尝试过)

  • play store 正常更新应用还需要放在 /system 分区.干脆在原版上 microg_installer 上创建个 play installer.仅仅把 play store 安装到 /system 分区.play store 来自 apkpure.

  • play installer 中 play store 不需要保持最新, 打开 play 商店会自动更新到最新版本.

  • (20.11.15) 很久没更新了,最近没尝试过,有问题请留言.

microg 设置 和 辅助定位,见手动安装配置和辅助定位一节.

纯手动安装(大佬)

下载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 配置

打开 microG setting

最终我们要确保 Self-Check 是这个样子
1

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

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

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

结束.至此大部分依赖于 play 服务,要求 play store 的应用应该已经可以运行了.

辅助定位

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

  • 在 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 成功的进行了定位,需要离线数据的暂时未测试.

后记

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

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