Search code examples
android-emulator

Internet stopped working on Android Emulator (Mac OS)


I am using Android Studio 2.3(Latest). Till yesterday it was all good and working, today emulator is not connecting to the data network.
I couldn't find any solution working so far. My Mac is running on Mac OS Sierra, connected to WiFi with no proxy.

enter image description here


Solution

  • 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.

    DNS setup

    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

    1. Rename the binary emulator to emulator_original
    2. 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 $@

    1. 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