【问题标题】:Huawei HMS Maps Android Codelab not working华为 HMS Maps Android Codelab 不工作
【发布时间】:2020-05-12 03:03:59
【问题描述】:

我正在尝试将华为地图工具包用于不包含 Google Play 服务的新设备。 Codelab 演示位于:

https://developer.huawei.com/consumer/en/codelab/HMSMapKit/index.html#7

我没有更改演示的任何一行代码,应用程序已自动下载华为移动服务3.0.3.300版本。

但是,地图仍然没有出现。

你有遇到同样的问题吗?

我收到了这些日志:

01-26 14:24:34.265 19265-19265/com.wz.android.mapdemo W/DynamicModule: Failed to load remote module.

01-26 14:24:34.256 19265-19265/com.wz.android.mapdemo D/HmsMapKit_MapView_183: onStart
01-26 14:24:34.257 19265-19265/com.wz.android.mapdemo I/HmsMapKit_MapCreator_48: Making Createor dynamically
01-26 14:24:34.257 19265-19265/com.wz.android.mapdemo I/DynamicModule: Local module huawei_module_maps:0
01-26 14:24:34.257 19265-19265/com.wz.android.mapdemo I/DynamicModule: Remote module huawei_module_maps:-100
01-26 14:24:34.259 19265-19265/com.wz.android.mapdemo W/DynamicModule: Failed to load remote module.
    com.huawei.hms.feature.dynamic.DynamicModule$LoadingException: f*i*e* *o*l*a* *o*u*e
        at com.huawei.hms.feature.dynamic.DynamicModule.a(Unknown Source)
        at com.huawei.hms.feature.dynamic.DynamicModule.a(Unknown Source)
        at com.huawei.hms.feature.dynamic.DynamicModule.load(Unknown Source)
        at com.huawei.hms.maps.internal.MapCreator.getRemoteContext(MapCreator.java:97)
        at com.huawei.hms.maps.internal.MapCreator.getRemoteMapContext(MapCreator.java:85)
        at com.huawei.hms.maps.internal.MapCreator.getCreator(MapCreator.java:50)
        at com.huawei.hms.maps.MapView$MapViewDeferredLifecycleHelper.createDelegate(MapView.java:241)
        at com.huawei.hms.feature.dynamic.DeferredLifecycleHelper.a(Unknown Source)
        at com.huawei.hms.feature.dynamic.DeferredLifecycleHelper.onStart(Unknown Source)
        at com.huawei.hms.maps.MapView.onStart(MapView.java:184)
        at com.wz.android.mapdemo.MainActivity.onStart(MainActivity.java:82)
        at android.app.Instrumentation.callActivityOnStart(Instrumentation.java:1245)
        at android.app.Activity.performStart(Activity.java:6330)
        at android.app.Activity.performRestart(Activity.java:6376)
        at android.app.Activity.performResume(Activity.java:6381)
        at android.app.ActivityThread.performResumeActivity(ActivityThread.java:3310)
        at android.app.ActivityThread.handleResumeActivity(ActivityThread.java:3356)
        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1543)
        at android.os.Handler.dispatchMessage(Handler.java:111)
        at android.os.Looper.loop(Looper.java:207)
        at android.app.ActivityThread.main(ActivityThread.java:5765)
        at java.lang.reflect.Method.invoke(Native Method)
        at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:789)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:679)
01-26 14:24:34.259 19265-19265/com.wz.android.mapdemo E/HmsMapKit_MapCreator_99: getRemoteContext: DynamicModule load failedcom.huawei.hms.feature.dynamic.DynamicModule$LoadingException: failed to load Module
01-26 14:24:34.261 19265-19265/com.wz.android.mapdemo I/HmsMapKit_MapCreator_53: getRemoteMapContext failed
01-26 14:24:34.263 19265-19265/com.wz.android.mapdemo D/HmsMapKit_MapView_166: onResume
01-26 14:24:34.263 19265-19265/com.wz.android.mapdemo I/HmsMapKit_MapCreator_48: Making Createor dynamically
01-26 14:24:34.263 19265-19265/com.wz.android.mapdemo I/DynamicModule: Local module huawei_module_maps:0
01-26 14:24:34.264 19265-19265/com.wz.android.mapdemo I/DynamicModule: Remote module huawei_module_maps:-100
01-26 14:24:34.265 19265-19265/com.wz.android.mapdemo W/DynamicModule: Failed to load remote module.
    com.huawei.hms.feature.dynamic.DynamicModule$LoadingException: f*i*e* *o*l*a* *o*u*e
        at com.huawei.hms.feature.dynamic.DynamicModule.a(Unknown Source)
        at com.huawei.hms.feature.dynamic.DynamicModule.a(Unknown Source)
        at com.huawei.hms.feature.dynamic.DynamicModule.load(Unknown Source)
        at com.huawei.hms.maps.internal.MapCreator.getRemoteContext(MapCreator.java:97)
        at com.huawei.hms.maps.internal.MapCreator.getRemoteMapContext(MapCreator.java:85)
        at com.huawei.hms.maps.internal.MapCreator.getCreator(MapCreator.java:50)
        at com.huawei.hms.maps.MapView$MapViewDeferredLifecycleHelper.createDelegate(MapView.java:241)
        at com.huawei.hms.feature.dynamic.DeferredLifecycleHelper.a(Unknown Source)
        at com.huawei.hms.feature.dynamic.DeferredLifecycleHelper.onResume(Unknown Source)
        at com.huawei.hms.maps.MapView.onResume(MapView.java:167)
        at com.wz.android.mapdemo.MainActivity.onResume(MainActivity.java:133)
        at android.app.Instrumentation.callActivityOnResume(Instrumentation.java:1268)
        at android.app.Activity.performResume(Activity.java:6389)
        at android.app.ActivityThread.performResumeActivity(ActivityThread.java:3310)
        at android.app.ActivityThread.handleResumeActivity(ActivityThread.java:3356)
        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1543)
        at android.os.Handler.dispatchMessage(Handler.java:111)
        at android.os.Looper.loop(Looper.java:207)
        at android.app.ActivityThread.main(ActivityThread.java:5765)
        at java.lang.reflect.Method.invoke(Native Method)
        at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:789)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:679)
01-26 14:24:34.265 19265-19265/com.wz.android.mapdemo E/HmsMapKit_MapCreator_99: getRemoteContext: DynamicModule load failedcom.huawei.hms.feature.dynamic.DynamicModule$LoadingException: failed to load Module
01-26 14:24:34.267 19265-19265/com.wz.android.mapdemo I/HmsMapKit_MapCreator_53: getRemoteMapContext failed

【问题讨论】:

    标签: android dictionary huawei-mobile-services huawei-map-kit


    【解决方案1】:

    我尝试了 Codelab 的 HMS Map 示例项目,它适用于所有设备(带 GMS 和不带 GMS)。 您是否修改了示例代码(gradle.build、json 文件等)中的任何内容,或者只是下载了示例代码并构建它以运行?
    我的意思是您可能遵循了 Codelab 中的过程并使用示例项目作为参考并根据说明更新了一些文件?

    请提供更多信息

    【讨论】:

    • 我刚刚下载了项目并编译了它。我没有更改任何文件。该应用已自动下载华为移动服务3.0.3.300版本。仍然无法正常工作:S
    • 你在哪个国家测试它?我在西班牙。跟它有关系吗?
    • 哈维尔您好!最新的 HMS 版本是 4.0.0.334 而不是 3.0.3.300。你能尝试更新HMS版本吗?您可以使用华为应用市场。
    • 我在芬兰。但是您使用的是哪种设备:“不包含 Google Play 服务的新设备”?是华为设备吗?
    • 我手动安装了Huawei Services 4.0.0.334,还是不行。它不是华为设备,但 AFAIK 只需要安装这些华为服务即可在其他设备或模拟器中进行测试。
    【解决方案2】:

    Javier,我刚刚在华为开发者网站https://developer.huawei.com/consumer/en/doc/development/HMS-Guides/hms-map-v4-abouttheservice查看了信息。有“限制”第 3.1 节,并指出仅适用于华为设备。

    【讨论】:

    • 我的错,Push Kit 可以在任何设备上使用,但 Maps Kit 只能在华为设备上使用。谢谢!
    【解决方案3】:

    尝试以下步骤:

    1. 手机→设置→应用程序→搜索:华为服务框架,卸载*
    2. 手机→设置→应用程序→搜索:华为移动服务,卸载*
    3. 手机→AppGallery→搜索:华为手机服务,安装

    *如果无法卸载服务,请尝试停用它们并在出现提示时卸载它们的更新。

    【讨论】:

      【解决方案4】:

      目前,HUAWEI Map Kit 只能在华为手机上运行和使用。我们现在专注于解耦,让更多的能力可以在非华为手机上运行。可以在非华为手机上运行的HMS Core能力请参考EMUI Version-Dependent Features。如果Required Android Version (Non-Huawei Phones)栏中显示Not supported,则对应的能力只能在华为手机上运行;如果该栏显示特定的Android版本,则对应的能力可以在运行该版本Android系统的非华为手机上运行。

      【讨论】:

      • 美好的一天!注释说“Android 7.0 不支持具有平台签名的应用程序。”。你们这是什么意思?谢谢
      • 太好了,谢谢。这是否意味着我们现在也可以在非华为设备上测试 HMS Map Kit 了?
      • 这是否意味着我们现在也可以在非华为设备上测试HMS Map Kit了?--当然,请参考this。这是地图套件的最新文档
      • 非常感谢,最后我们可以在模拟器上运行它吗,因为文档中从未提及它?
      • 当然可以。并且你也可以使用huawei cloud debugging来测试一下。
      【解决方案5】:

      要下载演示,您需要在 AGC 上创建一个项目,添加您自己的 sha256,并将 JSON 文件下载到您的应用级目录。地图可以正常显示。

      【讨论】:

        猜你喜欢
        • 2021-12-14
        • 1970-01-01
        • 2021-01-21
        • 2021-07-13
        • 1970-01-01
        • 1970-01-01
        • 2021-07-02
        • 2021-01-13
        • 1970-01-01
        相关资源
        最近更新 更多