2017-06-09 129 views
0

當我從谷歌下載我的應用程序時,Google Map未加載。 當我直接下載帶有.apk文件的應用程序(將其傳輸到我的手機並下載)時,它確實加載了! 我搜遍了,它仍然無法正常工作。 這是我做過什麼:從Google Play商店下載我的應用程序時Google Map未加載

  1. 在Android Studio中,建設 - >生成登錄APK我創建了一個新的密鑰存儲「密鑰庫」和一個新的關鍵「應用」
  2. 運行命令:keytool -list -v -keystore keystore.jks -alias應用程序。
  3. 在步驟2的輸出中,在'證書指紋:'下,我採用了'SHA1'值和我的軟件包名稱'com.gilshelef.feedme'(來自AndroidManifest.xml文件),並在Google中生成了一個新的API密鑰api控制檯。我將密鑰限制爲'android apps',並添加了我的SHA1和包名。
  4. 我放置所生成的密鑰(步驟3)在我的清單文件:

    <meta-data android:name="com.google.android.geo.API_KEY" android:value="@string/google_maps_key" />

  5. 在機器人工作室,建設 - >生成符號APK我使用了在步驟1中創建的相同的密鑰庫和同樣的鑰匙。

  6. 我將生成的apk文件上傳到Google play。

當我從谷歌下載我的應用程序後,地圖仍然是空白!

注:

  1. 我也試圖從.jks改變了密鑰庫的擴展的.keystore由於Android Studio使用.jks擴展。
  2. 我驗證了來自google api控制檯的密鑰和我在AndroidManifest.xml文件中使用的密鑰是相同的。
  3. 我在google api console和Manifest文件中驗證了包名。
  4. 我跟着這個:this教程'顯示釋放證書指紋'。輸出看起來與「簽名算法名稱:SHA1withRSA」相同。我的發佈密鑰庫中的簽名算法名稱是'SHA256withRSA'也許這是問題?

我在做什麼錯?

回答

0

由於google_maps_key在發佈模式和調試模式下不同, 當您註冊您的應用程序的發行版,就這樣,你可以做以下操作:

  1. 找出發行SHA-1指紋(here
  2. 從谷歌
  3. 再拿API_KEY谷歌地圖API
  4. 將新在SRC /發行/價值/ google_maps_api.xml(在項目視圖)API_KEY或(應用程序/ RES /價值/在Android設備上查看google_maps_api.xml(釋放))

希望它可以幫助你......

+0

這正是我所做的......如步驟中所述。我使用keytool從發佈密鑰庫中獲取了SHA1指紋。使用google api控制檯創建新的api密鑰,並將該密鑰添加到我的發佈中google_maps_api.xml ... –

+0

我從通過android studio生成的'keystore.jks'獲取的SHA1指紋。我在步驟2中使用了keytool命令。 –

+0

我發誓它不在你的問題中:o!但是我將釋放鍵放在res/release/values/google_maps_api.xml中,而不是直接放在清單文件中。 –

相關問題