2013-07-04 31 views
0

我正在开发一个使用Google Maps API v2的应用程序,并且地图在Android 4.x(相同的keystore和相同的API key和我可以看到这些瓷砖)。我遇到了MapFragment和Android 2.2设备(HTC Wildfire)的问题。地图是空白的。Android 2.2中的MapFragment白色屏幕(Error open frame buffer errno = 13)

这只是我在logcat中得到的错误(两次):

E/copybit (4801): Error opening frame buffer errno=13 (Permission denied) 
E/copybit (4801): Error opening frame buffer errno=13 (Permission denied) 

我在AndroidManifest.xml中此功能。

<!-- Feature required by Google Maps API --> 
<uses-feature 
    android:glEsVersion="0x00020000" 
    android:required="true" /> 

我有点迷路。我之前在这款手机中使用过这个API,没有问题。

任何帮助将不胜感激。

在此先感谢。

+0

检查您的问题是否与[此前的帖子]类似(http://stackoverflow.com/questions/7105247/errno-13-and-how-to-debug-this-more-efficiently) –

回答

2

2.2设备是否安装了谷歌播放器?或者仍然是旧的市场应用程序?

如果它是市场应用程序,那么MapFragment将无法工作,因为它是Google Play Services sdk的一部分。

或者......

你应该检查你的项目有Android的支持-v4和谷歌播放服务添加到类路径罐子和你有API级别是一个和Android 谷歌Api不只是Android

一旦正确的库被添加,您可以尝试使用谷歌Android支持库中的SupportMapFragment。进口是import com.google.android.gms.maps.SupportMapFragment;

作为一种良好的做法,您应该在您的应用启动时查看是否在设备上安装了Google Play。您可以提供一个不支持的消息或将用户链接到下载谷歌播放...

事情是这样的:Check if correct Google Play Service available for Google Maps Android API v2

+0

它有Google玩安装和官方地图应用程序工作正常。感谢您的建议。我稍后会仔细检查。 – sourcerebels

+0

另一件事,一旦你添加了谷歌支持库到你的项目(其中提供了向后兼容片段等),确保你的活动扩展了FragmentAcitivity并且你正在使用SupportMapFragment,正如我前面提到的那样。保持我们的发布。 – speedynomads

3

看来,它与Android 2.2设备的谷歌地图V2的一个问题,至少一些其中。我的HTC Wildfire Android 2.2.1。我得到相同的错误信息“错误打开帧缓冲区errno = 13”。我检查了其他帖子中与API密钥检查等相关的所有建议,但这并没有帮助。从Android 4.2设备(CyanogenMod 10.1)上的相同应用确实可以正常工作,我得出结论:关键是确定的。

看到这篇文章Blank screen instead map api v2 android,评论@whisperofblood你找到了原因吗?我想我正在处理同样的问题。应用程序在2.3中正常工作,但不是2.2(仅在2.2个设备上尝试过) - 其他人都认为相同。

此外,我发现此信息:SupportMapFragment not showing map in android答案说,使用API​​ v1关键帮助。不幸的是,我无法测试它,因为v1键不能再创建。

所以我的猜测是Android 2.2设备上的GM v2有些问题。除非有人报告他的GM v2应用在Android 2上运行良好。2(如果在logcat中看到“Error open frame buffer errno = 13”消息,并且您有什么设备),请报告。任何人? 我的声望是1,我不能发表评论等唯一的答案。

+0

如果这是真的,那么它可能是使用其他地图组件而不是GM来支持旧设备的原因 – Mixaz