我目前正在Android中开发一个使用Google地图的应用程序。我已按照
之类的所有说明进行操作谷歌地图按预期正常显示,直到现在突然出现黑屏。
我在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
答案 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上面讲述的所有其他事情也需要在我的项目中存在。