React Native报错
Unable to load script. Make sure you're either
running Metro (run 'npx react-native start)or that
your bundle index.android.bundle is packaged
correctly for release.
解决方法:
1、
adb reverse tcp:8088 tcp:8088
react-native run-android --port=8088
尝试了,未解决。
2、在AndroidManifest文件中加入
android:usesCleartextTraffic="true"
笔者就是用第二种方法成功解决,如果有更好的方法,欢迎一起交流!
解决相关错误的原因
Unable to load script. Make sure you are either running a Metro server or that your bundle ‘index.android.bundle’ is packaged correctly for release
这个错误通常表示应用在加载脚本时出现了问题。如果应用在开发过程中,需要从本地的 Metro 服务器加载 JavaScript 脚本,而 Metro 服务器默认使用的是 HTTP 协议来提供脚本文件。当应用运行在不允许明文流量的环境中时,就无法通过 HTTP 协议从 Metro 服务器获取脚本文件,从而导致该错误。添加android:usesCleartextTraffic="true"
后,允许应用使用明文流量,就能够正常地通过 HTTP 协议从 Metro 服务器加载脚本文件,从而解决了无法加载脚本的问题。
不过,需要注意的是,在生产环境中允许明文流量可能会带来安全风险。更好的做法是在开发完成后,将应用的网络请求切换到加密的 HTTPS 协议,或者对 Metro 服务器等相关网络服务进行配置,使其支持 HTTPS,以提高应用的安全性。