HarmonyOS集成HMS Core服務(wù)--小白入坑操作(2)
想了解更多內(nèi)容,請(qǐng)?jiān)L問(wèn):
51CTO和華為官方合作共建的鴻蒙技術(shù)社區(qū)
一、前言
一起學(xué)鴻蒙,我是入坑小助手。
本次我為大家分享的是HaromonyOS集成HMS Core遇到的問(wèn)題。(包含部分真機(jī)簽名獲取和集成HMS Core服務(wù)的流程)
作為想要同時(shí)學(xué)習(xí)HarmonyOS和HMS Core的小白,在集成服務(wù)這里又一次成功入坑。
入坑前經(jīng)歷
在入坑之前,我還是個(gè)對(duì)HarmonyOS\HMS Core只有初步了解的小白菜。
第一次入坑:以失敗告終(我告訴自己應(yīng)該是某個(gè)環(huán)節(jié)出了問(wèn)題,理順?biāo)悸分匦略賮?lái))
第二次入坑前一秒:應(yīng)該可以的,這次理順?biāo)悸窇?yīng)該就行了。
二、在入坑道路上一去不復(fù)返
1.新建工程
首先創(chuàng)建一個(gè)Java的新工程


隨后“Finish”進(jìn)入工程。
進(jìn)入工程后,我們可以打開(kāi)AppGallery Connect進(jìn)行簽名以及HMS Core相關(guān)服務(wù)集成。
2.AppGallery Connect配置

在此頁(yè)面點(diǎn)擊"我的項(xiàng)目",并且如下"添加項(xiàng)目"


項(xiàng)目中還沒(méi)有應(yīng)用,我們先添加應(yīng)用,具體參數(shù)自己設(shè)置即可,但應(yīng)用包名盡量和創(chuàng)建工程時(shí)設(shè)置的包名保持一致。

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

下面是創(chuàng)建“p12”文件步驟

創(chuàng)建成功后,就需要我們進(jìn)行導(dǎo)入并生成.csr文件,操作如下:


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

再這樣

然而,我的結(jié)果卻是:
雖然這樣

卻是這樣

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

從圖中我們看得出來(lái),依然是沒(méi)有運(yùn)行出來(lái)的。但沒(méi)有經(jīng)驗(yàn)的入門(mén)者誰(shuí)會(huì)去注意想到“路徑存在空格導(dǎo)致錯(cuò)誤”這一點(diǎn)呢?又對(duì)文件夾進(jìn)行重命名,終于運(yùn)行出如下結(jié)果:

終于能看出,圖中藍(lán)色部分也就是我們需要的SHA256證書(shū)指紋,將其復(fù)制到AppGallery Connect項(xiàng)目中相應(yīng)位置即可,如下圖:

將SHA256證書(shū)指紋復(fù)制進(jìn)去并保存后,點(diǎn)擊“API管理”,并開(kāi)啟“地圖服務(wù)”(通過(guò)前面查詢,我們知道目前Map服務(wù)已經(jīng)適配了Harmony,我們后面就以Map服務(wù)為例進(jìn)行操作),開(kāi)啟后回到之前的“常規(guī)”頁(yè)面下載“agconnect-services.json”文件

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

四、總結(jié)建議
最后,再給大家一個(gè)建議🥰,在開(kāi)發(fā)之前一定要分析好實(shí)施的可行性,比如我們想要集成的HMS Core服務(wù),有些服務(wù)目前還暫未支持HarmonyOS開(kāi)發(fā),就需要我們自己去提前判斷出正確方向才能避坑前行。
我是“入坑小助手”,讓我們一起攜手前進(jìn),珍愛(ài)發(fā)際線。
想了解更多內(nèi)容,請(qǐng)?jiān)L問(wèn):
51CTO和華為官方合作共建的鴻蒙技術(shù)社區(qū)