Unable to load script from assets index.android.bundle...node
Unable to load script from assets ‘index.android.bundle’react
这个错误是想说在加载script的资源的时候失败了,没有发现对应的packager server
android
形成这种问题的缘由挺多的,一部分是这个server真的没有启动。windows
这里要说的是服务确实启动了,但却仍是找不到服务, 如何验证服务确实启动了呢?react-native
http://localhost:8081/index.android.bundle?platform=android&dev=true&hot=false&minify=false
, 能够看到node的服务确实在加载了。接下来:若是你运行adb reverse tcp:8081 tcp:8081
解决了这个问题, 那么恭喜你 不用往下看了。浏览器
好,我如今确实浏览器里能够访问了而且运行了adb reverse
没有用,那么app
具体以下:tcp
- (in project directory) mkdir android/app/src/main/assets
- 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
- react-native run-android
你们试了一下,发现真的不报错了,就很开心😺,👍赞一下吧,可是❗️3d
本质上这个方案是将packager server
打包好的bundle拷贝到本地的assets目录下,让app去读取本地assets的资源,至关于这个资源是静态的了,而不是直接连接到packager server
上去的。code
这会形成:
Reload
或者Debug JS Remotely
命令后仍然报相同的错。这个问题本质上app是连不上packager server
, 形成这个的缘由不少, 我碰到的状况是localhost
被映射到了 ipv6的::1
上而不是 127.0.0.1
, 可使用ping localhost
查看一下.
若是能找到具体的缘由,能够根据具体缘由解决,不然这里有一个通用的解决方案:
启动packager server
的命令是react-native start
,这个命令默认启动在 localhost:8081
地址下,但他接受port
和host
的参数,这里咱们能够用一个新的端口和地址,例如:
第一步: react-native start --port 8082 --host 0.0.0.0
0.0.0.0
能够配合本机的ipv4 的ip访问成功第二步: 查看本地的ipv4地址
第三步: 打开开发者菜单> Dev Setting > Debug server host for device, 手动输入 你的ipv4地址:8082
Reload 应该就能够了