和很多人一样,我也在圈子里。我有一个应用程序正常使用谷歌地图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密钥是上次工作的密钥。
答案 0 :(得分:2)
如果您使用相同的API密钥,则密钥可能会停止工作有两个原因 -
1)您的应用的套餐名称已更改。你有没有更改包名?如果需要,您需要在“允许的Android应用”中将其添加/更新到API Console上的API密钥
2)您的应用的签名密钥已更改。你提到你更新了eclipse。您也没有提到是否使用调试密钥对应用程序进行签名,但您是否可以为签名生成新的调试密钥?您可以按照maps docs中的说明检查调试证书信息。然后,检查API Console以确保正确列出证书的指纹。
答案 1 :(得分:1)
我已修复它,问题在于在Google API控制台上为同一个应用程序设置了重复键。我创建了一个调试和一个发布密钥,但在测试中我只列出了清单中的调试密钥。通过从发布密钥中删除应用程序的列表,映射开始起作用。 奇怪的是,之前没有重复键的问题。我也接受了Google在Manifest中列出两个密钥的建议,但这没有用。似乎工作的只是API控制台中的一个实时密钥,在Manifest中只有一个引用。