React Native内部错误

时间:2017-12-04 13:00:06

标签: android react-native

我一直在尝试使用本机做一个简单的测试应用,但我得到了这个

image

有时应用程序运行时没有任何错误,但有一段时间后再次弹出这个错误,所以有人请帮助我。谢谢!!

这是我的控制台输出:

image

这就是我在android studio logcat中获得的内容:

12-04 18:19:42.856 4147-4163/com.album E/unknown:ReactNative: Unable to download JS bundle
                                                          com.facebook.react.common.DebugServerException: The development server returned response error code: 500

                                                          URL: http://10.0.2.2:8081/index.bundle?platform=android&dev=true&minify=false

                                                          Body:
                                                          {"type":"InternalError","errors":[],"message":"Metro Bundler has encountered an internal error, please check your terminal error output for more details"}
                                                              at com.facebook.react.devsupport.BundleDownloader.processBundleResult(BundleDownloader.java:225)
                                                              at com.facebook.react.devsupport.BundleDownloader.access$100(BundleDownloader.java:40)
                                                              at com.facebook.react.devsupport.BundleDownloader$1.onResponse(BundleDownloader.java:192)
                                                              at okhttp3.RealCall$AsyncCall.execute(RealCall.java:135)
                                                              at okhttp3.internal.NamedRunnable.run(NamedRunnable.java:32)
                                                              at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1113)
                                                              at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:588)
                                                              at java.lang.Thread.run(Thread.java:818)
12-04 18:19:42.899 4147-4164/com.album E/Surface: getSlotFromBufferLocked: unknown buffer: 0xb407eec0
12-04 18:19:42.902 4147-4147/com.album E/unknown:ReactNative: Exception in native call
                                                          com.facebook.react.common.DebugServerException: The development server returned response error code: 500

                                                          URL: http://10.0.2.2:8081/index.bundle?platform=android&dev=true&minify=false

                                                          Body:
                                                          {"type":"InternalError","errors":[],"message":"Metro Bundler has encountered an internal error, please check your terminal error output for more details"}
                                                              at com.facebook.react.devsupport.BundleDownloader.processBundleResult(BundleDownloader.java:225)
                                                              at com.facebook.react.devsupport.BundleDownloader.access$100(BundleDownloader.java:40)
                                                              at com.facebook.react.devsupport.BundleDownloader$1.onResponse(BundleDownloader.java:192)
                                                              at okhttp3.RealCall$AsyncCall.execute(RealCall.java:135)
                                                              at okhttp3.internal.NamedRunnable.run(NamedRunnable.java:32)
                                                              at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1113)
                                                              at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:588)
                                                              at java.lang.Thread.run(Thread.java:818)

12 个答案:

答案 0 :(得分:4)

我重新启动了笔记本电脑,它对我有用。

我不是说这是正确的解决方案,但它对我有用。

答案 1 :(得分:1)

只需在终端中试用这行代码

  1. sudo lsof -i:8081
  2. kill -9

答案 2 :(得分:1)

有时会发生此错误,因为需要清除应用程序缓存。

您可以尝试进入react-native项目目录中的 Android文件夹,并运行以下命令:gradlew clean,然后返回react-native根文件夹并尝试运行android模拟器react-native run-android。您也可以尝试react-native start --reset-cache

答案 3 :(得分:1)

尝试一下

1.sudo lsof -i :<Your port>
2.Run sudo kill -9 <PID>
3.Run application again

答案 4 :(得分:1)

这对我有用 在项目的目录文件夹中运行此命令

expo r -c

答案 5 :(得分:0)

FAM, 我解决了我的问题,就像大多数人一样,这完全是我的错。我正在重构并删除一些文件而不清理一些已删除文件的导入。我发现这一点的唯一方法是在metro中添加console.log(node_modules / metro / src / lib / formatBundlingError.js)。

function formatBundlingError(error) { console.log(error); }

答案 6 :(得分:0)

我引用here并设法解决此问题

  1. 将babel-preset-react-native降级为版本1.9.2
  2. 跑纱

答案 7 :(得分:0)

请确保您使用的是http://localhost:8081/debugger-ui/,而不是10.0.2.x

答案 8 :(得分:0)

我在项目内部运行sudo npm i命令也解决了该错误。

答案 9 :(得分:0)

您可以尝试进入react-native项目目录中的Android文件夹并运行以下命令:gradlew clean,然后返回react-native根文件夹并尝试运行android emulator react-native run-android。您也可以尝试 react-native start --reset-cache

答案 10 :(得分:0)

正在工作

有时会发生此错误,因为需要清除应用程序缓存。

您可以尝试进入react-native项目目录中的Android文件夹并运行以下命令: gradlew clean 然后返回react-native根文件夹并尝试运行android仿真器react-native run-android。您也可以尝试以下方法:  react-native start --reset-cache

答案 11 :(得分:-1)

默认情况下,React Native 0.59支持gradle的版本3。如果您已升级到版本4或更高版本,则会出现此错误:

  

classpath'com.android.tools.build:gradle:3.3.1'

在Android Studio中打开项目时,如果显示“自动更新gradle”对话框,则需要跳过更新。