TooltipCompat 崩溃但我没有在我的代码中使用任何地方
TooltipCompat crashing but I'm not using anywhere on my code
我刚刚更新以支持库 26 并发布了一个测试版,据我所知我什至没有使用过的东西,我已经开始在 crashlytics 上崩溃。我自己从未见过这个问题。还有其他人看到了吗?
完整堆栈跟踪:
Fatal Exception: java.lang.NullPointerException: Attempt to invoke virtual method 'void android.widget.TextView.setText(java.lang.CharSequence)' on a null object reference
at android.support.v7.widget.TooltipPopup.show(TooltipPopup.java:79)
at android.support.v7.widget.TooltipCompatHandler.show(TooltipCompatHandler.java:155)
at android.support.v7.widget.TooltipCompatHandler.access[=10=]0(TooltipCompatHandler.java:39)
at android.support.v7.widget.TooltipCompatHandler.run(TooltipCompatHandler.java:53)
at android.os.Handler.handleCallback(Handler.java:739)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:135)
at android.app.ActivityThread.main(ActivityThread.java:5280)
at java.lang.reflect.Method.invoke(Method.java)
at java.lang.reflect.Method.invoke(Method.java:372)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:963)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:758)
编辑:我可能终于重现了,长按工具栏溢出菜单上的 Android 4.4。现在要尝试创建一个示例。
编辑:确实是长按工具栏上的溢出菜单可以做到这一点,但我无法用一个简单的项目重现它。我知道发生这种情况时有 2 个应用程序崩溃。
想通了。在问题跟踪器 https://issuetracker.google.com/issues/64594124
上找到了这个
基本上,如果您有自己的 tooltip.xml 文件,它将与设计库的新工具提示冲突。
添加到 casolorz 解决方案:问题是任何 tooltip.xml
布局文件。
更新到 Android 支持库 26.1.0 后,我有一个 NoSuchFieldError
,堆栈跟踪如下。但是重命名我自己的 tooltip.xml 也解决了这个问题。
我的 Google 堆栈跟踪:
Exception java.lang.NoSuchFieldError: No static field message of type I in class Landroid/support/v7/appcompat/R$id; or its superclasses (declaration of 'android.support.v7.appcompat.R$id' appears in /data/app/com.mytowntonight.aviamap-1/base.apk)
android.support.v7.widget.TooltipPopup.<init> (TooltipPopup.java:60)
android.support.v7.widget.TooltipCompatHandler.show (TooltipCompatHandler.java:154)
android.support.v7.widget.TooltipCompatHandler.onLongClick (TooltipCompatHandler.java:103)
android.view.View.performLongClick (View.java:5265)
android.widget.TextView.performLongClick (TextView.java:9240)
android.view.View$CheckForLongPress.run (View.java:21240)
android.os.Handler.handleCallback (Handler.java:739)
android.os.Handler.dispatchMessage (Handler.java:95)
android.os.Looper.loop (Looper.java:168)
android.app.ActivityThread.main (ActivityThread.java:5845)
java.lang.reflect.Method.invoke (Method.java)
com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run (ZygoteInit.java:797)
com.android.internal.os.ZygoteInit.main (ZygoteInit.java:687)
我刚刚更新以支持库 26 并发布了一个测试版,据我所知我什至没有使用过的东西,我已经开始在 crashlytics 上崩溃。我自己从未见过这个问题。还有其他人看到了吗?
完整堆栈跟踪:
Fatal Exception: java.lang.NullPointerException: Attempt to invoke virtual method 'void android.widget.TextView.setText(java.lang.CharSequence)' on a null object reference
at android.support.v7.widget.TooltipPopup.show(TooltipPopup.java:79)
at android.support.v7.widget.TooltipCompatHandler.show(TooltipCompatHandler.java:155)
at android.support.v7.widget.TooltipCompatHandler.access[=10=]0(TooltipCompatHandler.java:39)
at android.support.v7.widget.TooltipCompatHandler.run(TooltipCompatHandler.java:53)
at android.os.Handler.handleCallback(Handler.java:739)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:135)
at android.app.ActivityThread.main(ActivityThread.java:5280)
at java.lang.reflect.Method.invoke(Method.java)
at java.lang.reflect.Method.invoke(Method.java:372)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:963)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:758)
编辑:我可能终于重现了,长按工具栏溢出菜单上的 Android 4.4。现在要尝试创建一个示例。
编辑:确实是长按工具栏上的溢出菜单可以做到这一点,但我无法用一个简单的项目重现它。我知道发生这种情况时有 2 个应用程序崩溃。
想通了。在问题跟踪器 https://issuetracker.google.com/issues/64594124
上找到了这个基本上,如果您有自己的 tooltip.xml 文件,它将与设计库的新工具提示冲突。
添加到 casolorz 解决方案:问题是任何 tooltip.xml
布局文件。
更新到 Android 支持库 26.1.0 后,我有一个 NoSuchFieldError
,堆栈跟踪如下。但是重命名我自己的 tooltip.xml 也解决了这个问题。
我的 Google 堆栈跟踪:
Exception java.lang.NoSuchFieldError: No static field message of type I in class Landroid/support/v7/appcompat/R$id; or its superclasses (declaration of 'android.support.v7.appcompat.R$id' appears in /data/app/com.mytowntonight.aviamap-1/base.apk)
android.support.v7.widget.TooltipPopup.<init> (TooltipPopup.java:60)
android.support.v7.widget.TooltipCompatHandler.show (TooltipCompatHandler.java:154)
android.support.v7.widget.TooltipCompatHandler.onLongClick (TooltipCompatHandler.java:103)
android.view.View.performLongClick (View.java:5265)
android.widget.TextView.performLongClick (TextView.java:9240)
android.view.View$CheckForLongPress.run (View.java:21240)
android.os.Handler.handleCallback (Handler.java:739)
android.os.Handler.dispatchMessage (Handler.java:95)
android.os.Looper.loop (Looper.java:168)
android.app.ActivityThread.main (ActivityThread.java:5845)
java.lang.reflect.Method.invoke (Method.java)
com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run (ZygoteInit.java:797)
com.android.internal.os.ZygoteInit.main (ZygoteInit.java:687)