我刚刚使用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
)
答案 0 :(得分:5)
我遇到了同样的问题,试图在Win10中设置react-native env并尝试运行Sample Project。
在敲打我的头并滚动浏览网站几小时后,在here找到了解决方案!
问题是,当您从项目根文件夹运行react-native run-android
时,它会自动在端口8081启动node-js packager服务器的默认实例。由于某种原因,它不会让热/活/甚至手动重装工作&抛出相同的非描述性错误。
解决方案是停止应用程序的所有正在运行的实例。运行:
yarn start
// or
npm start
从根文件夹手动创建自己的bundler服务器。首选npm
或yarn
优先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
。将正常工作