华为 HMS 地图 Android Codelab 不工作
Huawei HMS Maps Android Codelab not working
我正在尝试将 Huawei Maps Kit 用于不包含 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
我尝试了 Codelab 的 HMS Map 示例项目,它适用于所有设备(带 GMS 和不带 GMS)。
您是否修改了示例代码中的任何内容(gradle.build、json 文件等)或只是下载了示例代码并将其构建到 运行?
我的意思是,您可能按照 Codelab 中的步骤并使用示例项目作为参考并根据说明更新了一些文件?
请提供更多信息
Javier,我刚刚在华为开发者网站上查看了信息https://developer.huawei.com/consumer/en/doc/development/HMS-Guides/hms-map-v4-abouttheservice。 "Restrictions" section 3.1 里面说只针对华为设备。
请尝试以下步骤:
- Phone→设置→应用程序→搜索:华为服务框架,卸载*
- Phone→设置→应用程序→搜索:华为移动服务,卸载*
- Phone→应用市场→搜索:华为移动服务,安装
*如果无法卸载服务,请尝试停用它们并在出现提示时卸载它们的更新。
目前HUAWEI Map Kit只能运行在华为手机上使用。我们现在专注于解耦,以便 运行 可以在 non-Huawei 手机上使用更多功能。可在non-Huawei部手机上运行的HMS Core能力,请参考EMUI Version-Dependent Features。如果在Required Android Version (Non-Huawei Phones)栏中显示Not supported,对应的capability只能运行在华为手机上;如果此列中显示特定 Android 版本,则相应的功能可以 运行 在 non-Huawei 手机 运行 宁这些版本的 Android 系统上。
下载demo需要在AGC上创建工程,添加自己的sha256,下载JSON文件到应用级目录。地图可以正常显示了。
我正在尝试将 Huawei Maps Kit 用于不包含 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
我尝试了 Codelab 的 HMS Map 示例项目,它适用于所有设备(带 GMS 和不带 GMS)。
您是否修改了示例代码中的任何内容(gradle.build、json 文件等)或只是下载了示例代码并将其构建到 运行?
我的意思是,您可能按照 Codelab 中的步骤并使用示例项目作为参考并根据说明更新了一些文件?
请提供更多信息
Javier,我刚刚在华为开发者网站上查看了信息https://developer.huawei.com/consumer/en/doc/development/HMS-Guides/hms-map-v4-abouttheservice。 "Restrictions" section 3.1 里面说只针对华为设备。
请尝试以下步骤:
- Phone→设置→应用程序→搜索:华为服务框架,卸载*
- Phone→设置→应用程序→搜索:华为移动服务,卸载*
- Phone→应用市场→搜索:华为移动服务,安装
*如果无法卸载服务,请尝试停用它们并在出现提示时卸载它们的更新。
目前HUAWEI Map Kit只能运行在华为手机上使用。我们现在专注于解耦,以便 运行 可以在 non-Huawei 手机上使用更多功能。可在non-Huawei部手机上运行的HMS Core能力,请参考EMUI Version-Dependent Features。如果在Required Android Version (Non-Huawei Phones)栏中显示Not supported,对应的capability只能运行在华为手机上;如果此列中显示特定 Android 版本,则相应的功能可以 运行 在 non-Huawei 手机 运行 宁这些版本的 Android 系统上。
下载demo需要在AGC上创建工程,添加自己的sha256,下载JSON文件到应用级目录。地图可以正常显示了。