Crash on Android 2.3.3 after upgrading to support library 25.0.0 (java.lang.NoSuchMethodError: android.view.View.isAttachedToWindow)
Crash on Android 2.3.3 after upgrading to support library 25.0.0 (java.lang.NoSuchMethodError: android.view.View.isAttachedToWindow)
升级到最新版本的支持库后,我无法再运行 Android 2.3.3 上的应用程序。应用程序在启动期间崩溃
11-01 13:53:16.580 2115-2115/no.bouvet.routeplanner.atb E/AndroidRuntime: FATAL EXCEPTION: main
java.lang.NoSuchMethodError: android.view.View.isAttachedToWindow
at android.support.v7.widget.ForwardingListener.(ForwardingListener.java:102)
at android.support.v7.widget.ForwardingListener.addDetachListenerBase(ForwardingListener.java:101)
at android.support.v7.widget.ForwardingListener.(ForwardingListener.java:78)
at android.support.v7.widget.ActionMenuPresenter$OverflowMenuButton.(ActionMenuPresenter.java:650)
at android.support.v7.widget.ActionMenuPresenter$OverflowMenuButton.(ActionMenuPresenter.java:650)
at android.support.v7.widget.ActionMenuPresenter.initForMenu(ActionMenuPresenter.java:114)
at android.support.v7.view.menu.MenuBuilder.addMenuPresenter(MenuBuilder.java:262)
at android.support.v7.widget.ActionMenuView.getMenu(ActionMenuView.java:656)
at android.support.v7.widget.Toolbar.ensureMenu(Toolbar.java:1037)
at android.support.v7.widget.Toolbar.getMenu(Toolbar.java:1008)
at android.support.v7.widget.ToolbarWidgetWrapper.getMenu(ToolbarWidgetWrapper.java:676)
at android.support.v7.app.ToolbarActionBar.getMenu(ToolbarActionBar.java:595)
at android.support.v7.app.ToolbarActionBar.populateOptionsMenu(ToolbarActionBar.java:447)
at android.support.v7.app.ToolbarActionBar.run(ToolbarActionBar.java:61)
at android.os.Handler.handleCallback(Handler.java:587)
at android.os.Handler.dispatchMessage(Handler.java:92)
at android.os.Looper.loop(Looper.java:130)
at android.app.ActivityThread.main(ActivityThread.java:3683)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:507)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
at dalvik.system.NativeStart.main(Native Method)
使用的依赖项是:
compile 'com.android.support:support-v4:25.0.0'
compile 'com.android.support:support-compat:25.0.0'
compile 'com.android.support:support-core-ui:25.0.0'
compile 'com.android.support:appcompat-v7:25.0.0'
compile 'com.android.support:preference-v7:24.2.1'
compile 'com.android.support:multidex:1.0.1'
compile 'com.google.android.gms:play-services-maps:9.6.1'
compile 'com.android.support:design:24.2.1'
compile 'com.google.maps.android:android-maps-utils:0.4'
compile 'com.android.volley:volley:1.0.0'
compile 'com.android.support:recyclerview-v7:24.2.1'
我降级到 24.2.2 后错误消失,但这会导致其他问题(使用默认 android 搜索视图时,用户输入的文本不可见,即使自动完成工作正常)
我认为这是支持库中的错误。有没有人遇到同样的问题并知道解决方法?
这是支持库 25.0.0 的问题:https://code.google.com/p/android/issues/detail?id=225647。
您可以通过在 Android Studio 中创建一个新项目并使用标准 Basic Activity
模板来重现该问题。该应用程序将在设备 API 11 及以下的 setSupportActionBar(toolbar);
上崩溃。
除了降级支持库版本,我没有找到其他解决方案。
问题已通过新版本解决:
Android 支持库,修订版 25.0.1(2016 年 11 月)
https://developer.android.com/topic/libraries/support-library/revisions.html
升级到最新版本的支持库后,我无法再运行 Android 2.3.3 上的应用程序。应用程序在启动期间崩溃
11-01 13:53:16.580 2115-2115/no.bouvet.routeplanner.atb E/AndroidRuntime: FATAL EXCEPTION: main java.lang.NoSuchMethodError: android.view.View.isAttachedToWindow at android.support.v7.widget.ForwardingListener.(ForwardingListener.java:102) at android.support.v7.widget.ForwardingListener.addDetachListenerBase(ForwardingListener.java:101) at android.support.v7.widget.ForwardingListener.(ForwardingListener.java:78) at android.support.v7.widget.ActionMenuPresenter$OverflowMenuButton.(ActionMenuPresenter.java:650) at android.support.v7.widget.ActionMenuPresenter$OverflowMenuButton.(ActionMenuPresenter.java:650) at android.support.v7.widget.ActionMenuPresenter.initForMenu(ActionMenuPresenter.java:114) at android.support.v7.view.menu.MenuBuilder.addMenuPresenter(MenuBuilder.java:262) at android.support.v7.widget.ActionMenuView.getMenu(ActionMenuView.java:656) at android.support.v7.widget.Toolbar.ensureMenu(Toolbar.java:1037) at android.support.v7.widget.Toolbar.getMenu(Toolbar.java:1008) at android.support.v7.widget.ToolbarWidgetWrapper.getMenu(ToolbarWidgetWrapper.java:676) at android.support.v7.app.ToolbarActionBar.getMenu(ToolbarActionBar.java:595) at android.support.v7.app.ToolbarActionBar.populateOptionsMenu(ToolbarActionBar.java:447) at android.support.v7.app.ToolbarActionBar.run(ToolbarActionBar.java:61) at android.os.Handler.handleCallback(Handler.java:587) at android.os.Handler.dispatchMessage(Handler.java:92) at android.os.Looper.loop(Looper.java:130) at android.app.ActivityThread.main(ActivityThread.java:3683) at java.lang.reflect.Method.invokeNative(Native Method) at java.lang.reflect.Method.invoke(Method.java:507) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597) at dalvik.system.NativeStart.main(Native Method)
使用的依赖项是:
compile 'com.android.support:support-v4:25.0.0'
compile 'com.android.support:support-compat:25.0.0'
compile 'com.android.support:support-core-ui:25.0.0'
compile 'com.android.support:appcompat-v7:25.0.0'
compile 'com.android.support:preference-v7:24.2.1'
compile 'com.android.support:multidex:1.0.1'
compile 'com.google.android.gms:play-services-maps:9.6.1'
compile 'com.android.support:design:24.2.1'
compile 'com.google.maps.android:android-maps-utils:0.4'
compile 'com.android.volley:volley:1.0.0'
compile 'com.android.support:recyclerview-v7:24.2.1'
我降级到 24.2.2 后错误消失,但这会导致其他问题(使用默认 android 搜索视图时,用户输入的文本不可见,即使自动完成工作正常)
我认为这是支持库中的错误。有没有人遇到同样的问题并知道解决方法?
这是支持库 25.0.0 的问题:https://code.google.com/p/android/issues/detail?id=225647。
您可以通过在 Android Studio 中创建一个新项目并使用标准 Basic Activity
模板来重现该问题。该应用程序将在设备 API 11 及以下的 setSupportActionBar(toolbar);
上崩溃。
除了降级支持库版本,我没有找到其他解决方案。
问题已通过新版本解决: Android 支持库,修订版 25.0.1(2016 年 11 月) https://developer.android.com/topic/libraries/support-library/revisions.html