Environment
Windows 10
Npm 5.5.1
react-native-cli 2.0.1
react-native 0.50.3
Genymotion Google Nexus 7 - 6.0.0 API 23
Just changing port doesnt solve the issue, instead it creates more unless you also change the port from the device itself.
First, confirm if its the case:
$> netstat -aon|findstr “8081”
Now change it to run from a new Default Port
a) Change env variable on windows to set a new port for RN:
$> SET RCT_METRO_PORT=8083
This is used in RN to use as the default port, and if not set it defaults to 8081
b) Remove old reverse:
$> adb reverse –remove-all
c) Set new reverse port for the adb device:
$> adb reverse tcp:8083 tcp:8083
d) Change Dev Settings on the device from the default 8081 to 8083.
Run the app and then run input keyevent 82, now select Dev Settings > Debug Server host … > enter new url: localhost:8083
build and run again
Try to turn off a local server program like MAMP, WAMP, OpenServer e.t.c. They can use the 8081 port.
In my case (had the same error) I simply checked netstat in win CMD (check for reference). My problem was running another instance on port :8081 so I had to kill the bastard.
I had this issue when I had another process running on port 8081
.
lsof -i tcp:8081
25120
kill -9 25120
Steps that helped me in similar case:
react-native start --port 8082 --reset-cache
react-native run-android --port 8082
in second Command Prompt window.Ctrl + M
.Dev Settings
button at the bottom.Debug server host & port for device
button.localhost:8082
and clicking OK
button.react-native run-android --port 8082