等待设备时出错:等待仿真器上线300秒后超时

问题描述 投票:52回答:15

我一直在尝试使用android studio 2.0模拟器,但我无法在模拟器上运行我的应用程序。当我运行我的应用程序时,它显示模拟器以及以下详细信息:

Hax已启用

  • Hax ram_size 0x800000000
  • HAx正在工作和模拟器
  • 以快速的virt模式运行。
  • 端口5554上的控制台,
  • ADB在5555端口

之后它需要下一个TAB启动应用程序并显示等待设备上线之后它显示错误:等待设备时出错:等待模拟器上线300秒后超时。

到目前为止我尝试过的。

  • 安装了全新的android studio 2.0,包含所有更新至今SDK
  • 厌倦了增加仿真器内存。
  • 安装了最新SDK的android studio 2.1 Beta
  • 在Google上讨论了这个问题。

有人知道任何解决方案

提前致谢。

编辑

我还没有找到任何解决方案。我在2016年5月4日开设了新期刊,因为它是以前版本中的已知错误。如果您遇到同样的问题,请报告以下链接。

https://code.google.com/p/android/issues/detail?id=209095

android-studio android-emulator
15个回答
58
投票

我的解决方案是将Android虚拟设备上的Graphics选项设置为Software而不是AutomaticHardware

我相信这是解决方案,因为我正在使用没有专用显卡的Windows机器。


1
投票

这些是我采取的步骤(我在Linux上)。

  • 切换到软件渲染(工作但速度太慢)
  • 尝试在命令行上运行并显示错误。
  • 强制模拟器使用系统图形驱动程序。

首先,正如@ jlars62建议的那样,我尝试使用将图形切换为“软件”并且这个DID工作。然而,性能远远慢,所以我挖了一点。

然后我尝试从控制台运行设备,作为@CaptainCrunch建议。 (我的设备是在Android Studio中创建的; Sdk中的emulator可能位于您系统的不同位置)

$ ~/Android/Sdk/emulator/emulator -avd Nexus_6_Edited_768Mb_API_23

对我来说,这产生了以下错误:

libGL error: unable to load driver: i965_dri.so 
libGL error: driver
pointer missing libGL error: failed to load driver: i965 
...

我跟踪(on ArchLinux)意味着它使用了错误的图形驱动程序(Android Sdk自带它)。您可以使用-use-system-libs在命令行上强制系统:

$ ~/Android/Sdk/emulator/emulator -avd Nexus_6_Edited_768Mb_API_23 -use-system-libs

要强制Android Studio执行此操作,您可以像这样拦截对“模拟器”的调用(See Mike42):

$ cd ~/Android/Sdk/tools/
$ mv emulator emulator.0
$ touch emulator
$ chmod +x emulator

在新的模拟器文件中添加:

#!/bin/sh
set -ex
$0.0 $@ -use-system-libs

0
投票

通常,删除不再工作的当前模拟器并再次创建它将解决该问题。我5分钟前就已经拥有它,这就是我解决它的方式。


0
投票

我在android studio 2.2中遇到了类似的问题。重新安装新的系统映像并不适合我。然后在这个link上找到了这个解决方案。

取消选中Enable ADB Integration选项并检查它似乎解决了它。我希望这可以帮助那里的人。


0
投票

应用程序和设备的Android API版本应该匹配。检查minSdkVersion中的targetSdkVersionGradle Scripts - build.gradle (Module: app)是否与设备API相对应。

尽管应用程序和设备版本匹配,低版本(例如API 15)也会导致ide-emulator链接失败。


-1
投票

通过删除AVD并创建一个新错误,此错误消失了。

经过一些编译和清理后,错误消失了。


-2
投票

我遇到了你提到的同样问题,可以通过删除当前的avd并创建一个新的问题来解决它。它现在运行得很好。


18
投票

您可能已在adb上启用转发功能。你可以尝试这个:退出Android工作室和发射终端。运行以下命令:

adb kill-server
adb forward --remove-all
adb start-server 

现在您可以启动Android Studio并重试。


8
投票

我发现了一种解决方法,即使我不确定为什么会这样。

转到Menu->Tools->Android并取消选中Enable ADB Integration选项运行该应用程序。现在模拟器将启动,但应用程序将无法运行。模拟器完全启动后,请检查Enable ADB Integration选项并重新运行该应用程序。现在,该应用程序将在已经运行的模拟器中启动。


8
投票

还有一些可能出错的地方:确保退出Docker for Mac(可能还有所有其他类型的docker安装)。


4
投票

转到Android Studio命令行,然后按照下列步骤操作:

  • __> cd /Users/your_root_name/.android/avd
  • __> ls
  • __> rm -r Nexus_5X_Edited_API_17.avd有两个avd文件。

重新运行应用程序。


4
投票

你可以尝试:

  • 手动从控制台运行模拟器,看看adb是否可以从android studio连接(“看”)它。它一直在运行吗?
  • 删除并重新创建一个新的测试,在2.0中总是一个好主意。很多东西正在改变(即时运行等)
  • adb从控制台上说了什么? adb kill-serveradb start-server,启动模拟器,然后adb devices列出你的模拟器?

3
投票

我在机器上关闭VirtualBox后问题就消失了。

我知道的一件事是Linux KVM不能很好地与VirtualBox相处。


1
投票

升级到最新的SDK,用于android模拟器:

  • 使用512MB RAM
  • 256MB堆

您可以保留默认磁盘空间。


1
投票

我有同样的问题。我使用的是Android Studio 2.3和Debian 9.1 Stretch 64位。就我而言,问题出在图形处理配置中建立的默认设置中。为了解决这个问题,我打开了AVD Manager,然后选择了设备,然后打开配置文件(config.ini),选择“在磁盘上显示”选项,选择“操作”列。在文件中,我将hw.gpu.mode变量中设置的值从mesa更改为swiftshader。保存更改后,模拟器启动没有任何问题。在this link上可以找到更多选项。

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