问题描述
我开始在 Firebase Crashlytics 中收到此崩溃消息。非常稀缺。
Fatal Exception: java.lang.NullPointerException: Attempt to invoke virtual method 'androidx.navigation.q androidx.navigation.o.N()' on a null object reference
at androidx.navigation.ui.NavigationUI.onNavDestinationSelected(NavigationUI.java:13)
at androidx.navigation.ui.MenuItemKt.onNavDestinationSelected(MenuItemKt.java:10)
at xxx.main.MainActivity.onoptionsItemSelected(MainActivity.java:9)
at android.app.Activity.onMenuItemSelected(Activity.java:4203)
at androidx.fragment.app.FragmentActivity.onMenuItemSelected(FragmentActivity.java)
应用程序的代码是标准的。主要活动:
override fun onoptionsItemSelected(item: MenuItem): Boolean {
return item.onNavDestinationSelected(navController) || super.onoptionsItemSelected(item)
}
我无法模拟这个问题。应用的相关代码在启动版本和之前版本之间没有变化。
在我看来崩溃是在导航组件中,因为我刚刚将导航组件版本从 2.3.1 更新到 2.3.3。
我认为这部分代码存在问题,在 2.3.1 和 2.3.2 版本之间发生了变化。可能有 getCurrentDestination() null 或 getParent() null:
navController.getCurrentDestination().getParent().findNode(item.getItemId())
检查差异 reprex package
我还发现了可能相关的问题,他们建议问题出在库中。 https://android.googlesource.com/platform/frameworks/support/+/ca16b13764d67c8e4d97f446e6ff1d116ceb73c8%5E%21/#F1
有人知道如何重现这个问题吗?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)