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 .

其他回答

类似的问题也发生在我身上。 显然Mcafee阻塞了8081端口。我花了好几个小时才弄明白。

尝试运行:

react-native run-android --port=1234

当应用程序在模拟器上显示错误时,进入开发设置(Ctrl+M)。

将“调试服务器主机和设备端口”更改为“localhost:1234”。

关闭应用程序,并从应用程序抽屉启动它。

我确信它是这里提到的其他东西的某种组合,比如允许明文,这是我为localhost启用的。但这是谜题的最后一块。

project.ext.react = [
    entryFile: "index.js",

    // ADD THESE THREE

    bundleAssetName: "index.android.bundle",
    bundleInDebug: true,
    bundleInRelease: true
]

RN: 0.61.3

我经历过这种情况,只是因为我的模拟器错误地关闭了Wifi。我把它重新打开,它开始正常工作。希望对大家有所帮助

在某些情况下,您可能需要关闭React-native捆绑器的端口 用相同的进程重新运行应用程序

1.sudo kill -9 $(sudo lsof -t -i:9001)

2.npm start inside the project

3. react-native run-android

试试下面的方法。

删除Android和IOS文件夹 运行react-native eject 运行react-native Run -android

也许在前面的步骤之后,你执行了npm start -——reset-cache

我有工作,希望能帮到你。