2013-08-18 73 views
0

像很多人一樣,我正在圈子裏。我有一個應用可以正常使用Google Maps API v2,然後,也許通過更新Eclipse,地圖停止工作。我有青瓦出現,但我得到的錯誤:谷歌地圖api v2身份驗證錯誤

08-18 11:03:56.678: E/GooglePlayServicesUtil(7750): The Google Play services resources were not found. Check your project configuration to ensure that the resources are included. 
08-18 11:03:56.923: D/dalvikvm(7750): GC_CONCURRENT freed 1233K, 15% free 13248K/15495K, paused 2ms+3ms 
08-18 11:03:56.968: D/OpenGLRenderer(7750): Flushing caches (mode 0) 
08-18 11:03:59.223: D/dalvikvm(7750): GC_CONCURRENT freed 1302K, 14% free 13375K/15495K, paused 4ms+3ms 
08-18 11:03:59.538: I/Google Maps Android API(7750): Failed to contact Google servers. Another attempt will be made when connectivity is established. 
08-18 11:04:14.688: E/Google Maps Android API(7750): Failed to load map. Error contacting Google servers. This is probably an authentication issue (but could be due to network errors). 

我看過很多帖子,我想我已經涵蓋了一切。我的清單上寫着:

<permission 
    android:name="com.xxx.xxx.permission.MAPS_RECEIVE" 
    android:protectionLevel="signature"/> 
<uses-permission android:name="com.xxx.xxx.permission.MAPS_RECEIVE"/> 
    <uses-sdk 
     android:minSdkVersion="11" 
     android:targetSdkVersion="15" /> 
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/> 
    <uses-permission android:name="android.permission.INTERNET"/> 
    <uses-permission android:name="android.permission.CALL_PHONE" /> 
    <uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES"/> 
    <!-- External storage for caching. --> 
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/> 
    <!-- My Location --> 
    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/> 
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/> 
    <!-- Maps API needs OpenGL ES 2.0. --> 
    <uses-feature 
    android:glEsVersion="0x00020000" 
    android:required="true"/> 


     android:name="com.google.android.maps.v2.API_KEY" 
     android:value="AIzaSyD8YSb-xzI1CN9EZvfukLvCtioryzDpyg4"/> 
     <uses-library android:name="com.google.android.maps"/> 

我的圖書館建立如下:

libraries

與下面的生成路徑:

build path

任何人有任何想法,我我錯了嗎? API密鑰是上次工作的密鑰。

+0

您確定您的測試設備與互聯網有良好的連接嗎?如果您正在測試設備上進行全新安裝,則無法連接是導致「無法聯繫Google服務器」錯誤的原因之一。 –

+0

謝謝 - 有完整的WiFi和互聯網接入。我認爲這個問題是由於我對Google Play服務的警告而設置了庫的方式 –

回答

1

我修復了它,問題是在Google API控制檯上爲同一個應用程序重複鍵。我創建了一個調試和一個釋放鍵,但在測試中我只列出了清單中的調試鍵。通過從釋放鍵刪除應用程序的列表,地圖開始工作。 奇怪的是,我之前沒有重複鍵的這個問題。我也接受了Google在清單中列出兩個鍵的建議,但這並不奏效。似乎工作的只是API控制檯中的一個活動密鑰,在Manifest中只有一個參考。

2

如果您使用的是相同的API密鑰,有兩個原因,你的鑰匙可能會停止工作 -

1)你的應用的應用包名稱已更改。你是否更改包名?如果是這樣,您需要在您的「允許的Android應用程序」中將您的API密鑰添加/更新到您的API密鑰API Console

2)您的應用程序的簽名密鑰已更改。你提到你更新的日食。您也沒有提及您是否使用調試密鑰來簽署應用程序,但是您可能生成了用於簽名的新調試密鑰嗎?您可以按照maps docs中的說明檢查調試證書信息。然後,檢查您的API Console以確保您的證書的指紋已正確列出。

+0

謝謝 - app在API密鑰的允許列表中。我使用了調試密鑰,對於其他用戶,可以通過Eclipse Preferences以及終端命令行列表查看該調試密鑰。所以我卡住了!正如我上面所說,我認爲這是一個庫設置問題。 –