React-native run-android命令通过在android模拟器中留下消息来终止。信息如下:
无法加载脚本。确保你要么运行Metro服务器,要么运行你的捆绑包index.android。Bundle '被正确地打包以便发布。
我做错了什么?
React-native run-android命令通过在android模拟器中留下消息来终止。信息如下:
无法加载脚本。确保你要么运行Metro服务器,要么运行你的捆绑包index.android。Bundle '被正确地打包以便发布。
我做错了什么?
当前回答
(快速回答)
在我的工作空间尝试解决这个问题后,我找到了一个解决方案。
此错误是因为Metro使用NPM和Node版本的某些组合时出现了问题。
你有两个选择:
Alternative 1: Try to update or downgrade npm and node version. Alternative 2: Go to this file: \node_modules\metro-config\src\defaults\blacklist.js and change this code: var sharedBlacklist = [ /node_modules[/\\]react[/\\]dist[/\\].*/, /website\/node_modules\/.*/, /heapCapture\/bundle\.js/, /.*\/__tests__\/.*/ ]; and change to this: var sharedBlacklist = [ /node_modules[\/\\]react[\/\\]dist[\/\\].*/, /website\/node_modules\/.*/, /heapCapture\/bundle\.js/, /.*\/__tests__\/.*/ ]; Please note that if you run an npm install or a yarn install you need to change the code again.
其他回答
默认情况下,一个名为“Metro server”的小型JavaScript服务器运行在端口8081上。
您需要使此端口可用于此服务器启动。所以,
释放端口 关闭虚拟设备 “react-native run-android”。
如何释放端口?
http://tenbull.blogspot.com/2019/05/how-to-kill-process-currently-using.html
如何在windows中杀死当前使用本地主机端口的进程?
最重要的是,我从8升级了我的节点版本。X到10.x(最新),正如facebook建议的那样 @ https://facebook.github.io/react-native/docs/getting-started
以下是我在不改变构建的情况下解决这个问题的方法:
1-关闭虚拟设备
2-在物理设备上测试-(它工作)
3-创建新的虚拟设备API 30 Android 10+
4-在新创建的虚拟设备上再次尝试,所有工作都像一个魅力。
在重命名我的android包ID后,我在React Native v0.69中遇到了这个问题。
将/android/app/src/debug/java/old_package_name重命名为 /android/app/src/debug/java/new_package_name,我不小心将AndroidManifest.xml的调试版本移动到新创建的路径中。
在把它移回/android/app/src/debug/后,yarn android又可以正常工作了,没有做任何其他的解决方案。有趣的是,这个错误导致了这个错误,所以如果它发生在其他人身上,检查确保你的文件在他们应该在的地方。
这适用于我,另外添加端口号和运行android
npx react-native run-android --port=8082 (maybe port number differs)
我遇到了同样的麻烦,对我来说,问题是adb不在正确的环境路径,错误是告诉你地铁端口,而你在adb,端口被杀死并重新启动。
添加环境变量(ADB)
开放环境变量 从第二帧PATH变量中选择,然后单击下面的编辑选项 点击添加选项 提交sdk平台工具路径C:\Users\ My User \AppData\Local\Android\ sdk \platform-tools
注意:或取决于adb.exe在您的机器中的位置
保存更改
再次运行android build
$ react-native run-android
Or
$ react-native start
$ react-native run-android