android - React Native 应用程序在销毁应用程序时崩溃,仅在 Android 上
问题描述
销毁应用程序时,应用程序崩溃并出现 com.facebook.react.bridge.NoSuchKeyException。这是安卓独有的。调试和发布版本都会发生崩溃。
我已尝试更新我的所有软件包,但这并没有解决问题。我相信这很可能是由第三方库引起的,但我不确定如何使用我拥有的信息来追踪它。
堆栈跟踪:
com.facebook.react.bridge.NoSuchKeyException lineNumber
ReadableNativeMap.java:124 com.facebook.react.bridge.ReadableNativeMap.getValue
ReadableNativeMap.java:128 com.facebook.react.bridge.ReadableNativeMap.getValue
ReadableNativeMap.java:182 com.facebook.react.bridge.ReadableNativeMap.getInt
JSStackTrace.java:28 com.facebook.react.util.JSStackTrace.format
ExceptionsManagerModule.java:46 com.facebook.react.modules.core.ExceptionsManagerModule.reportSoftException
Method.java:-2 java.lang.reflect.Method.invoke
JavaMethodWrapper.java:372 com.facebook.react.bridge.JavaMethodWrapper.invoke
JavaModuleWrapper.java:158 com.facebook.react.bridge.JavaModuleWrapper.invoke
NativeRunnable.java:-2 com.facebook.react.bridge.queue.NativeRunnable.run
Handler.java:873 android.os.Handler.handleCallback
Handler.java:99 android.os.Handler.dispatchMessage
MessageQueueThreadHandler.java:29 com.facebook.react.bridge.queue.MessageQueueThreadHandler.dispatchMessage
Looper.java:193 android.os.Looper.loop
MessageQueueThreadImpl.java:232 com.facebook.react.bridge.queue.MessageQueueThreadImpl$4.run
Thread.java:764 java.lang.Thread.run
包.json:
{
"name": "rnkirsofficer",
"version": "2.0.0",
"private": true,
"scripts": {
"start": "node node_modules/react-native/local-cli/cli.js start",
"test": "jest",
"version": "react-native-version"
},
"dependencies": {
"@mapbox/polyline": "^1.0.0",
"@react-native-community/async-storage": "^1.3.3",
"@react-native-community/netinfo": "^2.0.4",
"aws-amplify": "^1.1.26",
"aws-amplify-react-native": "^2.1.10",
"bugsnag-react-native": "^2.16.0",
"fuse.js": "^3.4.4",
"haversine": "^1.1.1",
"moment": "^2.24.0",
"native-base": "^2.12.1",
"prop-types": "^15.7.2",
"react": "16.8.3",
"react-native": "0.59.4",
"react-native-background-geolocation": "^3.0.1",
"react-native-calendars": "^1.32.0",
"react-native-gesture-handler": "^1.1.0",
"react-native-gifted-chat": "^0.7.2",
"react-native-google-maps-directions": "^2.0.0",
"react-native-maps": "^0.24.2",
"react-native-maps-super-cluster": "^1.5.0",
"react-native-popup-menu": "^0.15.5",
"react-native-svg": "^9.4.0",
"react-native-svg-charts": "^5.2.0",
"react-native-text-ticker": "^0.14.0",
"react-native-version-number": "^0.3.5",
"react-navigation": "^3.8.1",
"react-redux": "^6.0.1",
"react-timeout": "^1.2.0",
"redux": "^4.0.1",
"redux-devtools-extension": "^2.13.8",
"redux-logger": "^3.0.6",
"redux-thunk": "^2.3.0",
"uuid": "^3.3.2"
},
"devDependencies": {
"@babel/core": "7.3.4",
"@babel/runtime": "7.3.4",
"babel-jest": "24.5.0",
"husky": "^1.3.1",
"jest": "24.5.0",
"metro-react-native-babel-preset": "0.53.1",
"react-native-version": "^3.0.0",
"react-test-renderer": "16.8.3"
},
"jest": {
"preset": "react-native"
}
}
我希望应用程序能够在不崩溃的情况下被销毁,但目前它会因 NoSuchKeyException 而崩溃。
解决方案
出色地,
检查您是否在项目中的某处使用了 Console.err()。如果是这样,请删除那些 Console.err()。
推荐阅读
- laravel - Laravel Homestead/Vagrant 框错误:指定的校验和类型不受 Vagrant 支持:sha512
- javascript - 将 react 与 Cloud Firestore 一起使用
- algorithm - 适合按排序顺序存储整数个数的数据结构
- c++ - 将数据文件读入结构 c++
- google-cloud-platform - BigQuery 在(看似)非常简单的查询上非常慢
- r - 从 R 中的 Google CloudML 训练中获取模型
- node.js - 如何在 mongodb 中使用 $match 运算符和查找集合
- haskell - Haskell 评估
- jira - JIRA 中问题的自定义状态顺序
- xamarin.forms - Xamarin 表单的 Firebase PhoneAuthentication