【问题标题】:Android 2.3 Google Maps Missing Resource maps_watermark_dark.pngAndroid 2.3 谷歌地图缺少资源 maps_watermark_dark.png
【发布时间】:2015-07-20 23:28:56
【问题描述】:

我有一个将 minSdkVersion 设置为 9 的 Android 应用。 应用程序可以编译并运行,但是在显示 Google 地图时它会崩溃

android.content.res.Resources$NotFoundException: File res/drawable-mdpi-v4/maps_watermark_dark.png from drawable resource ID #0x7f02027c

一切都指向播放服务库中缺少的资源。

我没有使用 proguard、shrinkResources 或 resConfigs。

设备是三星/GT-S5360L/GT-S5360L:2.3.6/GINGERBREAD

这是build.gradle的相关部分

apply plugin: 'com.android.application'    

android {
    compileSdkVersion 21
    buildToolsVersion "21.1.2"

    defaultConfig {
        targetSdkVersion 21
        minSdkVersion 9
        versionCode 476
        versionName "4.7.6"
    }
}    
dependencies {
    compile fileTree(dir: 'libs', include: '*.jar')

    compile 'com.android.support:appcompat-v7:21.0.3'
    compile 'com.google.android.gms:play-services:6.1.71'
}

这是我得到的堆栈跟踪:

D/AndroidRuntime(10297): Shutting down VM
W/dalvikvm(10297): threadid=1: thread exiting with uncaught exception (group=0x40020578)
E/AndroidRuntime(10297): FATAL EXCEPTION: main
E/AndroidRuntime(10297): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.safertaxi.driver/driver.activities.driving.ActivityDriving}: android.view.InflateException: Binary XML file line #24: Error inflating class fragment
E/AndroidRuntime(10297):    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1651)
E/AndroidRuntime(10297):    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1667)
E/AndroidRuntime(10297):    at android.app.ActivityThread.access$1500(ActivityThread.java:117)
E/AndroidRuntime(10297):    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:935)
E/AndroidRuntime(10297):    at android.os.Handler.dispatchMessage(Handler.java:99)
E/AndroidRuntime(10297):    at android.os.Looper.loop(Looper.java:130)
E/AndroidRuntime(10297):    at android.app.ActivityThread.main(ActivityThread.java:3687)
E/AndroidRuntime(10297):    at java.lang.reflect.Method.invokeNative(Native Method)
E/AndroidRuntime(10297):    at java.lang.reflect.Method.invoke(Method.java:507)
E/AndroidRuntime(10297):    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:867)
E/AndroidRuntime(10297):    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:625)
E/AndroidRuntime(10297):    at dalvik.system.NativeStart.main(Native Method)
E/AndroidRuntime(10297): Caused by: android.view.InflateException: Binary XML file line #24: Error inflating class fragment
E/AndroidRuntime(10297):    at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:587)
E/AndroidRuntime(10297):    at android.view.LayoutInflater.rInflate(LayoutInflater.java:623)
E/AndroidRuntime(10297):    at android.view.LayoutInflater.rInflate(LayoutInflater.java:626)
E/AndroidRuntime(10297):    at android.view.LayoutInflater.rInflate(LayoutInflater.java:626)
E/AndroidRuntime(10297):    at android.view.LayoutInflater.inflate(LayoutInflater.java:408)
E/AndroidRuntime(10297):    at android.view.LayoutInflater.inflate(LayoutInflater.java:320)
E/AndroidRuntime(10297):    at android.view.LayoutInflater.inflate(LayoutInflater.java:276)
E/AndroidRuntime(10297):    at android.support.v7.app.ActionBarActivityDelegateBase.setContentView(ActionBarActivityDelegateBase.java:228)
E/AndroidRuntime(10297):    at android.support.v7.app.ActionBarActivity.setContentView(ActionBarActivity.java:102)
E/AndroidRuntime(10297):    at driver.activities.driving.ActivityDriving.onCreate(ActivityDriving.java:109)
E/AndroidRuntime(10297):    at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
E/AndroidRuntime(10297):    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1615)
E/AndroidRuntime(10297):    ... 11 more
E/AndroidRuntime(10297): Caused by: android.content.res.Resources$NotFoundException: File res/drawable-mdpi-v4/maps_watermark_dark.png from drawable resource ID #0x7f02027c
E/AndroidRuntime(10297):    at android.content.res.Resources.loadDrawable(Resources.java:1714)
E/AndroidRuntime(10297):    at android.content.res.Resources.getDrawable(Resources.java:581)
E/AndroidRuntime(10297):    at com.google.maps.api.android.lib6.c.cl.<init>(Unknown Source)
E/AndroidRuntime(10297):    at com.google.maps.api.android.lib6.c.cl.<init>(Unknown Source)
E/AndroidRuntime(10297):    at com.google.maps.api.android.lib6.c.el.a(Unknown Source)
E/AndroidRuntime(10297):    at com.google.maps.api.android.lib6.c.ab.a(Unknown Source)
E/AndroidRuntime(10297):    at com.google.maps.api.android.lib6.c.aa.a(Unknown Source)
E/AndroidRuntime(10297):    at com.google.android.gms.maps.internal.x.onTransact(SourceFile:107)
E/AndroidRuntime(10297):    at android.os.Binder.transact(Binder.java:279)
E/AndroidRuntime(10297):    at com.google.android.gms.maps.internal.IMapFragmentDelegate$a$a.onCreateView(Unknown Source)
E/AndroidRuntime(10297):    at com.google.android.gms.maps.SupportMapFragment$a.onCreateView(Unknown Source)
E/AndroidRuntime(10297):    at com.google.android.gms.dynamic.a$4.b(Unknown Source)
E/AndroidRuntime(10297):    at com.google.android.gms.dynamic.a.a(Unknown Source)
E/AndroidRuntime(10297):    at com.google.android.gms.dynamic.a.onCreateView(Unknown Source)
E/AndroidRuntime(10297):    at com.google.android.gms.maps.SupportMapFragment.onCreateView(Unknown Source)
E/AndroidRuntime(10297):    at driver.fragments.maps.FragmentMap.onCreateView(FragmentMap.java:37)
E/AndroidRuntime(10297):    at android.support.v4.app.Fragment.performCreateView(Fragment.java:1786)
E/AndroidRuntime(10297):    at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:920)
E/AndroidRuntime(10297):    at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1104)
E/AndroidRuntime(10297):    at android.support.v4.app.FragmentManagerImpl.addFragment(FragmentManager.java:1206)
E/AndroidRuntime(10297):    at android.support.v4.app.FragmentManagerImpl.onCreateView(FragmentManager.java:2159)
E/AndroidRuntime(10297):    at android.support.v4.app.FragmentActivity.onCreateView(FragmentActivity.java:297)
E/AndroidRuntime(10297):    at android.support.v7.app.ActionBarActivity.onCreateView(ActionBarActivity.java:547)
E/AndroidRuntime(10297):    at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:563)
E/AndroidRuntime(10297):    ... 22 more
E/AndroidRuntime(10297): Caused by: java.io.FileNotFoundException: res/drawable-mdpi-v4/maps_watermark_dark.png
E/AndroidRuntime(10297):    at android.content.res.AssetManager.openNonAsset

编辑#1:

问题仍然存在:

  • 升级到 targetSdkVersion 21
  • 已升级到 Google Play 服务 6.1.17
  • 在手机上安装了 Google Play 服务:6.5.87

编辑 #2:

这是当前加载地图的方式:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical">
    ...
    <fragment
        android:id="@+id/fragment_map"
        android:name="driver.fragments.maps.FragmentMap"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent" />
</LinearLayout>

public final class FragmentMap extends SupportMapFragment {

    @Override
    public View onCreateView(LayoutInflater arg0, ViewGroup arg1, Bundle arg2) {
        View view = super.onCreateView(arg0, arg1, arg2);
        ...
        return view;
    }
}

编辑#3:

显然,该问题已通过将设备上安装的 Google Play 服务版本更新到 6.5.99 来解决。但是,由于遇到此问题的设备发生故障,我无法确认这一点。我无法重现此问题,因为我无法在新设备上重新安装 6.5.87,因为最新的 Google Play 版本是 6.5.99。

【问题讨论】:

  • 如果您升级到新版本的 google play 服务会发生什么
  • 我在升级到播放服务 6.5 pastie.org/9790387时遇到以下本机异常@
  • 首先我建议执行 checkJNI:android-developers.blogspot.com/2011/07/…。因为它似乎是本机代码错误。看看您是否可以通过此实用程序对其进行跟踪。
  • 请忽略本机崩溃。它与其他库首先崩溃有关。为了清楚起见,我已从主要问题中删除了链接
  • 请在此处提交错误:code.google.com/p/gmaps-api-issues 包括相关信息和示例代码。

标签: android google-maps


【解决方案1】:

我看到here 发生了类似的问题。这里提到了很多解释,但我建议检查屏幕兼容模式。它看起来更有可能,因为您已经处理了 min SDK。

【讨论】:

    【解决方案2】:

    根据官方的 Google 地图错误跟踪器,这是一个过时的问题,因为它不再发生在较新的 Google Play 服务版本上。

    欲了解更多信息,请访问:

    https://code.google.com/p/gmaps-api-issues/issues/detail?id=7562

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-06-30
      • 2017-08-01
      • 1970-01-01
      • 2013-08-11
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多