初探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删掉,是的,就这么干,别问我为什么,我也不知道,我新来的....