Android仿真器仅显示黑屏,而adb设备显示“设备离线”


183

我只是想开始在Android中进行开发。因此,问题是当我尝试通过发出命令emulator @ A2来启动仿真器时,屏幕上会出现一个仿真器。但是即使等待了2-3个小时,它所显示的仍然是黑屏。甚至没有android主屏幕或android徽标。只是黑屏。最初,“ adb设备”将模拟器显示为脱机。2-3分钟后,连接的设备列表变为空白。

我在网上搜索并尝试了提到的所有步骤,如kill and restart adb,在没有空格的目录中安装java / android,但无济于事。

我的Jdk和Android安装位于以下文件夹中:

C:\ Java32BitInstallation C:\ AndroidSdkInstallation这是我为其下载/安装的内容的列表:

  1. Android SDK工具,修订版13
  2. Android SDK平台工具,修订版10
  3. SDK平台Android 4.0.3,API 15,版本1
  4. JDK JDK-7U3-Windows-i586

在我的路径变量中,我添加了* C:\ AndroidSdkInstallation \ android-sdk \ platform-tools \; C:\ AndroidSdkInstallation \ android-sdk \ tools \; C:\ Java32BitInstallation \; C:\ Java32BitInstallation \ bin *

另外,从网络上读取某处后,我添加了JAVA_HOME变量,其值为C:\ Java32BitInstallation \,但仍然没有用。

我的系统上同时安装了IntelliJ和Eclipse。但是由于启动仿真器后,我没有使用这些工具中的任何一个,因此我不怀疑这些工具有任何玩法。

所以,任何人都可以帮我这个疯狂的事情。我已经尝试了10到12天,但无法启动模拟器,更不用说编写我的第一个“ Hello world”程序了。

附加说明:我的系统是Windows 7(64位)计算机。之前我已经安装了64位版本的jdk,但是那个时候也出现了问题。现在在Internet上搜索后,我将其卸载并安装了32位版本的Java。但是,再次没有用。但是,此32位版本的Java(jdk 7更新3)是,首先安装jre作为jdk安装的一部分,然后再安装jre 7。所以现在我在C:\ Java32BitInstallation目录中有2个文件夹:jre和jre7。这可能与我的模拟器没有启动有关吗?我是否需要指定其他环境变量或修改现有变量?请帮助。

顺便说一句,我是否提到logcat没有显示任何内容。


3
我不知道您是否能够解决此问题。最近我有同样的问题。尝试使用运行模拟器emulator -debug-init -logcat '*:v'。这可能会导致您找到根本原因。我的服务管理器出现故障。看来我已经删除了一些ServiceManager文件。
Markus 2012年

1
我在模拟器上运行程序时遇到黑屏。授予您的问题听起来像是avd安装问题,我只想让其他人知道内存泄漏也可能导致黑屏。在删除avd,重新启动logcat并重新运行模拟器之前,我的logcat并未显示垃圾收集器GC_MESSAGE。希望这可以帮助某人,因为这不是我的问题,我只是在删除和重新创建AVD时花了很多时间。.:-/
cjayem13 2014年

请在下面的链接中查看。对我来说很好。 stackoverflow.com/questions/23509626/…–
Android

1
@Markus“模拟器”命令在哪里工作?不在平台工具中
Shirish Herwade '16

1
@FabioR:在Mac上,您可以按Command + Option + Escape,选择qemu-system-i386强制退出。等效方法也应在其他OS上工作。
ccpizza

Answers:


136

我在最新的Android SDK中遇到了相同的问题。我只是取消了虚拟设备设置中的“使用主机GPU”复选框,它再次开始工作。

“使用主机GPU”仅适用于Android 4.2作为“目标”的情况。

2014年2月26日更新:

developer.android.com 的“ 配置图形加速”一章中有两个提示。

注意:从SDK Tools修订版17开始,仿真器的图形加速功能处于试验阶段;使用此功能时,请注意不兼容和错误。

启动AVD Manager,并使用Android 4.0.3(API级别15)修订版3或更高版本的目标值创建新的AVD。

因此,Android 4.0.3(API级别15)似乎是图形加速的最低要求。

更新25.07.2018:

最新的Android Studio版本不再具有此选项。如果问题仍然存在,请尝试在“ 验证配置”对话框中的“仿真性能”下拉列表值之间进行切换(如果可用),或者参考“ 配置仿真器图形渲染和硬件加速”


2
好的,我知道了。我不得不用我的SDK管理器更新一些东西。不幸的是,我无法确切告诉您哪个更新是正确的更新,但是我想它与处理器仿真器有关。
muetzenflo 2013年

1
谢谢!连续几天遇到相同的问题,无法解决!
cvocvo

89
对我来说是相反的-我必须打开“ HOST GPU”才能使它工作。唯一的问题是我无法在该模式下截图:/
Elad Avron

3
主机GPU需要在Ubuntu 12.04和android sdk 19上为我开启
JohanBjäreholt2014年

2
在Android Studio 3.4(Linux,Windows 10)中打开gpu模式后,Android 4.0.3模拟器才能工作。您无法在“验证配置”对话框中更改选项。无论您在“仿真性能”中选择了什么,它都会强制关闭gpu模式。因此,直接更改config.ini。hw.gpu.enabled =是,hw.gpu.mode = on。配置文件通常位于/ user文件夹/.android/avd/emulator name.avd /中。
Sungsuh Park

82

我无法让大型设备进行仿真(Nexus7和10),而手机大小的仿真器却表现出色。平板电脑在数小时内将一直保持黑屏,什么也没有。实际上,这是大多数人建议的相反的建议:设置“使用主机GPU”的复选框并设置目标为最高Android(在撰写本文时为4.4.2)后,7和10的工作方式为预期!


17
这对我也有用。确保已选中“使用主机GPU”,并将目标设置为Android 4.4.2。
R Brill 2014年

1
谢谢。我勾选了选项,并且4.2.2开始工作!我相信其他人也提到了。多么愚蠢的Java世界!
JQ。

正是我所需要的。谢谢!
TheXenocide 2014年

不论是否选中了“使用主机GPU”,API级别14都不适合我。API级别17已与“使用主机GPU”一起使用。
vishvAs vAsuki 2015年

这也对我有用,我在2015年初的MacBook上没有任何独立的图形卡。
Simon Stender Boisen


30

在启动选项中选中“擦除用户数据”已为我修复了该问题。

转到Android虚拟设备管理器->选择您的设备->开始->检查“擦除用户数据”->启动


1
在通过团队查看器运行模拟器的Mac上,这对我有用。在Android Studio 2.0中,此选项显示在编辑按钮->“擦除数据”旁边的向下箭头中
敬请原谅2016年

效果很棒。如果仿真器是从源代码构建的(在我的情况下是android pie aosp_x86_64-userdebug),则每当执行根目录make命令时,都需要使用-wipe-data参数启动仿真器以使其正确启动。
yc2986 '19

不错的解决方案,它对我
有用

23

Mac用户:不幸的是,如果您使用的是较旧的Mac(例如2009年末),并且正在使用Yosemite,则无法将HAXM用于64位体系结构。根据HAXM的发行说明:

HAXM驱动程序不支持在基于Core微体系结构(Core,Core2 Duo等)的Intel系统上仿真64位系统映像。支持所有基于Nehalem的系统。(Corei3,Core i5和Core i7机器)。

我花了一天的时间试图弄清楚这个问题。唯一有效的方法是在您的AVD中使用最新操作系统的非x86版本(例如Lollipop Android 5.0.1 armeabi-v7a)


21

您是否尝试过电源按钮:) ...它确实对我有用。实际上,模拟器会在关闭之前保存设备状态,因此在上一次运行时,如果您关闭了设备并关闭了模拟器,则在下一次运行时,它将加载以前的状态并显示已关闭的电话(也称为黑屏)。尽管可能有许多其他原因导致此问题。

在此处输入图片说明


3
这应该在上面的答案中提到。使用Android Studio的第一天,我害怕单击此按钮,因为我认为它将关闭手机,并且需要很多时间才能将其重新打开。是的,黑屏意味着电话已关闭,您应该像在真实设备中一样将其唤醒并按下电源按钮。
kojot

这为我节省了很多头痛和时间,非常感谢。我想关闭模拟器时不小心按下了此按钮,下次运行我的应用程序时,当它变黑时进行故障排除时没有想到它
Meenohara

9

“ Android设备管理器”中恢复出厂设置

在更新版本的Android Studio中,这称为“擦除数据”,位于虚拟设备管理器中设备的右键菜单中。


这对我有用,谢谢。在VS 2019中,转到Android设备管理器,右键单击,然后“恢复出厂设置”。我有一个黑屏模拟器,这为我解决了问题。
埃文(Evan)

7

这是我如何解决的方法:我使用以下命令运行模拟器:

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

并在输出中收到以下内容:

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

因此,我只是从ubuntu的/ home目录中释放了一些磁盘空间(对于Windows释放了C:驱动器空间),然后顺利启动。


我使用了以下命令:sudo /home/code/Android/Sdk/tools/emulator -avd Nexus_S_API_21 -netspeed full -netdelay none -debug-init -logcat '*:v' 启动我的AVD并查看日志,发现该设备无法访问笔记本电脑摄像头,因此我编辑了配置以禁用该摄像头。之后,一切正常!
Mo Zaatar

6

也有这个问题突如其来。Android studio占用了100%的CPU,在博览会上,我遇到了以下错误:

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.

冷启动为我修复了该问题,例如boltup_im_coding的答案。如果已经运行(黑屏),您也可以这种方式进行冷启动。

在此处输入图片说明


4

听起来,您的设备配置错误。如果这样做,它将永远不会启动,也永远不会在Logcat中显示任何内容。

我建议使用AVD Manager中可用的默认“设备定义”之一来创建新设备。就像在“设备定义”选项卡中突出显示所需的设备类型,然后单击“创建AVD ...”按钮,然后填写一些详细信息一样简单。首先,将“内部存储”调整为8GB左右,(也许)将2GB的“ SD卡”调整为其他所有其他东西。尝试启动设备,然后在屏幕上看到“ Android”弹出窗口。第一次启动通常需要一段时间,因此只需挂起并观看Logcat的任何问题即可(“ DDMS”透视图对此有所帮助)。

如果您仍然看到带有默认设备定义的黑屏,则说明其他地方存在导致设备故障的问题。在这种情况下,挖掘日志可能是唯一的机会。如果没有其他作用,您始终可以尝试重新下载ADT并重新安装SDK。

这里的目标是让您使用(非常)基本的设备起步并运行,因此,此时不要着迷于令人印象深刻的规格,而只是尝试使其运行即可。一旦发生这种情况,请尝试一次一个地调整设置,直到按照自己的喜好指定了。请记住,仿真器有其局限性,不能替代真实的设备(尽管大多数情况下都可以使用;)


发布问题将近一年后惊讶地看到一个答复。我已经尝试了您前面提到的步骤,但这没有帮助。我升级了SDk,它起作用了。
user1314305

4

确保已安装最新的HAXM版本。我在使用1.0.1版本时有相同的黑屏问题,而1.0.8版本已经可用。可以通过SDK工具下载安装程序,以实际安装您必须执行的模块

android-sdk目录\ extras \ intel \ Hardware_Accelerated_Execution_Manager \ intelhaxm.exe



3

只需尝试在“ Intel Atom(x86)”上设置CPU / ABI,然后取消选中“使用主机GPU”复选框。


3

与模拟器的黑色窗口相关的问题:

在安装新窗口时发生。与Windows图形相关的问题位于Windows CD上。您必须更新Windows并按照以下步骤操作。

如果“仿真性能图形”为(软件GLES,然后将其选择为->“自动”)

或如果“仿真性能图形”为(“自动”,然后选择它--->“软件GLES”)

这种交替可以解决这个问题。


3

我将其更改为始终“冷启动”以解决我的问题。在此之前,我运行adb devices时始终显示为offline

冷启动截图


1
冷启动也对我有用。曾经做过一次,此后再也没有出现过问题。...但是,偶尔它确实发生过……
newITguy

3

以下修复程序对我有用:

  1. 在以下位置找到AVD文件夹 ~/.android/avd
  2. 打开 config.ini
  3. 将以下设置替换为这些值:

    hw.gpu.enabled=yes
    hw.gpu.mode=on
    
  4. 保存并关闭文件
  5. 不要在Android Studio中打开“ AVD设置”屏幕,否则它将还原以上设置
  6. 启动模拟器

感谢Sunsugh Park提供的修复程序

我已经在启动API 15的黑屏报告给Google了。请为问题加注星标,以帮助他们解决。

编辑

实际上,当模拟器启动正常时,打开应用程序后崩溃了。因此,仿真器团队出于某种原因必须禁用了硬件图形。不幸的是,似乎无法使仿真器正常工作。


2

我在API 28上遇到了同样的问题,而解决方法如下。

为Android UI启用Skia渲染

使用API​​ 27或更高版本的图像时,仿真器可以使用Skia渲染Android UI,后者可以更流畅,更高效地渲染。

要启用Skia渲染,请在adb shell中使用以下命令:

su
setprop debug.hwui.renderer skiagl
stop
start

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


感谢您的编辑-我没有足够的声誉来发表正确的评论……
肖恩·康威

1

我也遇到同样的问题。当我将Eclipse从EE更改为Eclipse Classic时,它运行良好。在Win专业版64Bit中。试试看,它也可能对您有用。


1
您好Senthil,感谢您的答复。我想这不是Eclipse版本的问题,bcoz我不是用eclipse启动模拟器。我正在使用android sdk工具t =。
user1314305'4

1
哦..然后等待一段时间,某人可能会帮助您..!抱歉,
SenthilPrabhu'4

1

我已经设法通过Delphi在Android模拟器上启动和调试Android测试应用程序。

我有Windows 7 64位,4GB RAM,3GHz双核处理器和Delphi XE 5。

以下是我急忙为同事准备的链接,但我会尽力将其改进:

使用Delphi调试Android应用

原谅我的英语,但我不是英语母语人士。我希望你会发现这个小教程


1

要解决此问题,请尝试使用带有Intel Atom(x86)映像的Android 4.0.3(API 15)。我可以同时启用“使用主机gpu”和HAXM来捕获DDMS屏幕截图。只有这种组合才对我有用。


1

我也有同样的问题。我发现HAXM硬件加速器最近已更新,但未重新安装,因为更新管理器仅更新安装程序包,该安装程序包已保存到硬盘驱动器中。您将需要删除HAXM,然后运行该安装程序包以完成更新。通常,它会安装到ANDROID-SDK-ROOT \ android-sdk \ extras \ intel \ Hardware_Accelerated_Execution_Manager中。其中ANDROID-SDK-ROOT是您的android sdk所在的位置。



1

我在Mac上遇到此问题。在创建设备时,如果将“图形”从“自动”更改为“软件”,则它可以解决问题,或者至少对我有用。


1

我使用Microsoft的Hyper-V快速闪电般的Android模拟器,并且无论我如何设置GPU模式(自动,主机,台面,角度,swiftshader,关闭),我创建的每个Android模拟器都具有相同的黑屏。尽管我的情况与OP的情况明显不同,但我认为这对于使用Microsoft Android模拟器并在搜索“ Android模拟器黑屏”后来到这里的人可能有用。

我的解决方案是更新所有Android工具:

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

从今天开始(2019-02-01),如果您全新安装了Visual Studio 2017,则Android模拟器将出现此黑屏问题.VS自动显示有关NuGet软件包,扩展工具等的更新的通知,但不适用于Android工具更新。您必须手动检查和更新它们。


0

运行模拟器时出现蓝屏死机后,我遇到了这个问题。这是我的解决方案(至少适用于Windows)。我的解决方案是完全重新安装AVD。Android Studio正常卸载过程的问题在于,它不会删除所有内容,因此,如果您的AVD文件已损坏,则在重新安装时它们仍然会损坏。

为了解决此问题,我删除了两个目录:

C:\ Users \(我的用户名)\。Android

C:\ Users \(我的用户名)\。AndroidStudio3.1

然后,我在安装程序中重新运行。

我认为这是最简单的解决方案,前提是您的仿真器以前可以运行,因为它强制完全刷新Android Studio的AVD组件。


0

错误的另一个来源可能是PATH系统变量的长度(在Windows系统上)。运行具有PATH超过2047个字符的变量的基于intel的图像,似乎将此变量的空值传递给控制台/仿真器,因此无法正确启动。

这是描述此行为的文章:https : //software.intel.com/zh-cn/articles/limitation-to-the-length-of-the-system-path-variable

我有同样的问题。通过删除未解决的/不存在的路径,将此系统变量的总长度减少至1354个字符,这对我来说是固定的。


0

我有同样的问题。这是我的解决方案(对于Mac OS)。我只是将Android Emulator的版本(从28.0.3降级到27.3.8)。是详细的说明。


0

我在win10 64bit中也遇到了同样的问题。经过大量搜索,我找到了这个解决方案。(如果您使用的是英特尔系统(CPU,GPU,主板等),则希望它也对您有用。

步骤1:确保在设备上启用了虚拟化:

重新启动计算机,然后按F2键进行BIOS设置。您应该找到虚拟化标签,并确保将其标记为已启用。如果未启用,则任何虚拟设备都无法在您的设备上运行。

步骤2:在设备上安装/更新英特尔硬件加速执行管理器(英特尔HAXM):

应该安装或更新此软件以使任何AVD都能运行。您可以通过搜索“ HAXM”来下载最新版本。下载后,安装.exe文件并重新启动计算机。


0

在我的Nexus 7,Nexus 10和Pixel上也都存在此问题,这意味着在所有模拟器中都存在。

经过几天的努力,我终于明白了。好吧,以上有很多答案可能对您有用或不适合您,因为它们的配置可能与您的配置略有不同。

我告诉你我的解决方案:

创建这些仿真器时,我检查了“ 硬件-图形中的GLES 2.0”以获得更好的性能。而对我来说,这就是问题所在

如果您做了同样的事情,

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.

然后点击Show Advanced Settings -> Set none for both Front and Back camerahit Finish

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

是的,你准备好了😀


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.