HarmonyOS集成HMS Core服务--小白入坑操作(2)
一、前言
一起学鸿蒙,我是入坑小助手。
本次我为大家分享的是HaromonyOS集成HMS Core遇到的问题。(包含部分真机签名获取和集成HMS Core服务的流程)
作为想要同时学习HarmonyOS和HMS Core的小白,在集成服务这里又一次成功入坑。
入坑前经历
在入坑之前,我还是个对HarmonyOS\HMS Core只有初步了解的小白菜。
第一次入坑:以失败告终(我告诉自己应该是某个环节出了问题,理顺思路重新再来)
第二次入坑前一秒:应该可以的,这次理顺思路应该就行了。
二、在入坑道路上一去不复返
1.新建工程
首先创建一个Java的新工程
![#星光计划1.0# HarmonyOS集成HMS Core服务--小白入坑操作(2)-鸿蒙HarmonyOS技术社区](https://s4.51cto.com/oss/202111/12/ff5aa93ad3e477de0b69c29b9d6d231f.jpg)
![#星光计划1.0# HarmonyOS集成HMS Core服务--小白入坑操作(2)-鸿蒙HarmonyOS技术社区](https://s4.51cto.com/oss/202111/12/29d557b295d2c8bc79d23af3062898ab.jpg)
随后“Finish”进入工程。
进入工程后,我们可以打开AppGallery Connect进行签名以及HMS Core相关服务集成。
2.AppGallery Connect配置
![#星光计划1.0# HarmonyOS集成HMS Core服务--小白入坑操作(2)-鸿蒙HarmonyOS技术社区](https://s4.51cto.com/oss/202111/12/3cc0622740a16bb74a6e8bebdf094d81.jpg)
在此页面点击"我的项目",并且如下"添加项目"
![#星光计划1.0# HarmonyOS集成HMS Core服务--小白入坑操作(2)-鸿蒙HarmonyOS技术社区](https://s4.51cto.com/oss/202111/12/5410cf9621a13aee11513185f9d2a700.jpg)
![#星光计划1.0# HarmonyOS集成HMS Core服务--小白入坑操作(2)-鸿蒙HarmonyOS技术社区](https://s2.51cto.com/oss/202111/12/a1d035fb4c01cc8f5cae54c9797d01b4.jpg)
项目中还没有应用,我们先添加应用,具体参数自己设置即可,但应用包名尽量和创建工程时设置的包名保持一致。
![#星光计划1.0# HarmonyOS集成HMS Core服务--小白入坑操作(2)-鸿蒙HarmonyOS技术社区](https://s2.51cto.com/oss/202111/12/e8e1dfbb18726e645e5d87615971f467.jpg)
完成以上步骤,我们返回DevEco-studio进行下一步操作。
以下就是我的入坑点了!
3.工程配置并成功入坑
点击“Build”中如下图选项,进行Key store file(.p12文件)的生成。(注:后缀一定要设为.p12)
![#星光计划1.0# HarmonyOS集成HMS Core服务--小白入坑操作(2)-鸿蒙HarmonyOS技术社区](https://s5.51cto.com/oss/202111/12/195203837d33b6a3f5283619b750a6f6.jpg)
下面是创建“p12”文件步骤
![#星光计划1.0# HarmonyOS集成HMS Core服务--小白入坑操作(2)-鸿蒙HarmonyOS技术社区](https://s4.51cto.com/oss/202111/12/9975047ee184439e2e26e6facef8139f.jpg)
创建成功后,就需要我们进行导入并生成.csr文件,操作如下:
![#星光计划1.0# HarmonyOS集成HMS Core服务--小白入坑操作(2)-鸿蒙HarmonyOS技术社区](https://s4.51cto.com/oss/202111/12/9a01404412d477247873d5fa5865200c.jpg)
![#星光计划1.0# HarmonyOS集成HMS Core服务--小白入坑操作(2)-鸿蒙HarmonyOS技术社区](https://s4.51cto.com/oss/202111/12/0e68d55286701aec66e5fd2af3e85fbe.jpg)
完成以上操作后,点击“完成”即可。(以上步骤几乎与获取真机签名部分步骤一致)
又继续对照HMS core相关服务中的“开发准备->配置AppGallery Connect”指南来进行SHA256指纹的获取。细心的小伙伴会发现,配置指南中给出的是要去用到jks文件来获取SHA256指纹,但经过了这么多步骤并没有得到任何一个jks文件。只能打开终端硬着头皮试一下是否能用“keytool -list -v -keystore ···”命令来打开我们的csr文件或p12文件,结果想必大家都知道了。
4.坑底挣扎
作为一个小白,发现上面的方法不可行,于是抱着试探的心理开始了新一轮的“挣扎”。回想Android集成HMS Core的流程(集成scene kit服务):
先这样
![#星光计划1.0# HarmonyOS集成HMS Core服务--小白入坑操作(2)-鸿蒙HarmonyOS技术社区](https://s2.51cto.com/oss/202111/12/19c364d60a2ea038f295bd359af12fc3.jpg)
再这样
![#星光计划1.0# HarmonyOS集成HMS Core服务--小白入坑操作(2)-鸿蒙HarmonyOS技术社区](https://s5.51cto.com/oss/202111/12/e8b1c0582de957db95db5da92ec40fe2.jpg)
然而,我的结果却是:
虽然这样
![#星光计划1.0# HarmonyOS集成HMS Core服务--小白入坑操作(2)-鸿蒙HarmonyOS技术社区](https://s2.51cto.com/oss/202111/12/3cd4668fa0e94d1025e8c501e25f3bb5.jpg)
却是这样
![#星光计划1.0# HarmonyOS集成HMS Core服务--小白入坑操作(2)-鸿蒙HarmonyOS技术社区](https://s2.51cto.com/oss/202111/12/1f09a3c596a8ba2a25238ade567a09ba.jpg)
三、艰难出坑
于是又开始了漫长的“搜索”过程,有些解答中说要发送到windows电脑然后通过命令获取SHA256,有些说现在HMS Core还无法适配HarmonyOS。后来终于在官方文档找到了已经开放HarmonyOS集成的Map服务配置教程。
看到这里,作为小白的我才知道前面的命令是可以打开p12文件的。再次去尝试命令:(经过反复核对分析终于看到了自己之前给自己挖的坑🤦♂️)
![#星光计划1.0# HarmonyOS集成HMS Core服务--小白入坑操作(2)-鸿蒙HarmonyOS技术社区](https://s6.51cto.com/oss/202111/12/214cb8b449b9f599e9cf53012f3d6403.jpg)
从图中我们看得出来,依然是没有运行出来的。但没有经验的入门者谁会去注意想到“路径存在空格导致错误”这一点呢?又对文件夹进行重命名,终于运行出如下结果:
![#星光计划1.0# HarmonyOS集成HMS Core服务--小白入坑操作(2)-鸿蒙HarmonyOS技术社区](https://s6.51cto.com/oss/202111/12/1afdbcdcd85d9f21b66514a1a6e69962.jpg)
终于能看出,图中蓝色部分也就是我们需要的SHA256证书指纹,将其复制到AppGallery Connect项目中相应位置即可,如下图:
![#星光计划1.0# HarmonyOS集成HMS Core服务--小白入坑操作(2)-鸿蒙HarmonyOS技术社区](https://s4.51cto.com/oss/202111/12/d853f1f8bb499f60fee9684672540013.jpg)
将SHA256证书指纹复制进去并保存后,点击“API管理”,并开启“地图服务”(通过前面查询,我们知道目前Map服务已经适配了Harmony,我们后面就以Map服务为例进行操作),开启后回到之前的“常规”页面下载“agconnect-services.json”文件
![#星光计划1.0# HarmonyOS集成HMS Core服务--小白入坑操作(2)-鸿蒙HarmonyOS技术社区](https://s5.51cto.com/oss/202111/12/3928e6570d05efb825534f6df4d5af42.jpg)
再后面,按照Map服务官方指南来做就可以了!以下就是我从坑里爬上来的运行结果了!(基于Map服务示例代码的运行结果)
![#星光计划1.0# HarmonyOS集成HMS Core服务--小白入坑操作(2)-鸿蒙HarmonyOS技术社区](https://s2.51cto.com/oss/202111/12/741067d18c9c3235c66d7c4b1d56aabc.jpg)
四、总结建议
最后,再给大家一个建议🥰,在开发之前一定要分析好实施的可行性,比如我们想要集成的HMS Core服务,有些服务目前还暂未支持HarmonyOS开发,就需要我们自己去提前判断出正确方向才能避坑前行。
我是“入坑小助手”,让我们一起携手前进,珍爱发际线。
相关文章
- 在 Go 里用 CGO?这 7 个问题你要关注!
- 9款优秀的去中心化通讯软件 Matrix 的客户端
- 求职数据分析,项目经验该怎么写
- 在OKR中,我看到了数据驱动业务的未来
- 火山引擎云原生大数据在金融行业的实践
- OpenHarmony富设备移植指南(二)—从postmarketOS获取移植资源
- 《数据成熟度指数》报告:64%的企业领袖认为大多数员工“不懂数据”
- OpenHarmony 小型系统兼容性测试指南
- 肯睿中国(Cloudera):2023年企业数字战略三大趋势预测
- 适用于 Linux 的十大命令行游戏
- GNOME 截图工具的新旧截图方式
- System76 即将推出的 COSMIC 桌面正在酝酿大变化
- 2GB 内存 8GB 存储即可流畅运行,Windows 11 极致精简版系统 Tiny11 发布
- 迎接 ecode:一个即将推出的具有全新图形用户界面框架的现代、轻量级代码编辑器
- loongarch架构介绍(三)—地址翻译
- Go 语言怎么解决编译器错误“err is shadowed during return”?
- 敏捷:可能被开发人员遗忘的部分
- Denodo预测2023年数据管理和分析的未来
- 利用数据推动可持续发展
- 在 Vue3 中实现 React 原生 Hooks(useState、useEffect),深入理解 React Hooks 的