Я пытаюсь создать отладочную сборку моего приложения в реактивном режиме. Это работало ранее, и проблема началась после того, как я использовал пакет расширенийact-native-tools для текстового редактора VSCode и подключил его отладчик для отладки. Ошибка не возникает при создании сборки выпуска. Я удалил расширение, удалил папку моего проекта node_modules и переустановил.
Ошибка выглядит следующим образом:
08-30 13:15:42.896 6228-6491/? E/AbstractTracker: Can't create handler inside thread that has not called Looper.prepare()
08-30 13:15:42.957 25112-25112/? E/art: Failed to send JDWP packet APNM to debugger (-1 of 51): Broken pipe
08-30 13:15:42.961 25112-25118/? E/art: Failed sending reply to debugger: Broken pipe
08-30 13:15:43.052 25112-25138/? E/Theme: Different package name.com.namahapp,com.google.android.gms
08-30 13:15:43.110 25112-25151/? E/AbstractTracker: Can't create handler inside thread that has not called Looper.prepare()
08-30 13:15:43.155 18392-18909/? E/Theme: Different package name.com.facebook.katana,com.google.android.gms
08-30 13:15:43.246 18666-22557/? E/NetworkScheduler: Invalid component specified.
08-30 13:15:43.332 25112-25165/? E/AndroidRuntime: FATAL EXCEPTION: mqt_native_modules
Process: com.namahapp, PID: 25112
java.lang.NoClassDefFoundError: com.facebook.react.modules.fresco.SystraceRequestListener
at com.facebook.react.modules.fresco.FrescoModule.getDefaultConfigBuilder(FrescoModule.java:149)
at com.facebook.react.modules.fresco.FrescoModule.getDefaultConfig(FrescoModule.java:138)
at com.facebook.react.modules.fresco.FrescoModule.initialize(FrescoModule.java:101)
at com.facebook.react.bridge.ModuleHolder.doInitialize(ModuleHolder.java:198)
at com.facebook.react.bridge.ModuleHolder.markInitializable(ModuleHolder.java:86)
at com.facebook.react.bridge.NativeModuleRegistry.notifyJSInstanceInitialized(NativeModuleRegistry.java:123)
at com.facebook.react.bridge.CatalystInstanceImpl$2.run(CatalystInstanceImpl.java:387)
at android.os.Handler.handleCallback(Handler.java:739)
at android.os.Handler.dispatchMessage(Handler.java:95)
at com.facebook.react.bridge.queue.MessageQueueThreadHandler.dispatchMessage(MessageQueueThreadHandler.java:29)
at android.os.Looper.loop(Looper.java:152)
at com.facebook.react.bridge.queue.MessageQueueThreadImpl$3.run(MessageQueueThreadImpl.java:192)
at java.lang.Thread.run(Thread.java:818)
Реактивная версия - 0.55.4.
Мой файл package.json:
{
"name": "NamahApp",
"version": "0.0.1",
"private": true,
"scripts": {
"start": "node node_modules/react-native/local-cli/cli.js start",
"test": "jest"
},
"dependencies": {
"react": "16.3.1",
"react-native": "0.55.4",
"react-native-check-app-install": "0.0.4",
"react-native-fbsdk": "^0.7.0",
"react-native-firebase": "^4.2.0",
"react-native-keyboard-aware-scroll-view": "^0.6.0",
"react-native-linear-gradient": "^2.4.0",
"react-native-shadow": "^1.2.2",
"react-native-share": "^1.0.27",
"react-native-snap-carousel": "^3.7.2",
"react-native-sound": "^0.10.9",
"react-native-svg": "^6.5.0",
"react-navigation": "^2.0.1",
"socketcluster-client": "^13.0.0"
},
"devDependencies": {
"babel-jest": "22.4.3",
"babel-plugin-transform-remove-console": "^6.9.4",
"babel-preset-react-native": "4.0.0",
"jest": "22.4.3",
"react-test-renderer": "16.3.1"
},
"jest": {
"preset": "react-native"
},
"rnpm": {
"assets": [
"./app/assets/fonts/"
]
}
}
Я не могу понять, что это за ошибка и как ее устранить. Любая помощь приветствуется. Спасибо.
Обновление 31/08/2018
Я открыл файл с ошибкой и обнаружил, что файл доступен в двух местах:
C:\Users\Nikhil\.gradle\caches\modules-2\files-2.1\com.facebook.react\react-native\0.12.0\8a53a72920675231a5d11880ae3cacb9ab91b93c\react-native-0.12.0-sources.jar!\com\facebook\react\modules\fresco\FrescoModule.java
в папке «Пользователи» (Windows).
G:\path\to\project\node_modules\react-native\android\com\facebook\react\react-native\0.55.0\react-native-0.55.0-sources.jar!\com\facebook\react\modules\fresco\FrescoModule.java
Из этих файлов в папке Users
отсутствует файл SystraceRequestListener.java
.
Кроме того, версия реакции-нативная в пути - 0.12.0. Как это становится? Как я могу изменить это ?? Я предполагаю, что это должно было быть 0.55.4, т.е. текущая реактивная версия, используемая в проекте.
Где я должен сделать изменения ?? В проекте ?? или в настройках Android studio base ??
Пожалуйста, помогите ...
Обновление-2 31/08/18
Удален файл .gradle / cache из папки Users
, но ошибка все еще сохраняется.
Теперь ошибка определенно находится в папке .gradle в проекте.
Теперь необходимо определить причину возникновения ошибки, даже если SystraceRequestListener.java
существует в той же папке, что и файл, в котором возникает ошибка, т.е. FrescoModule.java
.
Обновление 03/09/18 (3 сентября)
Я переустановил и настроил все пакеты npm, используемые в проекте, чтобы найти, когда сборка получает вышеуказанную ошибку, и обнаружил, что проблема возникает, когда я устанавливаю Reaction-native-Firebase. Обновлюсь, если найду какое-нибудь решение.