NullPointerException:int android.widget.Editor $SelectionModifierCursorController.getMinTouchOffset(

这是一个非常奇怪的小米设备的操作系统异常.即使我有Fabric提供的日志,堆栈跟踪也不会引用我的任何代码.

crashalytics(Fabric)报告的崩溃细节如下所示,

> 21K崩溃
>所有小米设备都崩溃了
>在Android OS版本6,7和8上崩溃

崩溃日志:

# OS Version: 8.1.0
# Device: Redmi Note 5 pro
# RAM Free: 30.1%
# Disk Free: 74.2%

#0. Crashed: main
       at android.widget.Editor.touchPositionIsInSelection(Editor.java:1084)
       at android.widget.Editor.performLongClick(Editor.java:1205)
       at android.widget.TextView.performLongClick(TextView.java:10908)
       at android.view.View.performLongClick(View.java:6360)
       at android.view.View$CheckForLongPress.run(View.java:24768)
       at android.os.Handler.handleCallback(Handler.java:790)
       at android.os.Handler.dispatchMessage(Handler.java:99)
       at android.os.Looper.loop(Looper.java:171)
       at android.app.ActivityThread.main(ActivityThread.java:6606)
       at java.lang.reflect.Method.invoke(Method.java)
       at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:518)
       at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:823)

--

Fatal Exception: java.lang.NullPointerException: Attempt to invoke virtual method 'int android.widget.Editor$SelectionModifierCursorController.getMinTouchOffset()' on a null object reference
       at android.widget.Editor.touchPositionIsInSelection(Editor.java:1084)
       at android.widget.Editor.performLongClick(Editor.java:1205)
       at android.widget.TextView.performLongClick(TextView.java:10908)
       at android.view.View.performLongClick(View.java:6360)
       at android.view.View$CheckForLongPress.run(View.java:24768)
       at android.os.Handler.handleCallback(Handler.java:790)
       at android.os.Handler.dispatchMessage(Handler.java:99)
       at android.os.Looper.loop(Looper.java:171)
       at android.app.ActivityThread.main(ActivityThread.java:6606)
       at java.lang.reflect.Method.invoke(Method.java)
       at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:518)
       at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:823)

#0. Crashed: main
       at android.widget.Editor.touchPositionIsInSelection(Editor.java:1084)
       at android.widget.Editor.performLongClick(Editor.java:1205)
       at android.widget.TextView.performLongClick(TextView.java:10908)
       at android.view.View.performLongClick(View.java:6360)
       at android.view.View$CheckForLongPress.run(View.java:24768)
       at android.os.Handler.handleCallback(Handler.java:790)
       at android.os.Handler.dispatchMessage(Handler.java:99)
       at android.os.Looper.loop(Looper.java:171)
       at android.app.ActivityThread.main(ActivityThread.java:6606)
       at java.lang.reflect.Method.invoke(Method.java)
       at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:518)
       at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:823)

类似参考:

https://issuetracker.google.com/issues/37127697

java.lang.NullPointerException with Nougat

还问小米官方论坛http://en.miui.com/forum.php?mod=viewthread&tid=4595164

请尽快提供任何有效的解决方案.因为用户不应对这些崩溃感到满意.

提前致谢.

解决方法:

您的应用中是否有自定义TextView?它可能是可调整大小还是具有其他功能?

小米的Android皮肤可能会干扰它,并导致崩溃.我建议您尝试长按应用中的所有TextView.

上一篇:小米 SOAR 开源SQL优化工具安装


下一篇:Android绘制流程