[android-emulator] Android emulator shows nothing except black screen and adb devices shows "device offline"

I am just trying to start development in Android. So, the problem is that when I try to launch an emulator by issuing the command emulator @A2 , an emulator comes up on the screen. But even after waiting for as long as 2-3 hrs, all it shows is a black screen. Not even the android home screen or the android logo. Just a black screen. And while initially "adb devices" shows the emulator as offline.after 2-3 minutes the list of attached devices becomes blank.

I searched all over net and tried all the steps mentioned there like kill and restart adb, install java/android in a directory without spaces, but to no avail.

My Jdk and Android installations are in following folders:

C:\Java32BitInstallation C:\AndroidSdkInstallation Here's the list of stuff I have downloaded/installed for it:

  1. Android SDK Tools, revision 13
  2. Android SDK platforms tools, revision 10
  3. SDK platform Android 4.0.3, API 15, revsion 1
  4. Jdk jdk-7u3-windows-i586

In my path variable, I have added *C:\AndroidSdkInstallation\android-sdk\platform-tools\;C:\AndroidSdkInstallation\android-sdk\tools\;C:\Java32BitInstallation\;C:\Java32BitInstallation\bin*

Also after reading somewhere from net I have added JAVA_HOME variable with its value as C:\Java32BitInstallation\ But still no use.

I have both IntelliJ and Eclipse installed on my system. But since for starting the emulator, I am not using any of these, I dont suspect any foulplay with these.

So, can anyone please help me with this stuff that's driving me crazy. I am trying for past 10-12 days and have not been able to start the emulator, let alone write my first "Hello world" program.

Additional notes: My system is a windows 7 (64 bit) machine. Earlier I had installed 64 bit version of jdk, but the problem was present that time too. Now after searcching on internet, I uninstalled that and installed 32 bit version of Java. But, again no use. One thing, though, this 32 bit version of java (jdk 7 update 3), first install jre as part of jdk installation and then installs jre 7 . So now I have 2 folders: jre and jre7 in the C:\Java32BitInstallation directory. Could this have to do anthing with my emulator not turning up. Do I need to specify aditional environmetal variables or modify the existing one? Kindly help.

BTW, did I mention the logcat shows nothing.

This question is related to android-emulator

The answer is


I had the same problem. Here's my solution (for Mac OS). I just downgrade the version of the Android Emulator (from 28.0.3 to 27.3.8). Here is a detailed instruction how to do it.


I had the same problem on API 28, and the fix turned out to be as below;

Enabling Skia rendering for Android UI

When using images for API 27 or later, the emulator can render the Android UI with Skia, which can render more smoothly and efficiently.

To enable Skia rendering, use the following commands in adb shell:

su
setprop debug.hwui.renderer skiagl
stop
start

https://developer.android.com/studio/run/emulator-acceleration#accel-graphics


For a workaround try Android 4.0.3 (API 15) with the Intel Atom (x86) image. I could capture DDMS screenshots with both "use host gpu" and HAXM enabled. Only this combination worked for me.


Do factory reset in "Android Device Manager".

In newer versions of Android Studio, this is called "Wipe Data", and it is in the right-click menu for the device in the virtual device manager.


I had issues with getting the larger devices to emulate (Nexus7 and 10), while the phone sized emulators worked great. Would just keep getting a black screen with nothing for hours with the tablets. What helped was actually the OPPOSITE of what most people here are recommending: after setting the tick box for 'Use Host GPU' and setting the target to the highest android (4.4.2 at the time of this writing) the 7 and 10 work as expected!


Have you tried the power button :) ... it really worked for me. Actually emulator saves the device state before closing so at the last run if you switched off the device & closed the emulator then in the next run it will load previous state & display switched off phone aka blank screen. Although there might be many other causes of this issue.

enter image description here


I too got the same problem. When i changed the Eclipse from EE to Eclipse Classic it worked fine. in Win professional 64Bit. Have a try it may work for you too..


I was having this problem after I got the blue screen of death while running my emulator. Here's my solution (for Windows at least). My solution is too completely re-install the AVD. The problem with the normal un-installation process for Android Studio is that it doesn't remove everything, so if your AVD files are corrupted, they will remain corrupted on re-install.

In order to fix this, I deleted two directories:

C:\Users\(My Username)\.Android

and

C:\Users\(My Username)\.AndroidStudio3.1

Then I re-ran in the installer.

I think this is the most foolproof solution if your emulator was previously working because it forces a complete refresh of the AVD component of Android Studio.


Checking "Wipe user data" in the Launch Options fixed it for me.

Go to Android Virtual Device Manager->Select your device->Start->Check "Wipe user data"->Launch


Just try to set CPU/ABI on "Intel Atom (x86)" and deactivate the checkbox "Use Host GPU".


Another source of error could be the length of the PATH system variable (on Windows systems). Running intel based images with a PATH variable longer than 2047 characters, seems to pass an empty value of this variable to the console / emulator, so it cannot start correctly.

Here is an article describing this behaviour: https://software.intel.com/en-us/articles/limitation-to-the-length-of-the-system-path-variable

I had the same problem. Reducing the total length of this system variable to 1354 chars by removing unused / non-existent paths fixed it for me.


Update 25.07.2018:

The latest Android Studio version does not have this option anymore. If the problem persists try to switch between the values of the "Emulated Performance" dropdown in the Verify Configuration dialogue (if available) or refer to the Configure Emulator graphics rendering and hardware acceleration.

Update 26.02.2014:

There are two hints in the Configuring Graphics Acceleration chapter from developer.android.com.

Caution: As of SDK Tools Revision 17, the graphics acceleration feature for the emulator is experimental; be alert for incompatibilities and errors when using this feature.

and

Start the AVD Manager and create a new AVD with the Target value of Android 4.0.3 (API Level 15), revision 3 or higher.

So Android 4.0.3 (API Level 15) seems to be the minimum requirement for graphics acceleration.

Original answer

I have had the same issue with the latest Android SDK.

I simply deactivated the checkbox "Use Host GPU" within the settings of the virtual device and it started working again.

The "Use Host GPU" does only work for me with Android 4.2 as "Target".


Also faced this issue, tried most answers, none help. Finally, the following actions helped me:

  1. Uninstall HAXM in SDK tools
  2. Reinstall HAXM
  3. Reboot PC
  4. Wipe VD data
  5. Cold boot VD

Not sure if it helps you, just for a reference.


Had this issue on my Nexus 7,Nexus 10 & Pixel as well that means in all the emulators.

After days of struggling with this issue, I figured it out finally. Well, there are a lot of answers above which may work or may not for you because their configuration may vary slightly than yours.

I'll tell you my solution:

When creating those emulators, I checked Hardware - GLES 2.0 in Graphics for better performance. And for me it was the issue.

If you've done the same then,

Go to AVD Manager -> Select your emulator -> Click on Edit configuration (in Actions column marked as pencil) -> in Emulated performance - Graphics -> Select Software - GLES 2.0.

Then click on Show Advanced Settings -> Set none for both Front and Back camera and hit Finish.

Now select your emulator in AVD Manager and click on Dropdown arrow in Actions column -> select Cold Boot Now.

And yay you're ready to go


Make sure that you've installed the latest HAXM revision. I had the same blank screen problem with version 1.0.1 while 1.0.8 was already available. The installer can be downloaded via the SDK tools, to actually install the module you would have to execute

android-sdk-directory\extras\intel\Hardware_Accelerated_Execution_Manager\intelhaxm.exe


How i solved the issue.. Open AVD manager, CLick on the drop-down arrow:

select >> wipe data after that u can select >> cold boot now..

It worked for me enter image description here


For me, I had to turned off both front and back camera. Hope this helps!


I also had the same problem. I figured out that the HAXM hardware accelerator was recently updated but not reinstalled since the update manager just updates the installer package which get saved to your hard drive. You will need to remove HAXM and then run that installer package to complete the update. Usualy this gets installed into ANDROID-SDK-ROOT\android-sdk\extras\intel\Hardware_Accelerated_Execution_Manager. Where ANDROID-SDK-ROOT is the location where your android sdk is located.


I have recently the same issue in emulator, Nexus 5 (Android O). I have go to Android Virtual Device Manager and Wipe User Data and it solved my Problem.

Android Virtual Device Manager


I use Microsoft's lightning fast Android Emulators utilizing Hyper-V, and I had the same black screen for every Android emulator that I created no matter how I set the GPU Mode (auto, host, mesa, angle, swiftshader, off). Though my situation is apparently different form that of the OP, I thought it might be useful for those using Microsoft Android emulators and coming here after searching "android emulator black screen".

The solution in my case is updating all the Android tools:

   Visual Studio > Tools > Android > Android SDK Manager > Tools

As of today (2019-02-01), Android emulators would have this black screen problem if you have a fresh install of Visual Studio 2017. VS shows notifications automatically for updates of NuGet packages, extension tools, etc., but NOT for Android tool updates. You have to check and update them manually.


I was having this issue on my Mac. When you create the device if you change "Graphics" from "Automatic" to "Software" it fixes the issue, or it least it did for me.


Here is how i got it solved : I ran the emulator with following command :

sudo /home/code/Android/Sdk/tools/emulator -avd Nexus_S_API_21 -netspeed full -netdelay none -debug-init -logcat '*:v'

and received the following in the output :

NAND: could not write file /tmp/android-code/TMP7.tmp, No space left on device. (similar error, could not reproduce it)

So, i just freed up some disk space from my /home directory in ubuntu (for windows free the C: drive space) and it then booted smoothly.


I had the same problem in win10 64bit, too. After a lot of searching, I found this solution.(If you're using an intel system(CPU, GPU, Motherboard, etc.)) Hope it work for you, too.

step 1: Make sure virtualization is enabled on your device:

Reboot your computer and then press F2 for BIOS setup. You should find Virtualization tag and make sure it is marked as enabled. If it's not enabled, no virtual devices can run on your device.

step 2: Install/Update Intel Hardware Accelerated Execution Manager(Intel HAXM) on your device:

This software should be installed or updated for any AVDs to run. You can download the latest version by googling "HAXM". After download, install .exe file and reboot your computer.


I've managed to launch and debug an Android testing application on the Android emulator through Delphi.

I have Windows 7 64 bit, 4GB RAM, a dual core processor at 3GHz and Delphi XE 5.

Below is a link that I've prepared in a hurry for my colleagues at work but I will make it better by the first chance:

Debug Android Apps with Delphi

Forgive my English language but I am not a native English speaker. I hope you will find this small tutorial


By the sound of it you have a misconfigured device. If you do it will never start and never show anything in Logcat.

I'd recommend creating a new device using one of the default "Device Definitions" available in the AVD Manager. It's as easy as highlighting the device type you want in the "Device Definitions" tab and clicking the "Create AVD..." button, then filling out a few details. I'd start by adjusting "Internal Storage" to around 8GB and (maybe) an "SD Card" of 2GB while leaving everything else the same. Try starting the device and if you see "Android" pop up onscreen you're running. The first boot usually takes awhile so just hang on and watch Logcat for any issues (the "DDMS" perspective helps here).

If you still see a black screen with a default device definition you've got problems elsewhere that are causing the device to fail. Digging through logs may be your only chance if that's the case. You can always try re-downloading the ADT and re-installing the SDKs if nothing else works.

The goal here is to get you up and running with a (very) basic device, so don't shoot for uber impressive specs at this point, just shoot for trying to make it run. Once that happens try adjusting the settings one-by-one until you have it spec'd out the way you like. Just keep in mind that the emulator has its limitations and its no substitute for a real device (Although it works most of the time ;)


This is a known bug if you selected "Use host GPU" option while creating AVD. https://code.google.com/p/android/issues/detail?id=28614
Uncheck the option and it should work!


The following fix worked for me:

  1. Locate the AVD folder in ~/.android/avd
  2. Open config.ini
  3. Replace the following settings with these values:

    hw.gpu.enabled=yes
    hw.gpu.mode=on
    
  4. Save and close the file
  5. Do not open the AVD settings screen within Android Studio or it will revert the above settings
  6. Start the emulator

Thanks to Sunsugh Park for providing the fix.

I have reported this to Google at Black screen starting API 15. Please star the issue to get them to fix it.

Edit

Actually, while the emulator booted ok, it crashed after opening an app. So the emulator team must have disabled hardware graphics for a reason. Unfortunately, it appears to be impossible to get the emulator to work.


The Problems associated with the Black window of the emulator:

Happens when a new windows is installed. Problem associated with graphics of the windows is on the CD of windows .You have to Update windows and follow the following steps.

If Emulated Performance Graphics is (Software GLES then select it to-->Automatic)

Or If Emulated Performance Graphics is (Automatic then select it to-->Software GLES)

this alternation can solve this problem.


Also had this issue out of the blue. Android studio was taking up 100% of CPU and in expo I had the following error:

Couldn't start project on Android: Error running adb: This computer is not authorized to debug the device. Please follow the instructions here to enable USB debugging: https://developer.android.com/studio/run/device.html#developer-device-options. If you are using Genymotion go to Settings -> ADB, select "Use custom Android SDK tools", and point it at your Android SDK directory.

Cold boot fixed it for me, like boltup_im_coding's answer. You can also cold boot this way if it's already running (with the black screen).

enter image description here


.

I had faced the same problem.By selecting wipe data worked for me.


Mac Users: Unfortunately, if you have an older Mac (late 2009 for example) and are using Yosemite, you cannot use HAXM for 64 bit architecture. According to the release notes on HAXM:

HAXM driver does not support emulating a 64 bit system image on Intel systems based on Core microarchitecture (Core, Core2 Duo etc.). All systems based on Nehalem and beyond are supported. (Corei3, Core i5 and Core i7 machines).

I spent a day trying to figure this problem out when I came upon this quote. The only thing that works is to use the non-x86 version of the latest OS (e.g. Lollipop Android 5.0.1 armeabi-v7a) in your AVD


I changed it to always "cold boot" to fix my problem. Prior to this, when I ran adb devices it always showed as offline.

Cold boot screenshot