android

android-studio-3.0

emulation

I know that similar questions have been asked before, but my problem is new only after installing Android Studio 2.3, the latest version in March 2017. I have several years experience developing Android applications, and I have never encountered this problem before. After upgrading to version 2.3 of Android Studio, my emulator is no longer able to access the internet. I even uninstalled/reinstalled Android Studio 2.3 from scratch and created a new emulator, and I am still getting the same error. This is not an app problem. I can't even access the internet from Chrome, and I wasn't having this problem last week. The message that I get says that the server DNS address could not be found -- DNS_PROBE_FINISHED_BAD_CONFIG. The only thing that has changed on my computer in the last week is the new version of Android plus possibly updates to Windows 10. And yes, my computer has access to the internet. Below is an image of my emulator when I try to use Chrome to search for "Google".

Solution 1

1st try "Cold booting" the emulator as suggested here.

If cold booting doesn't work, try changing the DNS address of your network to 8.8.8.8 (Google's DNS) or another of your preference:

MacOSX:

  • Open "System Preferences"
  • Click on "Network"
  • Select the network which your computer is connected and click on "Advanced"
  • Select "DNS", Select the "+" button, type "8.8.8.8" (Google's DNS) or if you prefer OpenDNS, "208.67.222.222"
  • Select "Ok" and "Apply"

Windows & Linux:

https://developers.google.com/speed/public-dns/docs/using


After that close the emulator and start it again.

Solution 2

After trying many of these solutions, I was going to just delete my current AVD and make it again, but when I clicked the down arrow on the AVD, I noticed "Cold Boot Now".

On a whim I tried that. Lo and behold my emulator has internet connectivity again!

Command-line approach

In case you start Emulator through command, pass -no-snapshot-load option, like:

%ANDROID_HOME%/emulator/emulator.exe -netdelay none -netspeed full -no-snapshot-load -avd Pixel_2_API_28

Or for MacOSX:

$ANDROID_HOME/emulator/emulator -netdelay none -netspeed full -no-snapshot-load -avd Pixel_2_API_28

Note that you may need to change -avd Pixel_2_API_28 part (with your own Virtual-Device name).

Also, most tools use ANDROID_HOME environment-variable name, hence define that (if not already), but nowadays ANDROID_ROOT is yet another naming-option.

Decision (edit)

Ok, for those saying why not just wipe data and restart. Do you reformat your PC every time you restart it? Wiping data on the emulator is just like doing a factory reset to a phone or reformatting your hard drive on your PC and reinstalling your OS. It is unnecessary unless the data is totally corrupt.

When you shut off the emulator and restart it, it is like putting your PC in hibernate or sleep mode. Memory is not wiped, it is saved.

Doing a cold boot is the same as rebooting your phone or rebooting your PC. It resets memory and lets things reload. This allows the network emulation to start with clean memory and connect properly.

So, don't wipe your data. Just cold boot. If it still doesn't work, then wipe, but save that as a last resort.

Solution 3

I found a temporary solution on an old Stack Overflow thread at Upgraded to SDK 2.3 - now no emulators have connectivity. Note that this thread talks about Android SDK 2.3, not Android Studio 2.3. The problem seems to be that the emulator can't find the DNS my computer is currently using, and the temporary workaround is to start the emulator from the command line and specify the DNS server. Whatever problem occurred back then must have reappeared in the latest version of Android Studio.

The temporary solution outlined below fixes the problem with the emulator accessing the internet. However, it does not fix the problem that occurs when trying to run Android Device Monitor. Doing so will still make the emulator go offline as described above.

Note that there are two files named "emulator.exe" in the sdk -- one under sdk\tools and another under sdk\emulator. Either might work below, but I use the one under sdk\emulator.

The first step is to find where the SDK is located. Assuming a user name of "jdoe" and a default installation of Android Studio on Windows, the SDK is most likely in

C:\Users\jdoe\AppData\Local\Android\sdk

The second step is to determine the name of the AVD (emulator) that you want to run. The command

C:\Users\jdoe\AppData\Local\Android\sdk\emulator\emulator.exe -list-avds

will show the names of your AVDs. On my computer, it shows only one, Nexus_5X_API_25.

To start the emulator from the command line with a specified DNS server, use something like the following:

C:\Users\jdoe\AppData\Local\Android\sdk\emulator\emulator.exe -avd Nexus_5X_API_25 -dns-server 8.8.8.8

In this case, 8.8.8.8 is a Google public domain name server.

The above commands can be shortened if you create appropriate environment variables and edit your PATH environment variable, but I recommend caution when doing so.

Solution 4

[UPDATE 2022] for Mac Users

For NOT Apple Silicon users

  1. System Preferences
  2. Network
  3. WiFi > Select Advanced
  4. From Advanced Choose DNS tab
  5. Add DNS Server 8.8.8.8
  6. Emulator must be restarted after DNS Server has been added (Thanks to @kapusch)

For Apple Silicon users

as per @bourdier-jonathan You can fix the Silicon issue here: Emulator appearing offline on M1 Mac after the last update of arm64-v8a

By replacing the AVD system images you have downloaded with the r02 images. Because It appears r03, r04, and r05 all don't work on m1

Solution 5

Updating my WIFI adapter to resolve DNS on 8.8.8.8 solved the issue for me. It started to happen after an Apple update which messed up the DNS address.

Solution 6

Simply open the AVD Manager and wipe the data of that emulator works for me.

Solution 7

Open Android emulator and go to the Extended Controls. Then go to the setting => proxy(Tab), uncheck "Use Android studio HTTP proxy setting" and click "Apply".

Solution 8

macOS: long Story short.. make sure your DNS settings 8.8.8.8 is the first in line, wipe your data and do a cold boot.

Solution 9

I experienced this same issue after upgrade. Upon opening the Chrome browser in the emulator, google.com could no longer be reached.

I found a post on SO that suggested the problem was with the emulator trying to use a disconnected network adapter. For me the problem was occurring when I was connected to a LAN. Disabling the wireless LAN adapter fixed the issue.

To disable the adapter:

  1. Navigate to Network connections
  2. Find the adapter
  3. Right click and choose disable

Solution 10

I've resolved wiping data from AVD Manager

Solution 11

Reminder: the Android Emulator internet connection does not work if you turn on a VPN system on you computer.

Solution 12

This happend to me when the emulator froze and I had to kill the process. The signal icon always showed the small "x" as in the screenshot and no internet connection was successful.

The only thing that helped was uninstalling and reinstalling the emulator (not the AVD images)

In Android Studio:

Tools-> Android -> SDK Manager Uncheck "Android Emulator" and let it uninstall then check again and let it install again.

Solution 13

I am also facing the same problem, but I am trying to solve the problem using various posts. Today I discovered this problem. Your computer configuration is most likely the problemm, not Android Studio and the Android Emulator.

The problem is coming from your Network setup. Just set the Primary DNS Server to 8.8.8.8, which will solve the problem.

Solution 14

I got a simple and permanent solution for this issue in windows.

Go to network and internet option->

click on Etherenet or wifi(for which you are connected) option ->

Click on change adapter option ->

Right click on the network for which you have connected.

A dialog box will be opened and just click on Internet protocal version (TCP/IPv4) option.

Another dialog box will be opened and there just neglect the first set about the IP address (Keep as it is set) and click radio button of Use the following DNS server addresses: and enter as 8.8.8.8 in Preferred DNS server: and 8.8.4.4 in Alternate DNS server:

Now you can open your emulator whenever and you will get internet in the android emulators.

Solution 15

This was a problem for me last time the emulator updated itself and back then disabling other network adapters fixed it. Now it's cropped up again but the only adapter that is enabled is a single wifi one so I have nothing to disable.

The issue only reappeared after I updated via a prompt the emulator tools to 26.1.1. I uninstalled and reinstalled the emulator via the SDK Tools update tab and thankfully the only option when installing again right now is to install 26.0.3 (which seems to be working okay).

Moral of the story is to be very wary of emulator updates.

Solution 16

For me the problem was caused when I took my laptop home without restarting the emulator. From what I have read, when the emulator starts up it reads your PC's DNS settings and uses them. When I was on my home network, my work DNS settings were failing.
So yeah. Just restarting the emulator solved my problem.

Solution 17

I faced this problem after i kept my emulator ON while going from my home to a cafe. "Cold Boot Now" fixed the issue.

Solution 18

After 10 days of trouble, I just deleted everything from C:\Android\.android\ and deleted all created AVDs. Now internet seems to work fine.

Solution 19

closing the emulator and reopening worked for me

OS WINDOWS 10

Solution 20

Just goto AVD manager and Cold Boot Now worked for me

Solution 21

I can make it work after turn off and turn on the wifi on android config

Solution 22

Please go through the below link.

https://developer.android.com/studio/run/emulator-networking

Emulator open, click More ..., and then click Settings and Proxy. From here, you can define your own HTTP proxy settings.


Enter the hostname by following Run > cmd > hostname

Finally, check the internet access inside the emulator by browsing in chrome or google.

Note: Often wipe data will clear the issue. Please follow all steps

Solution 23

I am on android studio 3.1 and it happened. Solved it by restarting the adb server

$ adb kill-server
$ adb start-server

Hope it helps. Thank you

Solution 24

There was a problem for me too, by disabling the proxy in Android Studio settings, and run the emulator with "Cold Boot Now", the problem was resolved.

Solution 25

if android browser can access internet you can run emulator from terminal by this command

go to SDK path then

$ /tools/emulator -avd Nexus_5X_API_23 -netdelay none -netspeed full

it solve your internet problem...

Solution 26

I was having the same issue and i resolved with below steps:-

Go to emulator setting and then go to

setting->Proxy->Either configure it Manually or use Tick use Android Studio HTTP proxy simulator.

please vote, if this works for you

Solution 27

Just recreating the emulator with another target API worked for me

Solution 28

Maybe you set a proxy for Android Studio and the proxy does not work. Try without proxy.

Solution 29

Solution for MacOS that does not use a custom DNS for your whole machine

Step 1

Locate the emulator executable Android Studio is using inside the Android SDK and rename it to emulator-original.

Mine is located /usr/local/share/android-sdk/emulator/emulator but it might vary based on individual setups.

Step 2

Add a new file called emulator in the place of the original file containing the following command (or using your DNS server of choice).

#!/bin/bash
$0-original "[email protected]" -dns-server 8.8.8.8

Step 3

Make the new emulator file executable.

chmod +x emulator

Step 4

Restart the emulator using Android Studio.

Solution 30

I've faced the very and suddenly same problem on my MAC. After having tried everything, I've finally deleted the folder /Users/Philippe/.android and create a new emulator.