集成華為HMS SDK的游戲或普通應(yīng)用,調(diào)用接口(比如getCurrentPlayer登錄接口)總是報(bào)錯(cuò)6003。該錯(cuò)誤碼官方文檔
表示:簽名證書指紋錯(cuò)誤,簽名證書指紋主要用于校驗(yàn)應(yīng)用的真實(shí)性,確保應(yīng)用來自可信來源。
針對(duì)此問題,可以從以下4點(diǎn)排查:
檢查
當(dāng)前應(yīng)用使用的證書簽名是否與華為后臺(tái)配置一致。檢查
manifest文件中的appid參數(shù)是否正常。檢查是否有
二次簽名或者加固。檢查是否使用了
華為簽名服務(wù)。
檢查點(diǎn)一:檢查應(yīng)用的簽名證書信息是否與華為后臺(tái)配置一致。
打開應(yīng)用的APK,將其中“META-INF”文件夾解壓出來,得到其中的“XXX.RSA”文件,通過keytool -printcert -file META-INF/XXX.RSA命令打印簽名證書信息。
參考配置簽名證書文檔,檢查后臺(tái)配置的SHA256證書指紋,如果信息和上面的一致,則正常。

注意:不要使用debug版本的keystore簽名打包,請(qǐng)使用正式版本打包并使用真機(jī)(非模擬器)進(jìn)行測(cè)試。
檢查點(diǎn)二:檢查manifest文件中的appid參數(shù)是否正確
可以通過以下幾種方式自行檢查:
直接查看項(xiàng)目中
manifest文件中配置的appid是否正確。將打包后的
APK文件使用反編譯工具查看manifest文件appid參數(shù)。工具自行百度。
檢查點(diǎn)三:檢查應(yīng)用是否有二次簽名或者加固
當(dāng)前華為渠道是不會(huì)做二次簽名的,因此如果應(yīng)用有做二次簽名或者加固,需要自行解決該問題。
檢查點(diǎn)四:檢查是否使用了華為的應(yīng)用簽名服務(wù)
當(dāng)前華為還提供了應(yīng)用簽名服務(wù),開發(fā)者可以將應(yīng)用的簽名秘鑰托管給華為,并使用該秘鑰為最終分發(fā)給用戶的APK簽名。
應(yīng)用簽名官方文檔:https://developer.huawei.com/consumer/cn/doc/development/AppGallery-connect-Guides/agc-appsigning-newapp
按照官網(wǎng)要求,如果使用了該服務(wù),需要將此處生成的證書指紋追加至檢查點(diǎn)一:檢查應(yīng)用的簽名證書信息是否與華為后臺(tái)配置一致中的華為后臺(tái)配置處。

欲了解更多詳情,請(qǐng)參見:
HMS Core SDK框架錯(cuò)誤碼:https://developer.huawei.com/consumer/cn/doc/development/HMSCore-References-V5/error-code-0000001050045846-V5
新應(yīng)用使用應(yīng)用簽名服務(wù):https://developer.huawei.com/consumer/cn/doc/development/AppGallery-connect-Guides/agc-appsigning-newapp
原文鏈接:https://developer.huawei.com/consumer/cn/forum/topicview?tid=0203363619150710071&fid=18
作者:鼓樓趙又廷