React-native run-android命令通过在android模拟器中留下消息来终止。信息如下:
无法加载脚本。确保你要么运行Metro服务器,要么运行你的捆绑包index.android。Bundle '被正确地打包以便发布。
我做错了什么?
React-native run-android命令通过在android模拟器中留下消息来终止。信息如下:
无法加载脚本。确保你要么运行Metro服务器,要么运行你的捆绑包index.android。Bundle '被正确地打包以便发布。
我做错了什么?
当前回答
像我们大多数人一样,我假设你运行的是VSCODE。对我来说,我跑了
NPX react-native start
从一个单独的终端
现在在VSCODE中从你的终端运行npx react-native run-android
其他回答
我经历过这种情况,只是因为我的模拟器错误地关闭了Wifi。我把它重新打开,它开始正常工作。希望对大家有所帮助
从Android 9.0 (API级别28)开始,默认情况下禁用明文支持。
如果您正确地执行正常运行命令,那么您需要这样做来消除这个问题
npm安装 react-native开始 react-native运行android
然后像这样修改你的android manifest文件。
<application
android:name=".MainApplication"
android:icon="@mipmap/ic_launcher"
android:usesCleartextTraffic="true" // add this line with TRUE Value.
android:theme="@style/AppTheme">
如果你所有的配置都是正确的,那么试试这个:
adb reverse tcp:8081 tcp:8081
Why?
当RN打包程序正在运行时,在您的浏览器中有一个活动的web服务器,地址为127.0.0.1:8081。应用程序的JS包就是从这个服务器提供的,并在您进行更改时进行刷新。如果没有反向代理,您的手机将无法连接到该地址。
所有功劳归于Swingline0 .
你可以尝试以下方法:
在AndroidManifest.xml中添加这一行
<application
[...]
android:usesCleartextTraffic="true"
/>
[...]
</application>
编辑: 注意,为了应用程序的安全性,在生产环境中它必须为假
(快速回答)
在我的工作空间尝试解决这个问题后,我找到了一个解决方案。
此错误是因为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.