2013-09-23 172 views
3

在我的應用程序中,我使用地圖來顯示當前位置。然後,我使用Google Maps Android API v2(我不使用Google Maps API)將此功能添加到我的應用程序。Google Maps Android API密鑰庫

當我在eclipse中開發我的應用程序時,一切正常。我使用調試密鑰庫創建一個Android密鑰,並在清單中使用它,我可以很好地執行我的應用,並且可以移動並使用該地圖。在這種情況下,我沒有記錄錯誤(只有典型的「Google Play服務資源未找到,請檢查您的項目配置以確保資源已包含在內)」。

現在,當我將我的應用上傳到Google Play開發者控制檯時,在測試版中它可以正常工作,但是當我發佈時,地圖會變灰,並且無法正常工作。登錄給我這個錯誤:

09-23 14:05:46.475: E/Google Maps Android API(5485): Authorization failure. Please see https://developers.google.com/maps/documentation/android/start for how to correctly set up the map. 
09-23 14:05:46.475: E/Google Maps Android API(5485): Ensure that the following correspond to what is in the API Console: Package Name: gc.yy.xxxx, API Key: AIza*******************************RDEI, Certificate Fingerprint: 472D********************************7218 (keystore use to sign the package) 

於是我決定在我的密鑰存儲Eclipse項目使用,所以我創建了一個新的Android金鑰(47:2D:* ** * ** * ** * ** * ** * ** * ** * ** *:72:18; gc.yy.xxxx給我AIza * * ** * ** * ** * ** * ** * Qm4Q鍵),我將其粘貼在清單文件。我運行該項目,並再次獲得灰色背景。日誌給我這個錯誤:

09-23 14:10:45.307: E/Google Maps Android API(5585): Authorization failure. Please see https://developers.google.com/maps/documentation/android/start for how to correctly set up the map. 
09-23 14:10:45.317: E/Google Maps Android API(5585): Ensure that the following correspond to what is in the API Console: Package Name: gc.yy.xxxx, API Key: AIza*******************************Qm4Q, Certificate Fingerprint: CC4B********************************A917 (debug keystore) 

我不知道問題是否關係到密鑰庫。我使用debug.keystore和我的映射(我不能使用另一個,我不知道它是不可能的),我使用我創建的密鑰庫來簽署我的應用程序包。這似乎是無用的API密鑰循環...

在此先感謝!

編輯:我終於通過將每個API密鑰的2元數據塊的解決了這個問題,也就是說,我的表現是這樣的:

<meta-data 
     android:name="com.google.android.maps.v2.API_KEY" 
     android:value="AIza*******************************RDEI" /> 
    <meta-data 
     android:name="com.google.android.maps.v2.API_KEY" 
     android:value="AIza*******************************Qm4Q" /> 

最後,我有我Google Play中的應用程序! :)

+0

您是否生成了應用程序的keystore,而不是使用debug.keystore –

+0

您是否嘗試過在安裝其他API之前使用一個API密鑰完全卸載您的應用程序,以避免[舊的api密鑰緩存問題](http:// stackoverflow 。com/questions/17679317/android-google-maps-v2-authentication-error/17684309#17684309) –

+0

您需要2個不同的api鍵:Debug鍵和Release鍵。以下是如何生成它們:http://chocotech.blogspot.com/2012/10/get-debug-key-and-release-key-for.html – svlzx

回答

0

您需要通過谷歌API控制檯

0

我用了兩個不同的API密鑰(一個用於開發,一個用於發佈)註冊您的非調試密鑰存儲到谷歌地圖API。最後:這很愚蠢,因爲您可以將多個應用程序哈希連接到一個鍵。因此,這就是解決方案,只需在code.google.com/apis/console上將發行哈希添加到開發api密鑰(用於向後兼容),並將開發哈希添加到發佈api密鑰(以便於開發)即可。