集成華為HMS SDK的游戲或普通應用,調用接口(比如getCurrentPlayer登錄接口)總是報錯6003。該錯誤碼官方文檔表示:簽名證書指紋錯誤,簽名證書指紋主要用于校驗應用的真實性,確保應用來自可信來源。
針對此問題,可以從以下4點排查:
- 檢查當前應用使用的證書簽名是否與華為后臺配置一致。
- 檢查manifest文件中的Appid參數是否正常。
- 檢查是否有二次簽名或者加固。
- 檢查是否使用了華為簽名服務。
檢查點一:檢查應用的簽名證書信息是否與華為后臺配置一致。
- 打開應用的APK,將其中“META-INF”文件夾解壓出來,得到其中的“CERT.RSA”文件,通過keytool -printcert -file META-INF/CERT.RSA命令打印簽名證書信息。
- 參考配置簽名證書文檔,檢查后臺配置的SHA256證書指紋,如果信息和上面的一致,則正常。
注意:不要使用debug版本的keystore簽名打包,請使用正式版本打包并使用真機(非模擬器)進行測試。
檢查點二:檢查manifest文件中的appid參數是否正確
可以通過以下幾種方式自行檢查:
- 直接查看項目中manifest文件中配置的appid是否正確。
- 將打包后的APK文件使用反編譯工具查看manifest文件appid參數。工具自行百度。
檢查點三:檢查應用是否有二次簽名或者加固
當前華為渠道是不會做二次簽名的,因此如果應用有做二次簽名或者加固,需要自行解決該問題。
檢查點四:檢查是否使用了華為的應用簽名服務
當前華為還提供了應用簽名服務,開發者可以將應用的簽名秘鑰托管給華為,并使用該秘鑰為最終分發給用戶的APK簽名。
應用簽名官方文檔:https://developer.huawei.com/consumer/cn/doc/development/AppGallery-connect-Guides/agc-appsigning-newapp
按照官網要求,如果使用了該服務,需要將此處生成的證書指紋追加至檢查點一:檢查應用的簽名證書信息是否與華為后臺配置一致中的華為后臺配置處。
欲了解更多詳情,請參見:
HMS Core SDK框架錯誤碼:https://developer.huawei.com/consumer/cn/doc/development/HMSCore-References-V5/error-code-0000001050045846-V5
新應用使用應用簽名服務: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
作者:鼓樓趙又廷