在国行小米/红米设备上配置谷歌环境 您所在的位置:网站首页 小米谷歌商店检索服务器出错 在国行小米/红米设备上配置谷歌环境

在国行小米/红米设备上配置谷歌环境

2024-05-16 19:11| 来源: 网络整理| 查看: 265

前言

本文章适用于有基础刷机经验的朋友,会涉及到一些基础的刷机和Root、Magisk概念。还不会?极客湾的这期视频带你入坑刷机的基础:https://www.bilibili.com/video/BV1BY4y1H7Mc/

本文主要为解决过程记录及思路分享,不同设备情况可能差异巨大,并不完全适用。

本文的背景为帮朋友折腾红米Note 11R 4+128丐中丐649元备用机的故事。红米Note 11R为红米Note系列的较低端产品,有4+128、6+128/256和8+256几个版本可选。由于其产品定位,MIUI国行版阉割了许多功能,如应用多开、游戏加速,以及本文的主题Google基础服务——本文正是为了解决该问题而来。

本人不是安卓开发和刷机专业人士,以下专业内容仅供参考。

一、直接在系统设置中开启

大概从22、23年开始,MIUI在国行系统里开始内置Google服务套件(设置内称为“谷歌基础服务”)。国行用户仅需在“账号与同步”下的“谷歌基础服务”菜单里找到对应开关即可启用。启用后,原本隐藏的Google Play商店图标会被添加到桌面上。在网络环境允许的情况下,用户即可“开箱即用”Google服务及其它需要依赖相关服务的应用。

以上两张图片来自家里人的小米13

当前,这一开关似乎只在中、高端机型上存在(以上图片来自小米13出厂MIUI系统),系统版本较低的机型也并不内置。这是我们一般可以尝试自行安装。

二、自行安装Google套件及应用

最基础的Google运行环境一般包括以下三个应用,即所谓的“谷歌三件套”:

Google服务框架(Google Services Framework, GSF)

Google Play服务(Google Play Service;以前似乎称Google Mobile Service即GMS)

Google Play商店(Google Play Store)

一些情况下也可能要额外安装其它应用(“谷歌五件套”),但最基本和最核心的就是这三个。通常在网上下载的所谓“一键安装器”,实际安装的也包括上述这三个。需要注意的是,以上三者仅有Google Play商店会有桌面图标,其它两项并不会有。

 

【选取APK版本】

如果出于某种原因无法通过安装器一键安装,你可能想要自己找特定版本的APK自行安装。这么操作一般而言问题不大,但请注意以下几点:

不要随意下载来路不明的APK。如有可能,请在APKMirror(https://www.apkmirror.com/)和APKPure(https://apkpure.net/)两个网站下载。两家不仅囊括应用的历史版本,而且完全无毒正版。

特别注意GSF APK的API版本限制。请务必仔细确认GSF APK所支持的最低系统版本,高于或低于当前系统的安卓版本都会无法正常安装。

对于其它两个,下载最新版本的即可。如遇问题,限制其目标API(Target API)版本为当前系统版本。

APKMirror和APKPure的详细使用方法参见网上其它教程。本文仅简单描述在APKMirror的部分操作。

独自安装的Google套件在系统中默认为“用户应用”(User App)而非正常自带情况下的“系统应用”(System App),两者最明显的区别在于后者只能停用而不能卸载。由于两种应用权限有差异,以该种方式安装的Google套件在某些情况(遇见过,但相当相当罕见)下可能无法正常使用。

如果手机本身支持并通过了Google认证(所谓的Play (Protect) Certified),安装后Google服务及相关应用应能正常打开。如果手机因某些原因未通过认证(如低端机、Root、刷第三方ROM等),则需要进行额外的手动认证。

二点五、查询设备的Google服务框架ID

“Google服务框架ID”(Google Service Framework ID,简称GSF ID)是一串由Google服务框架应用生成的一串标识编号,主要用来确认设备是否有权限使用Google相关服务和应用。通常,厂商会与Google合作,在机子上提前运行认证测试并提交结果,用户到手即可使用Google全套服务。

如果设备未经Google认证,轻则无法在Google Play商店中下载并运行某些安全性要求较高的应用(SafetyNet部分不通过),如Netflix,会显示“此应用不适用您的设备”之类:

比较麻烦的就是完全不可用,运行任意需要Google服务支持的应用时会闪退或弹窗提示,且通知栏也会常驻由Google Play服务推送的“该设备未经Play认证”。尝试在华为设备上折腾过Google套件的应该对这个提示不陌生:

在这种情况下,如果已经确定Google Play服务正常运行,那么我们可以手动向Google提交自己设备的GSF ID进行认证。

要查询自己设备的GSF ID,首先可下载“设备ID”(Device ID)这一应用。安装后打开应用,赋予所有权限,在应用界面复制GSF ID。

使用特殊网络环境访问 https://www.google.com/android/uncertified/ 并在下方输入框中粘贴自己的GSF ID后提交注册。

根据网上一些文章的说法,新注册的信息在一个小时内即会生效,之后按一定顺序清除应用数据并重启几次后即可正常使用。但就我个人的实践经验来看,这一过程最短半小时内即可完成,且只需一次普通重启后即可使用(也可能是因为加装了SafetyNet Fix这个Magisk模块)。

SafetyNet环境的检测与修复详见后文。注意,这一操作需要借助SafetyNet-fix Magisk模块,意味着你需要先解锁设备BootLoader锁并刷入修补后的boot镜像;请先确认自己设备是否支持解锁。

【“三件套”或已成昨日黄花】

即使正确安装了Google三件套(或N件套)可能也无法正常运行相关应用。在折腾我朋友的红米Note 11R时,我就注意到其在安装了三件套后GSF ID为空的奇怪情况,表明Google服务似乎运行异常。

尚不清楚这是MIUI针对此类低端机型ROM做的特殊处理还是Google愈发严格的设备安全性要求所致。考虑到此种情况,我个人不建议手动安装/更新Google Play服务相关组件的版本(应通过Play商店获取更新),或是直接刷入带完整环境的国外版/第三方ROM。

三、使用GSpace

GSpace(https://gspaceteam.com/)是一款由民间开发的软件,通过内置的虚拟环境来为无法正常使用Google Play服务的用户提供正常使用体验。本质上接近于虚拟机,但并不完全。

与接下来要提到的OurPlay不同,GSpace似乎使用了设备的原始信息来创建虚拟环境,而非随机生成。我得出这一点是因为我发现在本身“未经认证”的设备(上文中的Note 11R)上运行GSpace时,GSpace内置的Google Play服务仍会常驻“设备未通过认证”通知,账号登录等操作仍被限制。

在不对系统动手脚或刷机、Root的情况下,我所知的最后一个选择就是OurPlay。

四、使用OurPlay

OurPlay是一款集Google虚拟环境和游戏加速服务为一体的国产应用。实践上,其“虚拟机”比GSpace的“虚拟”程度更高一些,对以上方法皆不起作用的设备均适用。如果你将上文中提到的“设备ID”应用安装进OurPlay,你会发现其存在GSF ID,代表环境与服务正常。

虽然一般被用来游玩海外游戏,将OurPlay当作海外应用启动器其实也未尝不可,只是开销和限制较大罢了。

 

写作本文时,在Google上搜索GSpace时看到了有人写文推荐另一款叫做GBox(https://gboxlab.com/)的软件,声称比GSpace更精简、更好用。笔者此时已经刷上了xiaomi.eu的原生Google环境故无法测试,有需要的也可以下载来看看。

 

【任何虚拟环境都有风险】

仅就我个人而言,我是极不推荐在OurPlay上登录自己的Google账号的,除非游戏本身只支持通过Google账号自动登录。

网上已有通过OurPlay登录的Google账号被风控和/或封号的情况,而且似乎并非个例。由于不能具体探出是IP频繁变动还是真的因环境问题导致的封号,我本人不建议将任何有价值的Google账号在上面登录。

如若执意登录,应尽量登录小号或购买/使用临时账号。我的一般建议是,大号登录前应先在正常环境的设备上登录,并做好随时写申诉小论文的准备。

就我看到的,BA国际服(左边两个)已经有受害者案例了五、刷入本身自带Google服务套件的ROM

警告:以下部分内容必须先解锁设备的BootLoader锁(BL锁)后才可进行。在不解锁的情况下强行刷入第三方或非国区ROM会导致设备无法启动,需要重新线刷或送售后网点专门刷机。

【常用ROM的官方下载网站】

小米全机型官方ROM收集站 - https://xiaomirom.com/

xiaomi.eu俗称“欧版” – https://xiaomi.eu/ 需要特殊网络环境

LineageOS - https://wiki.lineageos.org/devices/

PixelExperience - https://get.pixelexperience.org/ 下载需要特殊网络环境否则可能403

【关于小米当前的BL解锁政策】

自HyperOS(澎湃OS)于本年年初正式发布后,小米目前已对BL解锁政策与条件多次收紧。写作本文时,用户需申请并完成社区答题获得权限,且获得后也有诸多限制(如有效时间)。

对于出厂预装HyperOS的机型,解锁时需按上述新规定执行。对于出厂预装MIUI的机型,解锁时仍按原先政策,即在插入SIM卡并登录小米账号的情况下在设备上申请解锁、等待七天(168小时)后自行下载专用程序解锁。因而,如对性能要求不高,可退而求之选择较旧一些的机型。

当然,如果读者恰巧财力雄厚,而且也有相应的渠道,您可选择购买非中国大陆版(非国行版)的设备,注册海外小米账号后直接申请解锁即可。

小米/红米系列的手机可供刷入的ROM很多,这或许要得利于其一开始的用户定位及宽松的BL解锁政策。常见的ROM除官方的非国行版外,还有xiaomi.eu(由欧洲小米社区发起的(主要)基于国行ROM修改与精简的MIUI项目)、LineageOS、PixelExperience等;当中,设备支持列表最全且内置Google套件的当属xiaomi.eu版。

对小米/红米机型的解锁步骤,本文不另行叙述。对各版本ROM的不同点的说明可在网上找到,本文在此仅列举部分xiaomi.eu版的不同之处:

移除了国行版的一些特色功能。包括但不限于:开屏广告、快应用、地震预警、红包助手、“纯净守护”等。部分应用需要第三方平替(如地震预警)。

内置完整的Google服务,以系统应用形式存在。

支持小米推送即MiPush(无需保后台)。

部分应用替换为国际版(如小米运动健康、日历与天气)。

无国内应用商店,默认为Play商店。

根据国行ROM修改,更新及时。系统更新需重启到Recovery使用TWRP或Fastboot线刷进行。

详细的差异说明可参阅这篇知乎专栏 https://zhuanlan.zhihu.com/p/640364531

一点刷机经验都没有?看看这篇知乎专栏 https://zhuanlan.zhihu.com/p/408114647 手把手教你刷xiaomi.eu。

 

各ROM通常都有详细的步骤供用户进行刷机,但基本要求重启到Fastboot模式进行线刷。请严格对应各ROM适配的设备代号(device codename,如munch代表红米K40S和POCO 4)进行刷机,否则可能导致严重的不兼容问题(即使长得像的代号也不行!)

【关于“谷歌锁”】

若在设备上曾经登录过Google账号(不含虚拟环境),请务必将其完全退出后再进行刷机。不退出账号而强行刷机将导致无法跳过初始化流程,需要强制联网登录到原账号后才能继续。这一机制被称为“谷歌锁”,是处于系统较底层的机制。

同时,在完成刷入后,建议在第一次启动时提前拔出手机SIM卡。在插入SIM卡的情况下可能会因各种原因导致卡在某一特定步骤(自动激活、锁运营商/地域等),无法正常完成初始化流程。遇到这种情况只要重新线刷、再次全新进入到初始化界面即可。

一旦完成初始化流程,手机即可正常使用,SIM卡亦可重新插入。

六、SafetyNet环境检查与修复

注意:以下内容需要使用Magisk及相关模块。

一般而言,在设备为原厂ROM、未解锁BL、未进行Root且TEE(Trusted Execution Environment,可信执行环境,一种硬件级的安全措施)完好的情况下,设备就能通过SafetyNet验证,正常使用如Netflix等安全等级要求较高的应用。但通常而言,刷入第三方ROM且Root的行为会使设备特征和GSF ID发生变化,无法通过SafetyNet验证。

要检查SafetyNet的状态,推荐下载SPIC(Simple Play Integrity Checker,简单Play完整性检测器)或YASNAC(Yet Another SafetyNet Attestation Checker,又一个SafetyNet检测器)。我个人推荐前者,前者同时囊括了最新的Play完整性(Play Integrity)检测API(SafetyNet在2025年将被正式弃用)。

注意,Play Integrity和SafetyNet检测均需联网进行。请确保自己在检测时网络环境正常。  

Play IntegritySafetyNet

以上结果是已经修复了SafetyNet环境后的结果。在未修复的情况下,“Play完整性”的测试结果将会是“NO_INTEGRITY”(不完整),表明设备被攻击或Root;SafetyNet将无法通过一或两项子测试,且“评估类型”一般也为“HARDWARE_BACKED”(基于硬件)。

为解决这一问题,首先按一般步骤刷入Magisk、启用Zygisk、安装Shamiko模块,然后对一些常见应用隐藏Root(只是一般建议,理论上不需要)。主要目标应用为Google三件套及其它部分组件。

然后安装SafetyNet-fix模块。根据项目介绍,这一模块的核心机制在于将SafetyNet检测的“评估类型”由硬件改为软件(BASIC)评估,这样就能骗过检测——唯一的缺点大概就是评估类型被强制降级,可能对部分对评估类型也有强制要求的软件彻底无能为力。

接着按上文所述方法获取自己的GSF ID,提交给Google。提交半小时后重启设备,此时应该就能正常使用Google服务;如若不行,按上文提到的清除Google应用数据的方法再试。

安装了safetynet-fix后,一般这时在Google Play商店里就能搜索到相关应用,如Netflix和ChatGPT。即使安装了safetynet-fix后,时不时进行检测时仍有可能会报验证不通过,此时多尝试几次即可。

请注意,对于下载的高安全性应用,应同时配合使用Shamiko和隐藏应用列表等模块/软件隐藏痕迹。目前本人遇到过需要齐上阵的应用只有本人在读高中推荐的“升学E网通”会非常激进地检测Root痕迹,一旦检测到启动后会假死;12306则始终无法正常进行人脸验证。

Magisk默认对各应用的隐藏策略基本够用,但若还是不行,则应单击应用条目空白处展开所有相关服务和活动,全部一一勾选。

差不多把Google的都点了一遍()

【关于双开应用时】

经实践,MIUI中的“应用多开”功能会同时创建Google环境,但此环境独立于非双开环境,对未通过认证的设备仍会报相关错误。

要解决这一点,首先同时双开“设备ID”和SPIC/YASNAC。用前者获取到GSF ID后提交Google注册,等待半小时重启后,用后者验证状态。

七、总结

以上六大点总结下来就是:

如果系统自带,打开就行。

如果系统不带,手动安装。

如果Google异常,使用虚拟环境(GSpace、OurPlay等)

如果虚拟环境也败(或者纯粹不想用),解BL锁刷入本身自带Google环境的ROM,如xiaomi.eu

希望能帮到大家!



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有