React-native run-android命令通过在android模拟器中留下消息来终止。信息如下:

无法加载脚本。确保你要么运行Metro服务器,要么运行你的捆绑包index.android。Bundle '被正确地打包以便发布。

我做错了什么?


当前回答

如果你所有的配置都是正确的,那么试试这个:

adb reverse tcp:8081 tcp:8081

Why?

当RN打包程序正在运行时,在您的浏览器中有一个活动的web服务器,地址为127.0.0.1:8081。应用程序的JS包就是从这个服务器提供的,并在您进行更改时进行刷新。如果没有反向代理,您的手机将无法连接到该地址。

所有功劳归于Swingline0 .

其他回答

试试这个

taskkill /F /IM node.exe

然后

npx react-native run-android

你也可以把node js降级到小于12的版本,然后删除nodemodule,然后再次运行NPM install

像我们大多数人一样,我假设你运行的是VSCODE。对我来说,我跑了

NPX react-native start

从一个单独的终端

现在在VSCODE中从你的终端运行npx react-native run-android

你可以尝试以下方法:

在AndroidManifest.xml中添加这一行

<application
[...]
android:usesCleartextTraffic="true"
/>
[...]
</application>

编辑: 注意,为了应用程序的安全性,在生产环境中它必须为假

如果你已经尝试了上述解决方案中的所有方法,可以尝试以下步骤:

在android/app/src/main/assets中创建文件 执行如下命令:

React-native bundle——platform android——dev false——entry-file index.js——bundle-output android/app/src/main/assets/index.android。Bundle——assets-dest android/app/src/main/res

现在运行命令构建react-native run-android