如果华为设备同时支持 GMS 和 HMS 核心,那为啥 HMS 核心不工作?

Posted

技术标签:

【中文标题】如果华为设备同时支持 GMS 和 HMS 核心,那为啥 HMS 核心不工作?【英文标题】:If a Huawei device is supporting both GMS and HMS core then why HMS core is not working?如果华为设备同时支持 GMS 和 HMS 核心,那为什么 HMS 核心不工作? 【发布时间】:2021-12-14 05:52:45 【问题描述】:

我正在为 android 开发一个应用程序,在华为设备上我面临很多问题。我在我的应用程序中使用 FusedLocation 和通知,因此我不得不为华为设备开发另一个应用程序,因为许多华为设备现在不支持 GMS。 我无法理解 HMS 和 GMS 之间的主要区别。

如果华为设备同时包含 GMS 和 HMS 并且从 App Gallery 下载应用程序(包含 HMS 支持),则 HMS 核心会导致一些问题。通知和位置回调将无法正常工作。 如果设备只包含 HMS 内核,并且从 AppGallery 下载应用程序,则可以正常工作。

【问题讨论】:

【参考方案1】:

建议您使用该解决方案同时集成 GMS 和 HMS。优点如下:

    降低应用打包的复杂性。一个包可以同时发布到 Google Play 和 HUAWEI AppGallery。 降低代码维护成本。 HMS+GMS适配层代码是在原逻辑代码的基础上增加的。这样就可以根据手机自动调用正确的代码。即不需要修改现有的逻辑代码,也不需要维护两套代码。

建议您使用HUAWEI HMS ToolKit,可以帮助您快速添加HMS+GMS适配层代码,升级您的逻辑代码同时支持GMS和HMS。

详情可以参考这个问题:Have both GMS and HMS in the project。

【讨论】:

这个我知道,我也在努力。我也在使用华为 HMS Toolkit,但我的主要问题是 HMS 和 GMS 之间的主要区别是什么?如果设备有 google plastore 并且应用程序是从应用程序库下载的,那么为什么它不能正常工作? 这很奇怪。 HMS SDK应该是支持华为GMS手机的,能不能把完整的log分享一下,以便我们分析这个问题? 我的一位客户遇到了这个问题,我会尝试再次重现它,然后我会分享它。谢谢

以上是关于如果华为设备同时支持 GMS 和 HMS 核心,那为啥 HMS 核心不工作?的主要内容,如果未能解决你的问题,请参考以下文章

Google Play 商店是不是容忍华为 HMS?

想问华为hms,core啥意思

将代码转换为 (G+H) 后应用程序崩溃。 GMS 和 HMS 支持

发布版华为AppGallery 6003错误码

hms core

华为正式发布海外搜索引擎和地图应用,完善HMS生态