谷歌地图并没有突然出现在Android中

时间:2015-02-19 15:48:40

标签: java android google-maps

我目前正在Android中开发一个使用Google地图的应用程序。我已按照

之类的所有说明进行操作
  • 将Google Play服务依赖项包含在我的项目中
  • 在Android SDK中下载Google Play服务
  • 从Google开发者控制台创建Android密钥。
  • 提供必要的权限

谷歌地图按预期正常显示,直到现在突然出现黑屏。

我在logcat上获得以下几行。

  

W / ResourcesManager:资产路径'/system/framework/com.android.media.remotedisplay.jar'不存在或不包含任何资源。

     

W / ResourcesManager:资产路径'/system/framework/com.android.location.provider.jar'不存在或不包含任何资源。

     

I / Google Maps Android API:Google Play服务客户端版本:6587000

     

I / Google Maps Android API:Google Play服务包版本:6774436

这是我在build.gradle文件中的依赖

  

编译'com.google.android.gms:play-services:6.5.87'

如何解决此问题?这是由于谷歌播放服务的一些更新?如果是这样,我已经检查了SDK并且安装了最新的Google Play服务。请帮助任何人

这是log cat

02-19 13:53:01.212  14731-14749 D/OpenGLRenderer﹕ Render dirty regions requested: true
02-19 13:53:01.218  14731-14731 D/Atlas﹕ Validating map...
02-19 13:53:01.292  14731-14749 I/Adreno-EGL﹕ <qeglDrvAPI_eglInitialize:410>: QUALCOMM Build: 10/03/14, c40da3f, Ifda814c646
02-19 13:53:01.293  14731-14749 I/OpenGLRenderer﹕ Initialized EGL, version 1.4
02-19 13:53:01.311  14731-14749 D/OpenGLRenderer﹕ Enabling debug mode 0
02-19 13:53:04.472  14731-14731 I/x﹕ Making Creator dynamically
02-19 13:53:04.477  14731-14731 W/ResourcesManager﹕ Asset path '/system/framework/com.android.media.remotedisplay.jar' does not exist or contains no resources.
02-19 13:53:04.478  14731-14731 W/ResourcesManager﹕ Asset path '/system/framework/com.android.location.provider.jar' does not exist or contains no resources.
02-19 13:53:04.503  14731-14731 I/Google Maps Android API﹕ Google Play services client version: 6587000
02-19 13:53:04.515  14731-14731 I/Google Maps Android API﹕ Google Play services package version: 6774436

4 个答案:

答案 0 :(得分:5)

如果您的代码没有这些内容,请尝试以下内容:

  • 尝试将android:name =“com.google.android.gms.maps.SupportMapFragment”添加到您的fragment.xml。

  • 尝试使用extend Fragment而不是扩展SupportMapFragment。

  • onMapReady()是通过调用MapFragment上的getMapAsync()来触发的。确保有这个。

  • 如果您的清单文件缺少某些权限,请另外检查

    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
    <uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES" />
    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
    
    <permission
    android:name="your.package.name.permission.MAPS_RECEIVE"
    android:protectionLevel="signature" />
    <uses-permission android:name="your.package.name.permission.MAPS_RECEIVE"/>
    <uses-feature
    android:glEsVersion="0x00020000"
    android:required="true"/>
    

发布您的日志猫,以便找出确切的原因!!

答案 1 :(得分:1)

  • 从列表和相应的方法中删除以下导入

    import android.location.LocationListener;
    
  • 改为使用Google API类中的位置列表器 并将您的界面更改为完整的命名空间 com.google.android.gms.location.LocationListener

例如,如果您是从 BOLD

中的界面检查文本派生的
  

public class Option扩展了FragmentActivity实现   View.OnClickListener,       ConnectionCallbacks,       OnConnectionFailedListener,       LocationSource,       的 com.google.android.gms.location.LocationListener 下,       OnMyLocationButtonClickListener,       OnMapReadyCallback       {

如果默认情况下不提供完整的命名空间,编译器会使用Android标准的LocationListner并给出错误。

答案 2 :(得分:0)

请检查您的Manifest中是否具有这两种权限 -

<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />

答案 3 :(得分:0)

我最近使用Android SDK管理器升级了我在Windows上的Eclipse,Android SDK。之前工作的Google地图停止了工作。看起来新的Google Play服务版本29有几处变化。

奇怪的是 - 下载并更新到新的Android 6.0 SDK后,早期的google play服务文件在文件夹中消失了。由于文件和项目google_play_services.jar不再出现在文件夹中,因此谷歌播放服务出现了一些错误 \ ADT-束 - 窗口x86_64-20140702 \ SDK \额外\谷歌\ google_play_services

然后我下载了Brad Larson给出的页面中给出的版本28 Missing "<sdk>/extras/google/google_play_services/libproject" folder after update to revision 30 - 此后,当构建目标为5.1.1时,与Google Play服务相关的所有错误都消失了。

然后在运行应用程序时,我仍然遇到错误 /system/framework/com.google.android.maps.jar不存在或不包含资源错误

(1)正如上面的bummi建议我从Android 5.1.1(SDK 22)切换到Google API 5.1.1并开始工作!! (2)我也尝试使用Google API 6.0进行编译,但它确实有效。

Bummi上面讲述的所有其他事情也需要在我的项目中存在。