【问题标题】:React Native Android error in com.facebook.react.bridge.NoSuchKeyExceptioncom.facebook.react.bridge.NoSuchKeyException 中的 React Native Android 错误
【发布时间】:2023-03-24 15:47:02
【问题描述】:

我收到了一个 Crashlytics 发现的错误,几乎 45% 的用户都会遇到这种情况,但当用户使用应用程序时似乎不会发生这种情况,而是在后台运行时发生。

Crashlytics 上显示的堆栈跟踪是:

Fatal Exception: com.facebook.react.bridge.NoSuchKeyException ReadableNativeMap.java:124 lineNumber

我不知道是什么导致了这个问题,如果是 Javascript 错误或本机库错误

【问题讨论】:

  • 从今天开始注意到同样的异常。 react-native: 0.56.0, react-native-fbsdk: 0.8.0
  • react-native 0.59.3 出现同样的错误,我认为应该归咎于某些模块

标签: android reactjs react-native


【解决方案1】:

这是 stacktrace-parser 库的 problem caused,它在 react native 内部使用。基本上,版本 0.1.4 可以正常工作,而版本 0.1.5 和 0.1.6 会导致 lineNumber 错误。

请执行以下操作来解决此问题:

  1. 如果您使用的是 yarn,请将以下内容添加到您的 package.json:
  "resolutions": {
    "stacktrace-parser": "0.1.4"
  },

如果您使用的是 npm,请将以下内容添加到您的 package.json:

"dependencies": {
    ...
    "stacktrace-parser": "0.1.4"
  1. 删除 yarn.lock(或 package-lock.json)文件和 node_modules 目录。
  2. 安装包yarn install(或npm install
  3. 重新构建您的发布版本。

我希望这对其他人有所帮助,直到图书馆得到修复。

【讨论】:

  • 不,我没有尝试使用 0.1.8,但我相信他们最终会解决问题。一旦他们这样做,这个答案就会过时。 :)
【解决方案2】:

我的解决方案是删除项目中的每个 console.error

https://github.com/facebook/react-native/issues/24382

【讨论】:

    【解决方案3】:

    确保“backgroundColor”值永远不会为空或未定义。就我而言,这就是原因。

    【讨论】:

    • 你知道我可以在本地重现这个问题吗,因为它似乎是在应用程序在后台时发生的?
    • 在我的情况下,当应用程序在后台时也发生了崩溃
    【解决方案4】:

    它最终成为导致崩溃的某些本机库的问题。只需升级它就解决了问题

    【讨论】:

    • 哪个原生库?你应该提到这一点。
    • 这个答案没用,你应该改成弗朗索瓦的答案才能被接受
    • 在我将代码库从 rn 0.59.9 迁移到 0.60.5 之后,面对 android os 4 的这个问题,您能说说是哪个库导致崩溃吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-02-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-11-15
    • 2018-05-26
    相关资源
    最近更新 更多