0

我正在尝试在 react-native 中创建我的应用程序的调试版本。它以前工作过,并且在我为 VSCode 文本编辑器使用 react-native-tools 扩展包并附加其调试器进行调试后,问题就开始了。创建发布版本时不会发生该错误。我已经删除了扩展,删除了我的项目 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)

react-native 版本是 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/"
        ]
    }
}

我无法弄清楚错误是什么以及如何解决它。任何帮助表示赞赏。谢谢。

2018 年 8 月 31 日更新

我打开出现错误的文件,发现该文件在两个地方可用:

  • 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文件。

此外,路径中的 react-native 版本是 0.12.0。这是怎么设置的??我该如何改变这个?我猜它应该是 0.55.4,即项目中使用的当前 react-native 版本。

我应该在哪里进行更改??在项目中??或在 Android Studio 基本设置中?

请帮忙...

更新 2 31/08/18

从文件夹中删除了 .gradle/cache 文件,Users但错误仍然存​​在。

现在错误肯定在项目的 .gradle 文件夹中。

现在需要确定为什么会发生错误,即使SystraceRequestListener.java它与发生错误的文件存在于同一文件夹中,即FrescoModule.java.

2018 年 3 月 9 日更新(9 月 3 日)

我重新安装并配置了项目中使用的所有npm包,以查找构建时出现上述错误,我发现我安装react-native-firebase时出现问题。如果我找到一些解决方案会更新。

4

1 回答 1

0

该错误来自 react-native-firebase 包。

将 react-native-firebase 包更新到最新版本解决了我的问题。

于 2018-09-04T04:19:33.600 回答