#android #react-native
#Android #react-native
Вопрос:
При уничтожении приложения происходит сбой приложения с помощью com.facebook.react.bridge.Исключение NoSuchKeyException. Это эксклюзивно для Android. Сбой происходит как при сборке debug, так и при сборке release.
Я попытался обновить все свои пакеты, что не устранило проблему. Я полагаю, что это, вероятно, вызвано сторонней библиотекой, но я не уверен, как отследить ее с помощью имеющейся у меня информации.
Трассировка стека:
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
package.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.
Комментарии:
1.
adb logcat
или, если ваша ОС osx, вы можете использовать приложение flipper для отслеживания журнала приложений. fbflipper.com можете ли вы записать журнал приложения на терминале, когда приложение вышло из строя?2. Вы, вероятно, добавили библиотеки не в один пакет, правильно? Или это произошло с самого начала?
Ответ №1:
Ну,
Проверьте, есть ли у вас функция Use Console.err() где-нибудь в вашем проекте. Если это так, удалите эти Console.err() .