第一次运行react native app时无法找到变量:_d

时间:2017-12-20 13:10:13

标签: android reactjs react-native

我刚刚使用react-native init demoone创建了反应原生应用,并使用react-native start启动了js服务器,然后尝试使用react-native run-android执行应用 但是在安装时我在模拟器中收到以下错误。

无法找到变量:_d(http://10.0.2.2:8081/index.bundle?platform=android&dev=true&minify=false:1

enter image description here

5 个答案:

答案 0 :(得分:5)

我遇到了同样的问题,试图在Win10中设置react-native env并尝试运行Sample Project。

在敲打我的头并滚动浏览网站几小时后,在here找到了解决方案!

问题是,当您从项目根文件夹运行react-native run-android时,它会自动在端口8081启动node-js packager服务器的默认实例。由于某种原因,它不会让热/活/甚至手动重装工作&抛出相同的非描述性错误。

解决方案是停止应用程序的所有正在运行的实例。运行:

    yarn start
    // or
    npm start
从根文件夹

手动创建自己的bundler服务器。首选npmyarn优先react-native start(为我工作)

然后执行

    react-native run-android

使用另一个cmd窗口在模拟器上运行应用程序。

因此,我们的想法是每次都要创建一个单独的捆绑器来运行应用程序。

像魅力一样工作!

答案 1 :(得分:1)

您需要运行以下命令对其进行修复:

adb reverse tcp:8081 tcp:8081

这将在仿真器/设备与端口8081之间建立反向代理。在运行此命令之前,只需确保您的模拟器和React Native Bundle(反应本机启动)正在运行。 我遇到的另一件事是特定于 android模拟器的,请通过应用程序中的Dev设置将调试服务器主机设置为localhost:8081,否则它不会连接到远程调试器。

答案 2 :(得分:0)

由于我创建了一个运行良好的新应用程序,因此解决了。

答案 3 :(得分:0)

尝试使用不同的端口启动react-native,例如8088

react-native start --port 8088

然后

react-native run-android

答案 4 :(得分:0)

停止项目,然后cd android && ./gradlew clean && cd .. && react-native run-android。将正常工作