呼叫HMS SDK介面報錯6003

2020-10-12 12:00:52

整合華為HMS SDK的遊戲或普通應用,呼叫介面(比如getCurrentPlayer登入介面)總是報錯6003。該錯誤碼官方檔案表示:簽名證書指紋錯誤,簽名證書指紋主要用於校驗應用的真實性,確保應用來自可信來源。

針對此問題,可以從以下4點排查:

  • 檢查當前應用使用的證書籤名是否與華為後臺設定一致。

  • 檢查manifest檔案中的appid引數是否正常。

  • 檢查是否有二次簽名或者加固。

  • 檢查是否使用了華為簽名服務。

檢查點一:檢查應用的簽名證書資訊是否與華為後臺設定一致。

  1. 開啟應用的APK,將其中「META-INF」資料夾解壓出來,得到其中的「CERT.RSA」檔案,通過keytool -printcert -file META-INF/CERT.RSA命令列印簽名證書資訊。
  2. 參考設定簽名證書檔案,檢查後臺設定的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
作者:鼓樓趙又廷

華為開發者論壇是一個為開發者提供資訊傳播、開發交流、技術分享的交流空間。開發者可以在此獲取技術乾貨、華為原始碼開放、HMS最新活動等資訊,歡迎大家來交流分享!