华为手机用不了GMS?MicroG HarmonyOS适配与位置权限设置一次搞定
【免费下载链接】GmsCoreFree implementation of Play Services项目地址: https://gitcode.com/GitHub_Trending/gm/GmsCore
读完这篇,你就能在 HarmonyOS 手机上装好 MicroG(GmsCore 仓库)的华为适配版并跑通全部流程。这个开源项目是 Play Services 的自由实现,仓库里的 huawei 构建变体专门干两件事:签名伪造(让应用通过系统的签名校验)和位置权限引导。你要做的只有两件事:装对版本 + 把位置权限设为"始终允许"。
1. 谁需要 MicroG 华为版
如果你的手机是华为、系统里没有 GMS,大概率遇到过:地图应用打不开、Google 登录转圈、位置分享完全不可用。MicroG 就是来补这个坑的——用开源实现替代 Play Services 的功能。
其中 huawei 构建变体就是为 HarmonyOS 设备准备的,覆盖两点:
- 签名校验:华为系统的签名校验接口和标准 Android 不一样,仓库在 fake-signature/src/huawei/ 下单独做了实现;
- 位置权限:华为设备的授权流程有差异,play-services-location/core/src/huawei/ 里有一套专用的引导授权页和中文提示资源。
想在华为手机上继续用依赖 GMS 的功能,就往下看。
2. 装好华为适配版:三步
- 克隆仓库代码:
git clone https://gitcode.com/GitHub_Trending/gm/GmsCore- 构建:不用改任何配置,构建时选择 huawei 变体即可(Gradle 里 target 维度下的一个变体)。构建完成后版本号会带
-hw后缀,比如 0.3.3.1.240913-hw,拿这个 APK。 - 装到手机上,打开。
✅ 装完服务已经在跑,但应用可能提示拿不到位置——这正是下一节要解决的。
3. 位置权限怎么设成"始终允许"
为什么必须是"始终允许"
只勾"使用期间允许"的话,应用一退到后台,位置就断了。比如 Teams 里的位置分享会直接失效。仓库中文提示也写得很直白:缺这个权限,部分应用后台运行时拿不到当前位置。
两步授权
权限没给全时,microG 会自己弹出一条常驻通知,点进去就是引导页。跟着下面两张图操作:
📍 第一步:打开 设置 → 应用 → microG 服务,在应用信息页找到"权限"入口:
✅ 第二步:进权限页,把位置信息设为"始终允许":
⚠️ 小提醒:huawei 变体在权限请求清单里还加了一条华为自家的后台权限com.huawei.permission.sec.MDM.v2,授权时如果系统多弹一个窗口,直接允许即可。
4. fake-signature 签名伪造是怎么回事
一句话讲清:签名伪造 ≈ 替应用出示一张"系统盖过章的身份证"——系统来核对应用签名时,它递过去的是能通过的签名,应用就这样被当成"可信应用"放行。
华为设备上的具体做法:fake-signature/src/huawei/ 里的 SignatureService 服务实现了华为的 ISignatureService 接口。有人拿着应用包名来查时,它会查本地 SQLite 白名单(由 AppListDatabaseOpenHelper 维护):在白名单里就返回伪造签名,不在就返回真实签名。另外只接受系统级调用(UID 小于 10000),普通应用没法直接戳这个服务。
5. 遇到问题怎么办:高频问题 Q&A
| 你看到什么 | 多半卡在哪 | 怎么修 |
|---|---|---|
| 应用提示"Google Play 服务不可用" | 装的不是华为适配版 | 换带 -hw 后缀的版本重装 |
| 地图无法定位、拿不到位置 | 权限只给了"使用期间允许" | 按第 3 节改成"始终允许" |
| 应用退后台后位置分享断掉 | 后台位置权限没给全 | 点 microG 的通知,完成"始终允许"授权 |
| 服务放一会儿就被杀 | 系统省电策略清理 | 把 microG 加入电池优化白名单、设为不限制 |
6. 版本对照与反馈渠道
| 版本 | 系统 | 实际体验 |
|---|---|---|
| 0.3.3.1.240913-hw | HarmonyOS 4.0 及以上 | 基本顺畅,华为专用签名服务就位 |
| 0.2.x 系列 | HarmonyOS 3.0 | 主要功能可用,个别场景需手动补救 |
| 标准版(无 -hw 后缀) | HarmonyOS 2.0 | 支持有限,需要较多手动配置 |
遇到上表没覆盖的问题,直接把系统版本和现象丢到项目的 issue 区;愿意看代码的话,huawei 变体的源码都在 play-services-location/core/src/huawei/ 这几个目录里,改好可以提修复。后续随 HarmonyOS 大版本更新,华为适配也会跟着变体持续演进,跟着版本号走就行。
【免费下载链接】GmsCoreFree implementation of Play Services项目地址: https://gitcode.com/GitHub_Trending/gm/GmsCore
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考