我只是想在Android上开始开发。 因此,问题是当我试图通过发出命令emulator @A2来启动模拟器时,一个模拟器出现在屏幕上。但即使在等待长达2-3小时后,它所显示的都是黑屏。甚至连Android的主屏幕和logo都没有。只有一个黑屏。而最初“adb设备”显示模拟器为离线。2-3分钟后,所附设备列表变为空白。

我在网上到处搜索,尝试了上面提到的所有步骤,比如杀死并重启adb,在一个没有空格的目录中安装java/android,但都没有用。

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

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

Android SDK Tools,修订版13 Android SDK平台工具,修订版10 SDK平台Android 4.0.3, API 15,版本1 Jdk jdk-7u3-windows-i586

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

同样,在从net中读取后,我添加了JAVA_HOME变量,其值为C:\Java32BitInstallation\但仍然没有使用。

我的系统上同时安装了IntelliJ和Eclipse。但由于启动模拟器,我没有使用任何这些,我不怀疑任何犯规与这些。

我已经尝试了10-12天了,还不能启动模拟器,更不用说编写我的第一个“Hello world”程序了。

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 searching 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 anything with my emulator not turning up. Do I need to specify additional environment variables or modify the existing one?

顺便说一句,我有没有提到logcat什么都没有显示。


当前回答

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

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

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

其他回答

你试过电源键了吗?这对我来说真的很有用。实际上模拟器在关闭之前保存了设备状态,所以在最后一次运行时,如果你关闭了设备并关闭了模拟器,那么在下一次运行时,它将加载之前的状态并显示关闭的手机即空白屏幕。虽然这个问题可能有很多其他原因。

您应该查看模拟器下的EventLog。它会透露更多细节。

如果没有错误提示,请尝试设备管理器>编辑>图形=软件,硬件不兼容可能导致黑屏。

重新启动计算机可以修复模拟器离线的问题。

如果没有任何帮助,删除AVD并重新创建它。

下面是我解决这个问题的方法: 我用下面的命令运行模拟器:

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)

所以,我刚刚释放了一些磁盘空间从我的/home目录在ubuntu (windows释放C:驱动器空间),然后它顺利启动。

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

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

重新启动计算机,然后按F2进行BIOS设置。您应该找到Virtualization标签,并确保它被标记为已启用。如果未启用,则没有虚拟设备可以在您的设备上运行。

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

这个软件应该安装或更新任何avd运行。你可以通过谷歌“HAXM”下载最新版本。下载后,安装.exe文件并重新启动计算机。

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

英特尔android-sdk-directory \配件\ \ Hardware_Accelerated_Execution_Manager \ intelhaxm.exe