跳转到正文
Shane Blog
返回

谷歌服务三件套与微G:安卓上没有 GMS 会怎样

谷歌服务三件套与微G:安卓上没有 GMS 会怎样

折腾安卓设备的时候经常会听到”这台机器没有谷歌框架”这种说法,尤其是一些特定品牌、特定地区销售的机型。这句话具体指的是什么,缺了它又会有什么影响,这篇打算从概念层面理清楚。

安卓和”谷歌服务”其实是两回事

一个常见的误解是把”安卓系统”和”谷歌的东西”划等号,但严格来说,安卓操作系统本身(AOSP,Android Open Source Project)是开源的,任何厂商都可以拿这份代码去改造出自己的系统,不需要经过谷歌授权,也不需要内置谷歌的任何服务——这也是为什么国内很多手机厂商的系统,底层看着都是安卓,但默认状态下都没有预装谷歌全家桶。

真正意义上”谷歌的东西”通常指的是三个层次的组件,统称谷歌移动服务(Google Mobile Services,简称 GMS):

这三者是打包在一起、由谷歌方授权厂商预装的一整套服务,不是安卓系统自带的。

没有 GMS 会造成什么实际影响

如果一台设备没有预装 GMS,最直接的感受是:

这不等于”这台设备不能用”

没有 GMS 影响的主要是”依赖谷歌服务的那部分 App 和功能”,系统本身(打电话、拍照、本地文件管理等)完全不受影响。很多不依赖谷歌服务的 App(尤其是国内开发的大部分应用)该怎么用还是怎么用。

两种绕开限制的思路

面对这类设备,常见的应对思路大致分两种:

虚拟化 / 沙盒方案:在系统里跑一个虚拟环境,专门用来装谷歌全家桶和依赖它的 App,相当于在设备里模拟出一个”带谷歌服务的子系统”。优点是兼容性通常更好,因为跑的就是接近真实的谷歌服务;缺点是需要额外占用资源,某些游戏或者对硬件加速要求高的场景可能表现不佳。

微G(microG)方案:这是一套开源的、用来”替代”部分 Google Play 服务功能的项目。它不是完整复刻谷歌服务的所有代码,而是逆向实现了其中被最多 App 依赖的那部分接口(比如推送、定位相关的接口),让原本因为找不到谷歌服务而报错的 App 能够正常识别到”这些接口是存在的”,从而正常运行。配合开源的应用商店客户端(比如 Aurora Store,一个支持匿名下载 Play 商店内容的开源客户端),基本能覆盖日常使用中大部分对谷歌服务有依赖的场景。

微G 不是 100% 等价替代

需要说清楚的是,微G 终究是社区逆向实现的产物,不是谷歌官方维护的代码,这意味着:

但反过来说,现在微G 支持的 App 范围已经相当可观,包括不少原本被认为”必须要有谷歌框架才能用”的热门应用,日常使用层面的覆盖率已经足够高。

我自己记录过一份实操向的教程

这篇更偏概念梳理,如果想看具体”怎么在特定品牌的安卓设备上一步步装好微G、配置好账号”这种操作向的内容,我在文档站里写过一份更详细的实操指南,涵盖了从下载对应的 APK、装 GsfProxy、到配置权限和 Play 商店替代方案的完整流程:

查看微G 实操教程 →

小结

安卓和谷歌服务本质上是两套可以分离的东西,这也是安卓生态开放性的一个体现——既能被谷歌官方以完整 GMS 的形态推向大部分市场,也能被厂商在特定地区做成完全不带谷歌服务的版本,还能被社区用开源方案在两者之间找到一个折中点。理解了这一层关系,再遇到”这台设备没有谷歌框架”这种描述,大概就知道具体缺的是什么、能不能补上、值不值得折腾了。


分类:
标签:
分享此文章:

上一篇
Telegram Bot 能做什么?从一个签到机器人讲起
下一篇
什么是 CDN?静态网站为什么都爱用它