如下:
如标题, adb 无法连接你的真机。
其实,react-native run-android 并不实用。 因为,我们可能需要一套代码去实现多个APP. 这个时候,就好用了!
我在Github 上找到参考资料:
https://github.com/facebook/react-native/issues/2720
解决方案:
不要使用它的命令。
1 开启 react-native server 使用这个命令
react-native start or npm start.
注意,这个要在你的 react-native 的根目录里面而不是 android目录下奥!
2 进入你的android dir
先不要打包,这个时候,你要先把react-native server 的jsBundle 下载下来,才可以打包,要不然会出现下面的问题:
在你的根目录下面先执行:
curl "http://localhost:8081/index.android.bundle?platform=android" -o "android/app/src/main/assets/index.android.bundle"
使用 gradlew 命令打包。把你的包安装到 手机上之后。
3 这个时候,你打开APP. 找到你的app. 打开设置界面。 找到的APP 给APP一个权限。
APP设置界面:
点击权限管理:
显示悬浮穿给到权限: 就可以了!
进入的你写的Demo.
晃动你的手机,就会出现:
点击 Dev Setting
点击最下面的Item 会出现:
配置你的电脑的IP地址,和端口
IP:PORT
注意,这里的port 端口是 react-native server 端口, 如果你没有修改的话,默认的是8081 端口!
这个时候就可以了,当你修改了 js 代码的时候,晃动一下手机,就会弹出:
当你 点击Reload 的时候,就会从react-native server 端把你修改的Js 代码,自动更新下来的。从而更新View.
FQ:
1 当你 react-native start or nom start
不成功的时候,有可能你的已经开启了服务。或者你的电脑的8081 端口已经被占用了!
查看端口是否被占用,方式自己搜搜
Mac:
lsof -n -i4TCP:8081 | grep LISTEN
这里如果现实 node,说明的你的服务已经开起来了。 不需要重复开启了。 如果是其他的 不是node,你需要干掉这个进程。在开启就没有问题了!
No comments:
Post a Comment