Home:ALL Converter>How to set the Android emulator DNS server from Android Studio

How to set the Android emulator DNS server from Android Studio

Ask Time:2017-03-17T00:30:39         Author:justarandomuser12345

Json Formatter

Essentially my issue is that when I run emulator -verbose -avd Nexus_5X_API_19 in the command line the emulator starts up with the argument -dns-server = "w,x,y,z" where w,x,y,z are 4 ip addresses for DNS servers. When I run ipconfig /all I only see x,y,z listed as my valid DNS servers in Windows. Because of this odd first DNS server, I am unable to access the internet within the emulator. When I run the emulator with emulator -verbose -avd Nexus_5X_API_19 -dns-server "x,y,z" everything works fine.

But now I want to be able to run my app from within Android Studio 2.2.3 with the corrected DNS servers. So does anyone know how to specify the emulator command line arguments within Android Studio (similar to this answer for the older Eclipse based version: https://stackoverflow.com/a/4736518/1088659), or how to set the default DNS for the emulator to start with?

Author:justarandomuser12345,eproduced under the CC 4.0 BY-SA copyright license with a link to the original source and this disclaimer.
Link to original article:https://stackoverflow.com/questions/42839734/how-to-set-the-android-emulator-dns-server-from-android-studio
jcady :

Unfortunately, as of 3.0.1, this isn't possible. They removed adding additional arguments for emulators launched from Android Studio. Until they add it back in, starting the emulator from the command line (as you showed) is the only option.\n\nYou can track this issue here: https://issuetracker.google.com/issues/37071385",
2017-04-26T22:16:49
m_katsifarakis :

If you are on MacOS or Linux, you could rename the Android Emulator executable to something else (say emulator-binary) and create a script with the actual emulator name (emulator) in its place, that calls the executable with the -dns-server parameter.\n\nHere are the steps required:\n\n\nFind the path where the Android SDK is located in your system. This answer will help you find it.\ncd <your-SDK-path>/emulator.\nRename the original executable: mv emulator emulator-binary.\nFinally, create an emulator shell script named emulator with the following contents:\n\n\n<your-SDK-path>/emulator-binary -dns-server \"8.8.8.8,8.8.4.4\" $@",
2020-01-16T11:56:53
yy