google maps api v2身份验证错误

时间:2013-08-18 00:11:40

标签: google-maps-android-api-2

和很多人一样,我也在圈子里。我有一个应用程序正常使用谷歌地图API v2,然后,也许通过更新Eclipse,地图停止工作。我出现了灰色瓷砖,但是我收到错误:

   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密钥是上次工作的密钥。

2 个答案:

答案 0 :(得分:2)

如果您使用相同的API密钥,则密钥可能会停止工作有两个原因 -

1)您的应用的套餐名称已更改。你有没有更改包名?如果需要,您需要在“允许的Android应用”中将其添加/更新到API Console上的API密钥

2)您的应用的签名密钥已更改。你提到你更新了eclipse。您也没有提到是否使用调试密钥对应用程序进行签名,但您是否可以为签名生成新的调试密钥?您可以按照maps docs中的说明检查调试证书信息。然后,检查API Console以确保正确列出证书的指纹。

答案 1 :(得分:1)

我已修复它,问题在于在Google API控制台上为同一个应用程序设置了重复键。我创建了一个调试和一个发布密钥,但在测试中我只列出了清单中的调试密钥。通过从发布密钥中删除应用程序的列表,映射开始起作用。 奇怪的是,之前没有重复键的问题。我也接受了Google在Manifest中列出两个密钥的建议,但这没有用。似乎工作的只是API控制台中的一个实时密钥,在Manifest中只有一个引用。