HarmonyOS集成HMS Core服務--小白入坑操作(2)
一、前言
一起學鴻蒙,我是入坑小助手。
本次我為大家分享的是HaromonyOS集成HMS Core遇到的問題。(包含部分真機簽名獲取和集成HMS Core服務的流程)
作為想要同時學習HarmonyOS和HMS Core的小白,在集成服務這里又一次成功入坑。
入坑前經歷
在入坑之前,我還是個對HarmonyOS\HMS Core只有初步了解的小白菜。
第一次入坑:以失敗告終(我告訴自己應該是某個環節出了問題,理順思路重新再來)
第二次入坑前一秒:應該可以的,這次理順思路應該就行了。
二、在入坑道路上一去不復返
1.新建工程
首先創建一個Java的新工程


隨后“Finish”進入工程。
進入工程后,我們可以打開AppGallery Connect進行簽名以及HMS Core相關服務集成。
2.AppGallery Connect配置

在此頁面點擊"我的項目",并且如下"添加項目"


項目中還沒有應用,我們先添加應用,具體參數自己設置即可,但應用包名盡量和創建工程時設置的包名保持一致。

完成以上步驟,我們返回DevEco-studio進行下一步操作。
以下就是我的入坑點了!
3.工程配置并成功入坑
點擊“Build”中如下圖選項,進行Key store file(.p12文件)的生成。(注:后綴一定要設為.p12)

下面是創建“p12”文件步驟

創建成功后,就需要我們進行導入并生成.csr文件,操作如下:


完成以上操作后,點擊“完成”即可。(以上步驟幾乎與獲取真機簽名部分步驟一致)
又繼續對照HMS core相關服務中的“開發準備->配置AppGallery Connect”指南來進行SHA256指紋的獲取。細心的小伙伴會發現,配置指南中給出的是要去用到jks文件來獲取SHA256指紋,但經過了這么多步驟并沒有得到任何一個jks文件。只能打開終端硬著頭皮試一下是否能用“keytool -list -v -keystore ···”命令來打開我們的csr文件或p12文件,結果想必大家都知道了。
4.坑底掙扎
作為一個小白,發現上面的方法不可行,于是抱著試探的心理開始了新一輪的“掙扎”。回想Android集成HMS Core的流程(集成scene kit服務):
先這樣

再這樣

然而,我的結果卻是:
雖然這樣

卻是這樣

三、艱難出坑
于是又開始了漫長的“搜索”過程,有些解答中說要發送到windows電腦然后通過命令獲取SHA256,有些說現在HMS Core還無法適配HarmonyOS。后來終于在官方文檔找到了已經開放HarmonyOS集成的Map服務配置教程。
看到這里,作為小白的我才知道前面的命令是可以打開p12文件的。再次去嘗試命令:(經過反復核對分析終于看到了自己之前給自己挖的坑🤦♂️)

從圖中我們看得出來,依然是沒有運行出來的。但沒有經驗的入門者誰會去注意想到“路徑存在空格導致錯誤”這一點呢?又對文件夾進行重命名,終于運行出如下結果:

終于能看出,圖中藍色部分也就是我們需要的SHA256證書指紋,將其復制到AppGallery Connect項目中相應位置即可,如下圖:

將SHA256證書指紋復制進去并保存后,點擊“API管理”,并開啟“地圖服務”(通過前面查詢,我們知道目前Map服務已經適配了Harmony,我們后面就以Map服務為例進行操作),開啟后回到之前的“常規”頁面下載“agconnect-services.json”文件

再后面,按照Map服務官方指南來做就可以了!以下就是我從坑里爬上來的運行結果了!(基于Map服務示例代碼的運行結果)

四、總結建議
最后,再給大家一個建議🥰,在開發之前一定要分析好實施的可行性,比如我們想要集成的HMS Core服務,有些服務目前還暫未支持HarmonyOS開發,就需要我們自己去提前判斷出正確方向才能避坑前行。
我是“入坑小助手”,讓我們一起攜手前進,珍愛發際線。