In Mac OS go to:
System Preferences -> Network -> select Wi-Fi os left panel -> Advanced on right panel -> DNS -> add new DNS server; for example 8.8.8.8
and 8.8.4.4
(Google Public DNS) or 1.1.1.1
and 1.0.0.1
(Cloudflare and APNIC DNS) or another public DNS provider. Then restart the emulator so the changes take effect.
Edited jun/2020
Another option is to pass dns-server params when start Android emulator.
According with this solution https://stackoverflow.com/a/51858653/3328566, I changed the emulator executable name and I created a bash script to load the AVD with param -dns-server 8.8.8.8
.
In your Android SDK default folder /Users/[MY_USER_ACCOUNT]/Library/Android/sdk/emulator/emulator
- Rename the binary
emulator
toemulator_original
- Create a bash script named
emulator
that contains:
#!/bin/bash
/Users/[MY_USER_ACCOUNT]/Library/Android/sdk/emulator/emulator_original -dns-server 8.8.8.8 $@
- Change the script permissions with
chmod +x emulator
Now, you can start AVD from Android Studio normally
In this case, you don’t need to set DNS server in System Preferences. You are setting the DNS server only for the emulator, avoiding other problems