解决 React Native: unable to load script 的问题
2025年3月7日
没有评论
最近又创建了一个 React Native 的项目,以前踩过的坑又忘记了,所以需要记录下来,真是好记性不如乱笔头。
现象是这样的:在有了基础页面,并运行了 npm run start 本地编译后,无论是安卓模拟器还是真机,都报告错误:
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.
开始的时候,以为是因为 React Native 升级到 0.78 的版本导致的,因为从 0.76 开始提示会有新的开发者工具,从0.78 开始使用新开发者工具。在回退了版本以后发现还是有这个问题。
经过检索,一个快速的解决方法是在 Android 的 Manifest 文件中加入
android:usesCleartextTraffic="true"
错误原因分析,应该是应用默认不再支持明文传输了,但是本地调试的 metro 服务,脚本传输时使用的又是 http 的数据流,导致无法获取到脚本,从而产生了前面提及的错误。
当然,在生产环境下,还是建议不要使用明文传输了哈。