React Native 跑Demo时8081端口被占用问题解决

初探React Native,写Hello World时遇到各种问题,先mark两个坑


一、react-native run-android 后,build成功,但是最后提示如下信息


Running D:\AndroidSDK/platform-tools/adb -s 024c85a9de9c25ca reverse tcp:8081 tc
p:8081
error: closed
Could not run adb reverse: Command failed: D:\AndroidSDK/platform-tools/adb -s 0
24c85a9de9c25ca reverse tcp:8081 tcp:8081
Starting the app on 024c85a9de9c25ca (D:\AndroidSDK/platform-tools/adb -s 024c85
a9de9c25ca shell am start -n com.hellorn/com.hellorn.MainActivity)...
Starting: Intent { cmp=com.hellorn/.MainActivity }


查看端口状态,8081被node占用,最后起来的服务也要用8081端口,还是说这两个本就是一个服务?还没搞懂,不管,先跑通再说


解决方法是在工程目录react-native start --port 选个端口  ,起来后会有如下信息


 ┌──────────────────────────────────────
──────────────────────────────────────┐
 │  Running packager on port 9999.

 │

 │  Keep this packager running while developing on any JS projects. Feel

 │  free to close this tab and run your own packager instance if you

 │  prefer.

 │

 │  https://github.com/facebook/react-native

 │

 └──────────────────────────────────────
──────────────────────────────────────┘


起来后这个终端别关了,再开个终端react-native run-android  ,再出现端口占用提示就别管了,直接在Dev Settings里面IP+改后的端口就能访问了



二、新版本把index.android.js和index.ios.js合到index.js里面了,所以前面两个没有了,但是跑起来的时候可能会报index.android.boundle找不到的错误,


此时有个神奇的解决办法,将index.js拷贝一份,命名为index.android.js,这样应该就可以跑起来了,跑起来后可以把index.android.js删掉,是的,就这么干,别问我为什么,我也不知道,我新来的....



你可能感兴趣的:(学习)