0

像很多人一样,我在兜圈子。我有一个应用程序在 Google Maps 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"/>

我的库设置如下所示:

图书馆

使用以下构建路径:

构建路径

有人知道我哪里出错了吗?API 密钥是上次工作的那个。

4

2 回答 2

2

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

1)您的应用程序的包名称已更改。包名改了吗?如果是这样,您需要在“允许的 Android 应用程序”中将其添加/更新到API 控制台上的 API 密钥

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

于 2013-08-21T02:41:28.393 回答
1

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

于 2013-08-25T12:52:13.840 回答