无法加载脚本。请确保您正在运行 Metro 服务器或您的包“index.android.bundle”已正确打包以供发布
IT技术
reactjs
react-native
react-native-android
react-native-cli
metro-bundler
2021-03-25 01:35:30
6个回答
您还没有启动打包程序。运行之前npm start
或者react-native start
在你的项目根目录下react-native run-android
。
这些步骤真的对我有帮助:
第一步:在android/app/src/main/assets下创建目录
Linux命令:mkdir android/app/src/main/assets
第 2 步:重命名index.android.js
(在根目录中)为index.js
(也许有一个index.js
文件在这种情况下您不需要重命名它)然后运行以下命令:
react-native bundle --platform android --dev false --entry-file index.js --bundle-output android/app/src/main/assets/index.android.bundle --assets-dest android/app/src/main/res
第 3 步:
构建您的 APK:react-native run-android
请使用最新版本的 index.js。
享受 :)
对我来说,这个错误是由 react-native 的升级引起的
从 Android 9.0(API 级别 28)开始,默认情况下禁用明文支持。
如果您查看升级差异,则需要创建调试清单
android/app/src/debug/AndroidManifest.xml
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools">
<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW"/>
<application android:usesCleartextTraffic="true" tools:targetApi="28" tools:ignore="GoogleAppIndexingWarning" />
</manifest>
类似的问题发生在我身上。
显然,Mcafee 阻止了 8081 端口。我花了几个小时才弄清楚这一点。
尝试运行:
react-native run-android --port=1234
当应用程序在模拟器上出现错误时,进入开发设置 ( Ctrl+ M)。
将“设备的调试服务器主机和端口”更改为“localhost:1234”。
关闭应用程序并从应用程序抽屉启动它。
如果您已正确配置所有内容,请尝试以下操作:
adb reverse tcp:8081 tcp:8081
为什么?
当 RN 打包程序运行时,在您的浏览器中 127.0.0.1:8081 处有一个活动的 Web 服务器可访问。当您进行更改时,您的应用程序的 JS 包就是从这个服务器提供和刷新的。如果没有反向代理,您的手机将无法连接到该地址。
所有学分都归功于 Swingline0 。