2012-05-21 41 views
1

我查看了所有與此相關的stackoverflow問題,但沒有任何工作。對不起,如果這已被問到。Android地圖API釋放鍵不工作

我將谷歌地圖api集成到我的應用程序中,並且在開發過程中一切正常。我得到一個基於debug.keystore文件的調試api密鑰,它工作得很好。

然後,我繼續前進,並根據我用來簽署應用程序的密鑰庫文件得到了一個release api密鑰。然而,我看到的只是灰色的地磚 - 地圖沒有顯示出來。我的使用庫標籤位於我的應用程序標籤清單中。我有清單中的互聯網許可,以及android:debuggable =「false」(雖然這似乎沒有改變任何東西)。

我還能遺漏什麼?

+0

是否在爲發佈密鑰庫放入api密鑰後進行了乾淨/重建? – Falmarri

+0

我有一個自動構建設置,它始終做一個乾淨的構建。 – Sanjeev

+0

你是如何編譯這個的?你在Eclipse或其他IDE中運行它嗎? – BlackHatSamurai

回答

-1

在你的MapView你必須指定你的ApiKey:

<com.google.android.maps.MapView 
    android:id="@+id/mapView" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:layout_alignParentLeft="true" 
    android:apiKey="@string/mapKey" 
    android:layout_below="@+id/email" 
    android:clickable="true" 
    android:enabled="true" > 
</com.google.android.maps.MapView> 

其中映射鍵是你ApiKey(這裏我在字符串定義它)。

+0

是的,我已經有了。正如我所提到的,它在開發中運行良好。只有當我將它切換到我遇到問題的release api密鑰時。 – Sanjeev

+0

如果他在調試過程中工作,他已經正確地做到了這一點。 – Falmarri

0

我有同樣的問題。

我如何已經解決了它:

因爲調試密鑰庫產生的舊的API密鑰不會釋放密鑰庫工作,這是爲您的發行,密鑰存儲新的API密鑰重要(!)。這是過程如何做到這一點: https://developers.google.com/maps/documentation/android/mapkey#getfingerprint

在幾句話:

  1. 使指紋(MD5)爲密鑰存儲,例如通過此批處理文件:

    @echo off 「c:\ Program Files \ Java \ jdk1.7.0 \ bin \ keytool.exe」-v -list -keystore my-release-key.keystore> my-release- MD5-fingerprint.txt

    呼應你的谷歌API密鑰(MD5)保存到文件中我釋放-MD5-fingerprint.txt

    暫停

  2. 轉到其中生成的API谷歌的網站: http://code.google.com/android/maps-api-signup.html

然後將您的MD5指紋複製粘貼到相應的字段中,如下所示:9435:1E:43:49:87:73:BB:E6:A6:88:D7:20:F1:8E:B5 :98 (不允許多餘的空格或附加符號)。