首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計綜合問答

Android Google Maps API Key:SHA1 指紋獲取與 MD5 差異

     編輯:程式設計綜合問答

問題背景

申請 Google Maps API Key 時需提供簽名憑證指紋。JDK 1.7+ keytool 預設顯示 SHA1,舊版文檔要求 MD5,導致開發者困惑。

指令差異

# JDK 1.7+ 預設輸出 SHA1
keytool -list -alias androiddebugkey -keystore ~/.android/debug.keystore
# 輸出範例: SHA1: AA:BB:CC:DD:EE:FF...

# 強制輸出 MD5 (舊版 Maps API v1 需求)
keytool -v -list -alias androiddebugkey -keystore ~/.android/debug.keystore
# 輸出包含: MD5: 11:22:33:44:55:66...

關鍵參數說明

參數作用
-v詳細模式,顯示所有指紋演算法 (MD5, SHA1, SHA256)
-list列出金鑰庫條目
-alias指定別名 (預設 debug 金鑰為 androiddebugkey)
-keystore指定金鑰庫路徑

現代 Google Maps SDK (v2/v3) 要求

  • SHA1 指紋:目前 Google Maps Android SDK、Places SDK 皆使用 SHA1
  • 套件名稱 + SHA1:在 Google Cloud Console 設定「Android 應用程式限制」時輸入
  • 無需 MD5:Maps API v1 已於 2013 年停用,MD5 僅供歷史參考

完整獲取流程

  1. 開啟終端機/命令提示字元
  2. 執行:keytool -v -list -keystore ~/.android/debug.keystore
  3. 輸入密碼:android (debug 金鑰預設密碼)
  4. 複製 SHA1 行的十六進位字串 (冒號分隔)
  5. 至 Google Cloud Console → APIs & Services → Credentials → 建立/編輯 API Key → 應用程式限制 → Android 應用程式 → 新增套件名稱與 SHA1

Release 版本金鑰指紋

# 正式發布金鑰 (keystore 路徑、別名、密碼均為自訂)
keytool -v -list -keystore /path/to/release.keystore -alias your_alias
# 輸入 keystore 密碼與 key 密碼
# 複製 SHA1 至 Console 設定 (同一 API Key 可加多個 SHA1)

常見問題

現象原因解決
地圖顯示空白SHA1/套件名稱不匹配核對 Console 設定與 keytool 輸出
Authorization failureAPI Key 未啟用 Maps SDKConsole 啟用 "Maps SDK for Android"
Debug 正常 Release 失效未加入 Release SHA1同一 Key 加入兩組 SHA1
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved