Android模拟器除黑屏外显示任何内容,adb设备显示“设备离线”

问题描述 投票:158回答:26

我只是想在Android中开始开发。所以,问题是当我尝试通过发出命令模拟器@A2来启动模拟器时,屏幕上会出现一个模拟器。但即使等待长达2-3小时后,所有显示的都是黑屏。甚至没有Android主屏幕或Android徽标。只是一个黑屏。虽然最初“adb devices”将模拟器显示为离线。在2-3分钟后,连接设备列表变为空白。

我在网上搜索并尝试了那里提到的所有步骤,如kill和重新启动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 *

在从net读取某个地方后,我添加了JAVA_HOME变量,其值为C:\ Java32BitInstallation \但仍然没有用。

我的系统上安装了IntelliJ和Eclipse。但是,因为启动模拟器,我没有使用任何这些,我不怀疑这些有任何蠢事。

所以,任何人都可以帮我解决这些让我发疯的事情。我正在尝试过去10-12天并且无法启动模拟器,更不用说编写我的第一个“Hello world”程序了。

附加说明:我的系统是Windows 7(64位)计算机。早些时候我已经安装了64位版本的jdk,但问题也出现了。现在,在互联网上搜索后,我卸载了它并安装了32位版本的Java。但是,再没有用。但有一点,这个32位版本的java(jdk 7 update 3),首先安装jre作为jdk安装的一部分,然后安装jre 7。所以现在我有两个文件夹:jre和jre7在C:\ Java32BitInstallation目录中。这可能是我的模拟器没有出现的问题。我是否需要指定aditional environmetal变量或修改现有变量?请帮助。

顺便说一下,我提到logcat什么也没说。

android-emulator
26个回答
131
投票

我对最新的Android SDK也有同样的问题。我只是在虚拟设备的设置中停用了“使用主机GPU”复选框,它又开始工作了。

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

更新26.02.2014:

developer.android.com的Configuring Graphics Acceleration章节中有两个提示。

注意:从SDK Tools Revision 17开始,仿真器的图形加速功能是实验性的;使用此功能时,请注意不兼容性和错误。

启动AVD Manager并创建一个新的AVD,其目标值为Android 4.0.3(API级别15),版本3或更高版本。

所以Android 4.0.3(API Level 15)似乎是图形加速的最低要求。

更新25.07.2018:

最新的Android Studio版本不再具有此选项。如果问题仍然存在,请尝试在Verify Configuration对话框中的“模拟性能”下拉列表中切换(如果可用)或参考Configure Emulator graphics rendering and hardware acceleration


4
投票

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

Android的SDK目录\演员\英特尔\ Hardware_Accelerated_Execution_Manager \ intelhaxm.exe


3
投票

如果在创建AVD时选择“使用主机GPU”选项,则这是一个已知错误。 https://code.google.com/p/android/issues/detail?id=28614 取消选中该选项,它应该工作!


3
投票

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


2
投票

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

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

如果仿真性能图形是(软件GLES然后选择它 - >自动)

或者如果模拟性能图形是(自动然后选择它 - >软件GLES)

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


2
投票

我把它改成总是“冷启动”来解决我的问题。在此之前,当我跑adb devices时,它总是显示为offline

Cold boot screenshot


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 professional 64Bit中。试一试它也可能对你有用..


1
投票

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

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

以下是我为工作中的同事匆忙准备的链接,但我会在第一次机会中做得更好:

Debug Android Apps with Delphi

原谅我的英语,但我不是母语为英语的人。我希望你能找到这个小教程


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所在的位置。


83
投票

我遇到了让大型设备模拟(Nexus7和10)的问题,而手机大小的模拟器效果很好。只是不断用黑色屏幕与平板电脑没有几个小时。实际上有什么帮助实际上是大多数人推荐的OPOPOSITE:在设置'使用主机GPU'的勾选框并将目标设置为最高的android(写作时为4.4.2)时,7和10工作为预期!


1
投票

对我来说,我不得不关闭前后摄像头。希望这可以帮助!


1
投票

以下修复对我有用:

  1. ~/.android/avd中找到AVD文件夹
  2. 打开config.ini
  3. 用以下值替换以下设置: hw.gpu.enabled=yes hw.gpu.mode=on
  4. 保存并关闭文件
  5. 不要在Android Studio中打开AVD设置屏幕,否则它将恢复上述设置
  6. 启动模拟器

感谢Sunsugh Park提供the fix

我已经在Black screen starting API 15向谷歌报道了此消息。请为问题加注星标以让他们解决问题。

Edit

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


0
投票

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

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

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

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

然后我重新安装了安装程序。

我认为这是最简单的解决方案,如果你的模拟器以前工作,因为它强制完全刷新Android Studio的AVD组件。


0
投票

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

这是一篇描述这种行为的文章:https://software.intel.com/en-us/articles/limitation-to-the-length-of-the-system-path-variable

我有同样的问题。通过删除未使用/不存在的路径,将此系统变量的总长度减少到1354个字符。


0
投票

我有同样的问题。这是我的解决方案(适用于Mac OS)。我只是降级Android模拟器的版本(从28.0.3升级到27.3.8)。 Here是一个如何做的详细说明。


0
投票

我在Mac上遇到了这个问题。如果您将“图形”从“自动”更改为“软件”,那么当您创建设备时,它会解决问题,或者至少它为我做了。


0
投票

我使用Microsoft's lightning fast Android Emulators utilizing Hyper-V,无论我如何设置GPU模式(自动,主机,台面,角度,swiftshader,关闭),我创建的每个Android模拟器都有相同的黑屏。虽然我的情况与OP的情况明显不同,但我认为对于那些使用Microsoft Android模拟器并在搜索“android模拟器黑屏”后来到这里的人可能会有用。

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

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

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


0
投票

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

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

重新启动计算机,然后按F2进行BIOS设置。您应找到Virtualization标记并确保将其标记为已启用。如果未启用,则设备上不会运行任何虚拟设备。

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

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


24
投票

我最近在模拟器Nexus 5(Android O)中遇到了同样的问题。我已经去了Android虚拟设备管理器和擦除用户数据,它解决了我的问题。

Android Virtual Device Manager


23
投票

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

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


22
投票

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)


8
投票

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

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


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:驱动器空间)然后它顺利启动。


5
投票

你试过电源按钮:) ...它真的对我有用。实际上,仿真器在关闭之前保存设备状态,因此在最后一次运行时如果关闭设备并关闭仿真器,那么在下一次运行中它将加载先前状态并显示关闭的电话即空白屏幕。虽然这个问题可能还有很多其他原因。

enter image description here


4
投票

听到它的声音,你有一个配置错误的设备。如果你这样做将永远不会启动,也永远不会在Logcat中显示任何内容。

我建议使用AVD Manager中提供的默认“设备定义”之一创建新设备。只需在“设备定义”选项卡中突出显示所需的设备类型,然后单击“创建AVD ...”按钮,然后填写一些详细信息即可。我首先将“内部存储”调整为大约8GB,然后(可能)调整为2GB的“SD卡”,同时保留其他所有内容。尝试启动设备,如果您在屏幕上看到“Android”,则表示您正在运行。第一次启动通常需要一段时间,所以只需挂起并观察Logcat的任何问题(“DDMS”透视图在这里有帮助)。

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

这里的目标是让你开始使用(非常)基本设备,所以不要在这一点上拍摄超级令人印象深刻的规格,只是试图让它运行。一旦发生这种情况,请尝试逐个调整设置,直到您按照自己喜欢的方式进行规范。请记住,模拟器有其局限性并且无法替代真实设备(尽管它在大多数情况下都可以工作;)

© www.soinside.com 2019 - 2024. All rights reserved.