219

I have wasted a whole day trying out different solutions floating around in SO and other place mentioned to enable wifi on the android emulator but to no avail. Can anybody help me figure out how do I enable internet on my android emulator?

I have Nexus 5X API 27 and target being Android 8.1 (Google Play) and Nexus 5 API P and target being Android 7.1.1.

I believe there should be a way to enable internet on it or else the whole point of providing virtual wifi on the emulator seems to be waste.

I am on mac OS HS 10.13.4 directly connected to my router with no proxy.

I even tried deleting all the AVDs, re-installing them. I even tried having installed the latest Pixel 2 with Oreo Android 8.1

Nothing seems to be working. Has anybody faced this issue and found a solution?

Any help would be of great help

Thanks, Vikram

Update: When I connect my computer through my phone as hotspot wifi, the emulator has internet through wifi, but it fails when I connect my computer to my home router.

Raman Sahasi
  • 30,180
  • 9
  • 58
  • 71
Vikram Mahishi
  • 2,871
  • 3
  • 15
  • 19
  • doesn't it have already enabled? –  Jun 03 '18 at 20:36
  • I have the very same issue. It works through my phone hotspot but not through my router. What kind of router do you have? Everything used to work fine before when I had an AVM router but now I have a Telekom Speedport router and it won't work anymore. – TheBaj Jun 05 '18 at 15:42
  • 1
    @TheBaj : The kind of router might not be the problem here or may be but i don't know. Try the solution below which worked for me. – Vikram Mahishi Jun 05 '18 at 18:05
  • 2
    @VikramMahishi just update your android sdk's emulator. It's working for me. – Zala Janaksinh Dec 31 '18 at 10:40
  • https://stackoverflow.com/questions/42736038/android-emulator-not-able-to-access-the-internet – Ramdhas Aug 07 '19 at 06:49
  • 2021 - Google/Android still unable to create emulator capable of connecting to the internet – RunLoop Jul 19 '21 at 13:23
  • First of all try rebooting (rebooting the system) the emulator manually. – FJCG Apr 08 '22 at 18:38

40 Answers40

308

Stated below are the solutions for Windows and Mac, but similar solutions will work on any OS:

  1. On Windows

    • Open Network and Sharing Center and click on current Connection
    • Click on Properties
    • Double Click on Internet Protocol Version 4 (TCP/IPv4)
    • Set the Preferred and Alternate DNS servers as (Screenshot below) :

      8.8.8.8
      8.8.4.4
      
  2. On Mac

    • Go to Settings > Network > Advanced... > DNS
    • Delete whatever entries you have there and add these two entries (Screenshot below):

      8.8.8.8
      8.8.4.4
      

      Note: For Mac users, if the entries field is disabled and you're not able to edit it, click on the 'Lock' icon in the bottom area of that window and enter the password to be able to make changes

Restart the emulator, and it should solve:

Screenshots:

  1. Windows

Android emulator not connecting to internet solution on windows

  1. Mac

Android emulator not connecting to internet solution on a mac


Edit: This is the fix for a situation when the emulator's wifi has changed the DNS to some non-working DNS. While this works most of the time, there might also be other reasons which may not fix from this solution.

Raman Sahasi
  • 30,180
  • 9
  • 58
  • 71
  • run into this using android 8 Oreo emulators (AVDs) on android studio. either cli flag and system wide dns change fixed it. – Thom Feb 18 '19 at 21:49
  • N.B. It is mandatory to shut-down and then restart the emulator. If you restart emulator from android settings, it won't work – gianlucaparadise Jul 07 '19 at 12:50
  • 7
    This, and a cold boot of the AVD fixed it – ben_joseph May 13 '20 at 06:55
  • 2
    Actually, entering any valid *public* DNS server address should work, no need to use Google DNS specifically. By default it's often your router's address which is set as the DNS (or none, which on most system falls back to your router). Your router then will figure out the correct DNS as per its config. However this does not work for the emulator as the emulator can't directly connect to your router or use it as DNS I suppose. Therefore the need for a static public DNS IP. – ubuntudroid Jul 16 '20 at 11:19
  • the first time this didn't work. Just worked after enabled and disabled airplane mode. After doing that is like it reboots everything and it began working – Jorge Casariego Oct 11 '20 at 19:31
  • 1
    Yeap! It's mandatory to shut down the emulator. Thanks for the solution – Christian Mora Feb 16 '21 at 17:32
  • 1
    After switching off and starting up the emulator again, it worked for me. – matthias_b_nz Mar 29 '21 at 23:03
  • 1
    Worked for me too. Thank you! – petrrr33 Jul 21 '23 at 11:28
200

My solution using Mac OSX 10.13

I read about it being caused by LAN card and WiFi being enabled, and some approaches seemed complicated to me, so I simply tried this, and it worked:

  • Disabled WiFi on my laptop.
  • Switched off the emulator.
  • Did a cold boot on the emulator (AVD Manager -> on emulator actions -> Cold Boot Now).
  • After reboot with laptop WiFi disabled the emulator showed proper WiFi connection (emulator still shows AndroidWifi but is connected to my laptop internet. WiFi symbol now look like this: WiFi symbol connected)
  • I then enabled WiFi on my laptop and everything worked.
Juangui Jordán
  • 6,091
  • 2
  • 35
  • 31
  • 3
    This worked and I did a "wipe data" before "cold boot" and had to configure WiFi in the emulator, there was a notification when swiping down on the home screen. – Manuel Aug 16 '19 at 01:34
  • 9
    Worked for me! I just did a cold boot with wifi disabled and it worked just fine. – Hasen Aug 22 '19 at 11:16
  • 4
    Amazing!!! Thanks!!! But for me - I had to disable and enable Wi-fi on emulator too. – James May 14 '20 at 13:54
  • 5
    This is a much better solution than modifying global DNS settings on your computer. – Tyler Wood Nov 02 '20 at 15:48
  • @StephanBakkelundValois in early 2021, it worked for me, too, except that I didn’t have to do a cold boot. I just turned off my laptop's connection, restarted the emulator, then connected to the AndroidWifi network, and the internet access worked again. – Pine Code Feb 09 '21 at 11:02
  • 2
    After countless hours scouring the internet for the workable solution and to no avail, a cold boot with WiFi OFF is all it takes. – yansusanto Sep 25 '21 at 13:45
  • I wiped the data first but it worked – Samuel Jun 19 '22 at 20:22
  • Worked in mid 2023 AS Flamingo | 2022.2.1 Patch 1, thanks – DH28 May 16 '23 at 14:33
  • 1
    I logged-in to my personal Stack Overflow account from my work computer just to upvote this answer and the comments of it. This killed more than an hour of my time out of nowhere. – dell116 Aug 23 '23 at 21:45
171

It doesn't matter if you are using Windows or MAC, you do not have to change your local PC network settings!

The older answers to this problem no longer work after 2020 (Using Android Studio 4.1.2 or newer). The problem is the DNS settings on the Emulator. It no longer works to just change the DNS Servers on your local PC. You have to change the DNS settings within the Emulator. The following steps are for an emulator running Android 11. Other versions will be similar:

  1. Open the Extended controls dialog that opens up to the right of the emulator. Click on Settings on the dialog menu. Click on Proxy at the top and make sure Use Android Studio Http proxy settings IS CHECKED. I emphasize this because many of the previous solutions said to uncheck this. However, on the latest versions, it works better to keep this checked. If it wasn't already checked, restart the emulator before proceeding Step 2. (NOTE: If your version doesn't show the Proxy Settings, then you can skip this step. We just want to make sure the Proxy settings are changed back to the default settings.)
  2. Navigate to the WiFi connection settings within the emulator: Home Screen -> Swipe up -> Settings -> Network & Internet -> WiFi AndroidWifi -> click gear icon -> click Advanced dropdown near bottom of screen -> Swipe up to view to view Network Details.
  3. What does it say for DNS. If it is NOT 8.8.8.8, follow this to fix. Write down (or remember) the IP address and Gateway address displayed there in the network settings. We need those IP addresses to fill in as static.
  4. Click the pencil icon on the top to edit the Network details. Click the IP settings dropdown and change it to Static. Then enter the IP address and Gateway that you wrote down in step 2. Make sure DNS 1 is 8.8.8.8 and DNS 2 is 8.8.4.4. These filled in automatically for me.
  5. Close the emulator and restart it using the Cold Boot Now option.

This fixed it for me after I unsuccessfully tried all the other solutions found on this page and many others. I hope it works for you.

hippietrail
  • 15,848
  • 18
  • 99
  • 158
ideaztech
  • 1,916
  • 1
  • 11
  • 12
47

@TheBaj : I figured the problem with this and fixed it. The problem is when you are connected through the router, the androidwifi in your emulator uses the settings and the sets the DNS to something other than 8.8.8.8 which is the google DNS(I presume this is kinda mandatory setting for the androidwifi to gain internet access). But if i change the DNS in my network settings, the google-services plugin which fetches your dependencies especially the one's getting downloaded from jcenter() will not be downloaded and hence your sync will fail which eventually fails your build.

So the trick is that you have your google DNS(8.8.8.8) configured in your network settings after your default router settings - this part takes care of downloading the dependencies from jcenter() and the sync and build succeeds.

Now launch your emulator with emulator @Nexus_5X_API_27 -dns-server 8.8.8.8 command from the terminal which forces the emulator to use 8.8.8.8 as its DNS and the emulator will have internet.

I am working on a react-native app, so for me android studio is needless and i have configured my bashrc to launch the different emulators as follows,

   function emunex5 {
    emulator @Nexus_5X_API_27 -dns-server 8.8.8.8
 }

  function emunex6 {
    emulator @Nexus_6_API_27 -dns-server 8.8.8.8
  }

  function emupix {
    emulator @Pixel_XL_API_27 -dns-server 8.8.8.8
   }

So from one terminal i launch the emulator of my choice and then run the build on another terminal which runs my app on the launched emulator and MY FREAKING EMULATOR HAS INTERNET ACCESS. :)

Try this out and i hope this helps.

Thanks, Vikram

Vikram Mahishi
  • 2,871
  • 3
  • 15
  • 19
29

On macOS:

  1. Open Network in System Preferences.
  2. Select your current network from left side then click Advanced....
  3. Change Configure IPv6(under TCP/IP tab) from Automatically to Link-local only.
  4. Restart your emulator.
Vincent Sit
  • 2,214
  • 1
  • 24
  • 27
22

Solution for Windows:

  1. Go to your Android SDK Location, E.g.: C:\Users\shehzad\AppData\Local\Android\Sdk\emulator.
  2. Open Command Prompt on same location. Write this command: emulator -avd Nexus_4_API_29 -gpu host -dns-server 8.8.8.8. Here Nexus_4_API_29 will be your emulator device name (You can find it out devices list from Android Studio -> AVD Manager). This command will run your specified device and WIFI will have Internet connected.

Hope this helps.

Shehzad Osama
  • 1,222
  • 12
  • 13
15

My environment is Android Studio 4.2.0 in Mac 11.3.1 Big Sur

Step 0. I close all of my emulator, and close Android Studio too .

Step 1. Then I open Android Studio. AVD Manager -> Cold Boot Now enter image description here

Step 2. Close Wifi on emulator. Then LTE can work enter image description here

Step 3. (Optional) By the way, My DNS setting of my mac Network is enter image description here

If step0 -> step 1 -> step 2 is not work, you can set DNS like step 3. and then go through Step0 -> Step1 -> Step2 again.

And it will work.

Milo Chen
  • 3,617
  • 4
  • 20
  • 36
14

I was having the same issue and following the below steps resolved it.

Steps:

  1. Go to Emulator Settings
  2. Select Proxy Tab
  3. Then check the "Use Android Studio HTTP proxy settings" option
  4. Click Apply

Praneeth
  • 627
  • 8
  • 11
13

On Mac OSX (Catalina for me), the problem is caused by the fact that the emulator automatically picks up the nameserver by looking at /etc/resolv.conf and picking the first one, in my case an IPv6 address. Source: https://developer.android.com/studio/run/emulator-networking#dns

Simply edit the file (sudo vi /etc/resolv.conf) and move the IPv4 address (192.168.1.1 in my case) to be first, before the IPv6 addresses. Seriously, that was it.

11

I have solved with google dns on network adapter 8.8.8.8 and 8.8.4.4

Android Emulator wifi connected with no internet solution for windows

Raman Sahasi
  • 30,180
  • 9
  • 58
  • 71
Marcus J.Kennedy
  • 680
  • 5
  • 22
10

Wipe data by right clicking on virtual device list & cold boot works for me..

indrakula
  • 113
  • 1
  • 5
9

Well, I did it this way:

Steps to add manual proxy:

  1. Go to Emulator settings
  2. Go to Proxy tab
  3. Set Manual proxy configuration
  4. Add your Host name & Port number
  5. Click on Apply

Reference screen shot:

enter image description here

Hope it helps.

Hiren Patel
  • 52,124
  • 21
  • 173
  • 151
9

100% Working on Windows 10

Android AVD come with Google DSN configured inside emulators. So we need to set same to network sharing for accessing same.

Google Public DNS IP addresses The Google Public DNS IP addresses (IPv4) are as follows:

8.8.8.8

8.8.4.4

The Google Public DNS IPv6 addresses are as follows:

2001:4860:4860::8888 2001:4860:4860::8844 You can use either address as your primary or secondary DNS server.

More Info

Here I show for setting v4 IP steps

  1. Open Network and Sharing Center
  2. Right Click on current internet connection
  3. Select Properties
  4. Double Click on Internet Protocol Version 4 (TCP/IPv4)
  5. Select Use the following DNS server address
  6. Set the Preferred and Alternate DNS server
  7. Prefered DNS Server : 8.8.8.8
  8. Alternate DNS Server : 8.8.4.4
  9. Click on OK
  10. Restart Android AVD

Note : If VPN is enabled then it will not work need to disconnect your VPN

More info on Google DSN

Vinayak
  • 6,056
  • 1
  • 32
  • 30
8

On Windows :

After testing some solutions, I worked on my case by clicking the down arrow on the AVD, option "Cold Boot Now". after booting, Android has access to the internet.

Hamid Shoja
  • 3,838
  • 4
  • 30
  • 45
6

Maybe this would help someone. I tried all the solutions above. Changing DNS, cold booting, etc. After several hours of trial and error, I went to the official docs, which said that the emulator picks up the DNS config. of host machine at emulator's boot time. I had VMWare installed on my machine, which installs a few network adapters. So, I just changed the DNS config. of all the adapters (including VMWare adapters), and cold booted my emulator. OMG, the problem which didn't seem to go away for hours, just got right!

Now, what I find odd is, I switched back the DNS config. of all the adapters to auto, and cold booted my emulator again. The WiFi still works just fine. OS: Windows 10.

6

If you have any VPN connected - try disconnecting it.

For me it was VPN through Cisco AnyConnect Secure Mobility Client. Once I've closed the Cisco client (which terminates the VPN connection), WiFi on Android emulator started working.

Adomas
  • 466
  • 1
  • 8
  • 21
  • I also have this VPN. In my case I first disconnect the VPN, then restart an emulator ("Cold Boot Now"). Then the emulator connects to the Internet. After that connect to the VPN again, and the emulator continues to work. – CoolMind Jun 03 '21 at 13:05
  • Also it depends on the VPN URL. An emulator working over "Cisco AnyConnect Secure Mobility Client" may or may not connect to the Internet with different VPN URLs. – CoolMind Jun 07 '21 at 07:15
  • @CoolMind Does it work ? I am facing the same issue but the approach you mentioned does not work for me :-( – Rakesh L Jul 20 '21 at 06:21
  • @RakeshL, I have 2 different URLS from two companies. First connects to their resources and other URLs, but an emulator doesn't connect. Second connects to their resources (Git) and other, but the emulator connects to any URL. Strange. If you try to start an emulator before connecting to VPN, will it work? – CoolMind Jul 20 '21 at 07:06
  • @CoolMind Before connecting to VPN, the Internet is connected. But without VPN , it is getting disconnected. – Rakesh L Jul 20 '21 at 08:12
  • @RakeshL, today my VPN hasn't allowed a connection. In this case I launched an emulator with Google DNS, see https://stackoverflow.com/a/42784657/2914140. – CoolMind Sep 15 '21 at 17:39
6

I hope I save someone a lot of pain, I tried everything everyone said on here, changed the DNS of every network adapter, reinstalled everything, the SDK, the emulator, even android studio, nothing worked, if you find yourself in the same position check if you VMware installed, if you do, don't bother with the DNS just go into Control Panel->Network and Sharing Center->Change Adapter Settings, and disable any and all VMware Network Adapters, then Cold Boot, fixes the issue instantly, you can even enable them later, and it still works

iamnik
  • 61
  • 1
  • 2
6

There are 2 ways to fix this bug.

  1. You should turn off android emulator and [cold boot] again. If the first method doesn't work ...
  2. You should turn on [Plane Mode] (on top menu of screen) and after a sec turn off again. Then Wi-Fi will connect to the internet.
Gabriel Aoki
  • 331
  • 1
  • 5
  • 16
4

A simple cold boot worked for me, no need to start other emulators or wiping memory.

Just close your emulator and select the "Cold Boot Now" option on the drop menu adjacent to the play button. If not look for any of the more comprehensive options listed here, but I suggest always starting with the simplest solution.

Good luck!

3

What worked for me:

  • Power off the emulator (using its power key)
  • Start your app on ANOTHER emulator and then close it.
  • Now start your app in previous emulator again.
M. Usman Khan
  • 3,689
  • 1
  • 59
  • 69
3

Solution for issue on Apple M1:

  1. Install one of the newest canary versions of Android Studio. Use the MAC ARM version (Apple Silicon).
  2. When creating a new virtual device use API Level S and arm64 virtual image. (could be found in other images)

Here is the link for the android studio releases list: https://developer.android.com/studio/archive

(Worked for me)

3

I tried all of these solutions with no results. I am using Windows 10 OS

What finally worked for me was:

1. Closing all instances of AVD devices

2. Navigating to:

C:\Users\userName\AppData\Local\Android\Sdk\emulator

3. Then entering the following command:

.\emulator.exe -avd avd_device_name -dns-server 8.8.8.8
server_unknown
  • 407
  • 2
  • 17
2

If the wifi spot has changed, simple restart the emulator so the emulator refresh network settings from dhcp service.

MiguelSlv
  • 14,067
  • 15
  • 102
  • 169
2

Resetting Network Settings on Android Emulator fixes this issue.

2

For new searcher users: Sometimes VPN is your solution Changing of network setting is not possible always because of networking issues. If you are in ip addresses that google does not responding for these regions,your solution is using of vpn.Use a proper vpn (a vpn that trough it you could update your android studio).When your vpn is on start your avd device (ofcourse api level of your emulator is important for example I have not any problem with api 22 but for api 28 is need using of vpn !).This was my experience about android emulator internet.

maniaq
  • 185
  • 1
  • 11
2

Change the location of the emulator and set it to your current location.

  • Steps : -

    1. Click on More in emulator options
    2. Go to location
    3. Search your address and click SET LOCATION
Gagan Raghunath
  • 1,673
  • 1
  • 8
  • 5
2

I had the same issue - in the emulator I was connected to the wifi/lte but I couldn't access any website.

The solution for me was to fix the IP of my home DNS server:

$ cat /etc/resolv.conf 
search home
nameserver 192.168.1.1 #was 192.168.0.1 - it used to work when I was connected to a different router
nameserver 1.1.1.1
nameserver 1.0.0.1

you don't really need to use google dns

eeqk
  • 3,492
  • 1
  • 15
  • 22
2

If anyone quick fix:

Step 1: Go to AVD Manager

Step 2: Stop the device

Step 3: Run Android Studio project

Faisal Shaikh
  • 3,900
  • 5
  • 40
  • 77
2

Under Extended Controls ( which can be enabled by pressing the more button (3 dots ... ) at bottom.

Then under Proxy tab, Select no proxy.

naheed.shamim
  • 340
  • 2
  • 11
2

After doing these steps make sure you don't have any VPN software active.

Open Network and Sharing Center

Right Click on current internet connection

Select Properties

Double Click on Internet Protocol Version 4 (TCP/IPv4)

Select Use the following DNS server address

Set the Preferred and Alternate DNS server

Prefered DNS Server : 8.8.8.8

Alternate DNS Server : 8.8.4.4

Click on OK

Restart Android AVD
1

Maybe try using LAN if available. That works as a charm for me...

1

I had a similar problem that was kind of weird. The emulator used to work just fine but then I went to a cafe and connected to their wifi then the emulator wifi stopped working. I wiped the data made cold boot from the AVD manager then everything worked without any change in settings. I guess cold boot only would have worked without wiping data so you might try that before wiping the data.

Tysseer
  • 31
  • 1
  • 5
1

On Android Studio 4.2, I was experience this issue where both Emulator Wifi/LTE was connected but no internet.

Solutions that did NOT work for me: Turning Wifi on and off, setting location/proxy, cold booting, wiping data, VPN, etc. None of the other solutions were working.

Solution that worked for me: Upgrading to Android Studio 4.2.1 and rebooting emulator.

bboyairwreck
  • 331
  • 3
  • 6
1

None of this worked for me then I turned on "Mobile HotSpot" on windows. It exists on Taskbar next to "Airplane Mode". Everything started working.

GOKU
  • 430
  • 1
  • 4
  • 20
1

I tried all the above in WINDOWS 11 system without results. Finally i ran the check disk - chkdsk c: /f /r - and after PC restart i recreated the device. And it's finally worked.

bazzil
  • 21
  • 1
1

My situation is I have internet connection in browser but not in Google map/Google play store. So I try to disable my VPN. Then it solve this issue and my emulator network is active

Aldy
  • 2,743
  • 2
  • 12
  • 17
0

This may not solve everyone's problem but I disconnected my wifi and used the Ethernet connection. This resolved my issue.

Jayowl
  • 280
  • 3
  • 11
0

Try disabling your antivirus and then restart your emulator that helped in my case.

  • Probably not safe approach to disable antivirus, why to have it on the first place? Maybe in your case antivirus was blocking some ports. – Myroslav Mar 16 '22 at 12:30
0

Just restarting the android studio resolved the issue.

0

What worked for me in mac was going to

File > Restart IDE 
mangu23
  • 884
  • 9
  • 13