我试图在我的设备上第一次运行我的第一个React Native项目(Android 4.2.2)。

我得到:

无法从assets index.android.bundle中加载脚本

我使用的命令:

CD(项目目录) react-native开始 react-native运行android


当前回答

如果您在“开发设置”中输入了“调试服务器主机和设备端口”,请确保您删除了所输入的内容。

其他回答

如果在运行react-native run-android命令时,跟踪的第二行是

JS server not recognized, continuing with build...

这意味着应用程序的打包器无法启动,如果没有一些额外的步骤,应用程序将无法加载。注意,跟踪的结尾仍然报告成功:

BUILD SUCCESSFUL

问题可能是端口冲突(在我的情况下,我完全忘记了默认的IIS站点)。该问题的另一种表现形式是无法在Chrome中打开http://localhost:8081/debugger-ui URL。

一旦端口冲突得到解决,跟踪就会报告

Starting JS server...

然后一个额外的Node窗口会打开(Node…cli.js start),应用程序将成功加载/重新加载。

之后,你应该能够打开调试控制台在Chrome与http://localhost:8081/debugger-ui。

确保metro构建器正在运行,以使物理设备和服务器同步

首先,运行这个命令来运行metro builder

npm开始

然后你可以在react native中开始构建

react-native运行android

他们这次应该不会出错了。如果您希望您的代码在更改时重新加载。摇动你的设备,然后点击“启用Live Reload”

您可以根据官方页面的提示进行修复。这个问题发生在真实设备上,因为JS包位于您的开发系统上,而真实设备中的应用程序不知道它的位置。

提出一个显而易见的建议,对我很有用。删除应用程序,重新启动服务器,重新从工具部署到设备。

使用mkdir…/assets && react-native bundle——平台..不能完全解决这个问题,

注意,你必须在每次代码编辑时运行这个命令重新生成文件,并且在重新加载或远程调试JS后再次显示错误。

这个问题的根本原因是你的应用程序无法连接到服务器(因为一些未知的原因)

以下是我的解决方案:

首先,启动其他主机和端口上的服务,例如: React-native start——port 8082——host 0.0.0.0 然后打开应用程序开发菜单> dev Setting >设备的调试服务器主机 输入youripv4address: 8082 dev菜单>重载

希望这能有所帮助