#星光计划1.0# HarmonyOS集成HMS Core服务--小白入坑操作(2) 原创 精华

发布于 2021-11-11 03:40
浏览
6收藏

@toc

一、前言

一起学鸿蒙,我是入坑小助手。
本次我为大家分享的是HaromonyOS集成HMS Core遇到的问题。(包含部分真机签名获取和集成HMS Core服务的流程)
作为想要同时学习HarmonyOS和HMS Core的小白,在集成服务这里又一次成功入坑。

入坑前经历

在入坑之前,我还是个对HarmonyOS\HMS Core只有初步了解的小白菜。
第一次入坑:以失败告终(我告诉自己应该是某个环节出了问题,理顺思路重新再来)
第二次入坑前一秒:应该可以的,这次理顺思路应该就行了。

二、在入坑道路上一去不复返

1.新建工程

::: hljs-center

首先创建一个Java的新工程

:::

#星光计划1.0# HarmonyOS集成HMS Core服务--小白入坑操作(2)-开源基础软件社区
#星光计划1.0# HarmonyOS集成HMS Core服务--小白入坑操作(2)-开源基础软件社区
随后“Finish”进入工程。
进入工程后,我们可以打开AppGallery Connect进行签名以及HMS Core相关服务集成。

2.AppGallery Connect配置

::: hljs-center

#星光计划1.0# HarmonyOS集成HMS Core服务--小白入坑操作(2)-开源基础软件社区
在此页面点击"我的项目",并且如下"添加项目"

#星光计划1.0# HarmonyOS集成HMS Core服务--小白入坑操作(2)-开源基础软件社区

#星光计划1.0# HarmonyOS集成HMS Core服务--小白入坑操作(2)-开源基础软件社区

项目中还没有应用,我们先添加应用,具体参数自己设置即可,但应用包名尽量和创建工程时设置的包名保持一致。

#星光计划1.0# HarmonyOS集成HMS Core服务--小白入坑操作(2)-开源基础软件社区
:::

完成以上步骤,我们返回DevEco-studio进行下一步操作。
以下就是我的入坑点了!

3.工程配置并成功入坑

点击“Build”中如下图选项,进行Key store file(.p12文件)的生成。(注:后缀一定要设为.p12)
#星光计划1.0# HarmonyOS集成HMS Core服务--小白入坑操作(2)-开源基础软件社区
下面是创建“p12”文件步骤
#星光计划1.0# HarmonyOS集成HMS Core服务--小白入坑操作(2)-开源基础软件社区
创建成功后,就需要我们进行导入并生成.csr文件,操作如下:
#星光计划1.0# HarmonyOS集成HMS Core服务--小白入坑操作(2)-开源基础软件社区
#星光计划1.0# HarmonyOS集成HMS Core服务--小白入坑操作(2)-开源基础软件社区
完成以上操作后,点击“完成”即可。(以上步骤几乎与获取真机签名部分步骤一致)
又继续对照HMS core相关服务中的“开发准备->配置AppGallery Connect”指南来进行SHA256指纹的获取。细心的小伙伴会发现,配置指南中给出的是要去用到jks文件来获取SHA256指纹,但经过了这么多步骤并没有得到任何一个jks文件。只能打开终端硬着头皮试一下是否能用“keytool -list -v -keystore ···”命令来打开我们的csr文件或p12文件,结果想必大家都知道了。

4.坑底挣扎

作为一个小白,发现上面的方法不可行,于是抱着试探的心理开始了新一轮的“挣扎”。回想Android集成HMS Core的流程(集成scene kit服务):
::: hljs-center

先这样

:::

#星光计划1.0# HarmonyOS集成HMS Core服务--小白入坑操作(2)-开源基础软件社区
::: hljs-center

再这样

:::
#星光计划1.0# HarmonyOS集成HMS Core服务--小白入坑操作(2)-开源基础软件社区
然而,我的结果却是:
::: hljs-center

虽然这样

:::
#星光计划1.0# HarmonyOS集成HMS Core服务--小白入坑操作(2)-开源基础软件社区
::: hljs-center

却是这样

:::
#星光计划1.0# HarmonyOS集成HMS Core服务--小白入坑操作(2)-开源基础软件社区

三、艰难出坑

于是又开始了漫长的“搜索”过程,有些解答中说要发送到windows电脑然后通过命令获取SHA256,有些说现在HMS Core还无法适配HarmonyOS。后来终于在官方文档找到了已经开放HarmonyOS集成的Map服务配置教程
看到这里,作为小白的我才知道前面的命令是可以打开p12文件的。再次去尝试命令:(经过反复核对分析终于看到了自己之前给自己挖的坑🤦‍♂️)
::: hljs-center

#星光计划1.0# HarmonyOS集成HMS Core服务--小白入坑操作(2)-开源基础软件社区

:::
从图中我们看得出来,依然是没有运行出来的。但没有经验的入门者谁会去注意想到“路径存在空格导致错误”这一点呢?又对文件夹进行重命名,终于运行出如下结果:
#星光计划1.0# HarmonyOS集成HMS Core服务--小白入坑操作(2)-开源基础软件社区
终于能看出,图中蓝色部分也就是我们需要的SHA256证书指纹,将其复制到AppGallery Connect项目中相应位置即可,如下图:
#星光计划1.0# HarmonyOS集成HMS Core服务--小白入坑操作(2)-开源基础软件社区
将SHA256证书指纹复制进去并保存后,点击“API管理”,并开启“地图服务”(通过前面查询,我们知道目前Map服务已经适配了Harmony,我们后面就以Map服务为例进行操作),开启后回到之前的“常规”页面下载“agconnect-services.json”文件
#星光计划1.0# HarmonyOS集成HMS Core服务--小白入坑操作(2)-开源基础软件社区
再后面,按照Map服务官方指南来做就可以了!以下就是我从坑里爬上来的运行结果了!(基于Map服务示例代码的运行结果)
::: hljs-center

#星光计划1.0# HarmonyOS集成HMS Core服务--小白入坑操作(2)-开源基础软件社区

:::

四、总结建议

最后,再给大家一个建议🥰,在开发之前一定要分析好实施的可行性,比如我们想要集成的HMS Core服务,有些服务目前还暂未支持HarmonyOS开发,就需要我们自己去提前判断出正确方向才能避坑前行。
我是“入坑小助手”,让我们一起携手前进,珍爱发际线。


【本文正在参与51CTO HarmonyOS技术社区创作者激励-星光计划1.0】
https://harmonyos.51cto.com/posts/8719

©著作权归作者所有,如需转载,请注明出处,否则将追究法律责任
已于2021-11-11 10:14:19修改
9
收藏 6
回复
举报
回复
添加资源
添加资源将有机会获得更多曝光,你也可以直接关联已上传资源 去关联
    相关推荐