Java 谷歌地图在安卓系统中不会突然出现

Java 谷歌地图在安卓系统中不会突然出现,java,android,google-maps,Java,Android,Google Maps,我目前正在用Android开发一个使用谷歌地图的应用程序。我遵守了所有的指示,比如 将google play服务依赖项包括到我的项目中 在Android SDK中下载google play服务 从google开发者控制台创建Android密钥 给予必要的许可 谷歌地图按预期正常显示,直到现在突然出现一个黑屏 我在logcat上看到以下几行 W/资源管理员﹕ 资产路径“/system/framework/com.android.media.remotedisplay.jar”不存在或不包含任何

我目前正在用Android开发一个使用谷歌地图的应用程序。我遵守了所有的指示,比如

  • 将google play服务依赖项包括到我的项目中
  • 在Android SDK中下载google play服务
  • 从google开发者控制台创建Android密钥
  • 给予必要的许可
谷歌地图按预期正常显示,直到现在突然出现一个黑屏

我在logcat上看到以下几行

W/资源管理员﹕ 资产路径“/system/framework/com.android.media.remotedisplay.jar”不存在或不包含任何资源

W/资源管理员﹕ 资产路径“/system/framework/com.android.location.provider.jar”不存在或不包含任何资源

I/Google地图Android API﹕ 谷歌游戏服务客户端版本:6587000

I/Google地图Android API﹕ Google Play服务包版本:6774436

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

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

我如何解决这个问题?这是因为谷歌play服务的更新吗?如果是这样,我已经检查了SDK,并且安装了最新的Google play服务。请帮助任何人

这是原木猫

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
02-19 13:53:01.212 14731-14749 D/opengl﹕ 请求渲染脏区域:true
02-19 13:53:01.218 14731-14731 D/图集﹕ 正在验证映射。。。
02-19 13:53:01.29214731-14749我/肾上腺素EGL﹕ : 高通公司制造:2014年3月10日,c40da3f,Ifda814c646
02-19 13:53:01.293 14731-14749 I/opengl﹕ 已初始化EGL,版本1.4
02-19 13:53:01.311 14731-14749 D/OpenGLD﹕ 正在启用调试模式0
02-19 13:53:04.472 14731-14731 I/x﹕ 动态生成创建者
02-19 13:53:04.477 14731-14731 W/资源管理员﹕ 资产路径“/system/framework/com.android.media.remotedisplay.jar”不存在或不包含任何资源。
02-19 13:53:04.478 14731-14731 W/资源管理员﹕ 资产路径“/system/framework/com.android.location.provider.jar”不存在或不包含任何资源。
02-19 13:53:04.503 14731-14731 I/谷歌地图Android API﹕ 谷歌游戏服务客户端版本:6587000
02-19 13:53:04.515 14731-14731 I/谷歌地图Android API﹕ Google Play服务包版本:6774436

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

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

  • 尝试使用扩展片段而不是扩展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"/>
    
    
    
张贴日志,以便找出确切原因

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

    import android.location.LocationListener;
    
  • 而是使用GoogleAPI类中的LocationListner 并将您的接口改为完成名称空间 com.google.android.gms.location.LocationListener

例如,如果您是从接口派生,请检查粗体中的文本

公共类选项扩展了FragmentActivity实现 View.OnClickListener, 连接回调, OnConnectionFailedListener, 地点来源:, com.google.android.gms.location.LocationListener, OnMyLocationButtonClickListener, onmapredycallback {


如果默认情况下不提供完整的名称空间,编译器将采用Android标准LocationListner并给出错误信息。

请检查您是否在清单中同时拥有这两个权限-

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

我最近在Windows上的Eclipse上升级了使用Android SDK管理器的Android SDK。之前工作的Google地图停止工作。新的Google play services版本29中似乎有一些变化

奇怪的事情-在下载并更新到新的SDK Android 6.0后,早期的google play services文件消失在文件夹中。由于文件和项目google_play_services.jar不再在文件夹中,出现了几个与google play services相关的错误 \adt-bundle-windows-x86\u 64-20140702\sdk\extras\google\google\u play\u服务

然后我下载了Brad Larson在页面中给出的版本28 -在此之后,当构建目标为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) 我还尝试过用GoogleAPI6.0进行编译,效果不错


上面Bummi告诉我的所有其他事情也需要在我的项目中提供。

我可以在我的应用程序中免费使用谷歌地图服务,对吗?或者我应该向谷歌付费吗?试试这个
编译'com.google.android.gms:play services location:6.5.87'
instead我刚刚尝试过,但没有运气@cYrixmortenOk顺便问一下,你的应用程序中是否更新了以前版本的Google Play Services?我只是想你的设备可能没有所有可用的更新,如果你的代码没有检查这些更新,这可能是导致突然失败的原因。我没有改变任何东西。我开始使用相同的“编译”com.Google.android.gms:pla进行开发y-services:6.5.87'从一开始就为建议添加了一行。我已经一个接一个地添加了您建议的所有更改,以检查问题是否得到解决。但是运气不好。我在上面的问题中添加了日志。奇怪的是,如果我创建了一个全新的项目,我会得到所需的地图屏幕。但我当前的项目是s对T屏工作良好后的空白屏幕