2014-12-08 39 views
6

今天我花了很長時間試圖弄清楚如何讓我的Android應用的調試版本中工作的Google Map能夠在發佈版中工作版。出現了幾個不同的問題。一些堆棧溢出的帖子的幫助,但我認爲這將是有益的,列出整個過程的更多細節,包括我有的問題,它們是:通過爲API密鑰生成SHA1指紋獲取Android Google Map v2工作在發佈版本

1)你如何/在哪裏指定不同的發佈版?

2)如何運行keytool可執行文件來獲取發行版本指紋?

3)爲什麼在運行keytool時出現「keystore文件存在但爲空」錯誤?

+0

你想2H:45:ZH:.......:哦,這類型的SHA-1 – 2014-12-08 04:26:15

回答

15

1)如其他堆棧溢出帖子中所述,您可以對調試版本和發行版本使用相同的Google API密鑰,但必須在Google Developers Console中提供調試密鑰和釋放密鑰的指紋。

  • 登錄到谷歌開發者控制檯https://console.developers.google.com
  • 選擇你合適的項目
  • 在左側,選擇憑據下「的API &權威性」
  • 假設你已經有Android應用程序生成的API密鑰,你應該已經看到您的應用程序被列爲帶有其調試指紋的「允許的應用程序」。點擊「編輯允許的Android應用程序」。
  • 您將需要爲您的應用程序添加另一行,但需要其釋放指紋。要獲得...

2)谷歌提到在該對話框,你需要運行

keytool -list -v -keystore mystore.keystore 

但是通過點擊「瞭解更多」中去遠一點,你真的要運行什麼是

keytool -exportcert -alias MY_RELEASE_KEY_ALIAS -keystore MY_FULL_PATH_TO_RELEASE_KEYSTORE_FILE -list -v 

然後,系統會要求您輸入密鑰庫密碼。文檔中未提及的一件是keytool程序的位置。它在您的JDK bin文件夾中。所以在Windows上,像C:\ Program Files \ Java \ jdk1.8.0_20 \ bin

3)在我打開Java bin文件夾中的控制檯窗口並運行keytool之後,出現如下錯誤說「密鑰庫文件存在,但是是空的」。最終我意識到,在指定發佈密鑰庫文件的完整路徑時,我只指定了文件夾名稱,但忘記包含實際文件名,即使文件夾中只有一個文件。因此,上面的MY_FULL_PATH_TO_RELEASE_KEYSTORE_FILE應該包含.keystore文件名

畢竟,您最終會被提供幾個指紋,包括SHA1。您可以複製該文件,然後返回並將其作爲新行粘貼到允許的Android應用程序中,最後使用分號分隔包名,就像調試一樣。

+0

太棒了......我真的很感謝你! – Antonio 2016-04-14 20:52:26

+0

在第一步中,關於「允許的應用程序」是什麼?我什麼也沒有看到 – 2017-01-30 04:46:56

1

按照給出的指示here。在Google Developers Console中創建項目後,選擇API,系統會提示您選擇一部分常用API,然後選擇Google Maps Android API。按下啓用API。(下面的圖片是顯示在控制檯的新版本的步驟) console's new version

如果你還在使用舊的控制檯,使API,通過選擇服務,然後切換按鈕ON :

enter image description here 注: 你不需要啓用調試版本的API!

如果您的地圖仍未顯示,請嘗試重新生成密鑰!

新版本) enter image description here

老版

enter image description here 輸入新的API密鑰,然後同步工程與搖籃文件

相關問題