天天看點

解決高德地圖key錯誤與sha1不比對或MD5安全碼未通過問題

在開發模式中使用地圖功能時提示“使用者MD5安全碼未通過”,檢視高德官方文檔,給予下面提示:

*使用雲圖檢索、附近功能出現“key錯誤”、“使用者MD5安全碼未通過”、1008錯誤如何解決?

雲圖目前隻支援使用釋出版SHA1,為了保證雲圖相關功能(業務資料的檢索以及附近功能)的正常使用,請申請一個用于調試的Key和一個使用者釋出的Key,其中:

調試Key:釋出版安全碼SHA1和調試版安全碼SHA1都填寫開發環境下開發工具 keystore 對應的 SHA1,即開發模式(debug)SHA1,用于日常的功能調試。

釋出Key:釋出版安全碼SHA1和調試版安全碼SHA1都填寫上線的apk keystore 對應的 SHA1,即釋出模式(release)sha1用于釋出使用。* 點我檢視

解決高德地圖key錯誤與sha1不比對或MD5安全碼未通過問題

可以了解是由于sha1未按約定填寫導緻的。

解決思路:

根據約定,調試時無論開發模式(debug)sha1還是釋出模式(release)sha1統一填寫開發模式(debug)sha1;釋出時二者均用釋出模式(release)sha1。

問題來了,如何擷取sha1?

1.開發模式sha1的擷取:

使用keytool(密鑰和證書管理工具):進入cmd模式,依次進入到“c盤/使用者名/.android ”路徑下,執行keytool -v -list -keystore debug.keystore -storepass android 指令。 (注意,debug.keystore是固定的,前面也無需加任何字首)

解決高德地圖key錯誤與sha1不比對或MD5安全碼未通過問題

關于上條指令的說明:-list 列出密鑰庫中的條目,-v 詳細輸出,-keystore 指定秘鑰庫名稱,-storepass 指定密鑰庫密碼

2.釋出模式sha1的擷取:

同樣使用keytool工具,與上述步驟雷同,差別是指定的keystore路徑為實際項目生成的keystore檔案,注意路徑要補全。keysore檔案既可以是.jks格式的,也可以是.keystore格式的。我這裡是.jks

解決高德地圖key錯誤與sha1不比對或MD5安全碼未通過問題
解決高德地圖key錯誤與sha1不比對或MD5安全碼未通過問題

小提示:

- 開發模式(debug模式)密鑰庫密碼是*android*

- 在目前路徑下打開指令模式:按住*shift點選滑鼠右鍵。*

- keystore檔案的格式可以是.keystore*,也可以是.jks。*

- key錯誤,也有粗心的開發者平台上送出的包名與實際包名不一緻造成的。

繼續閱讀