等待设备时出错:等待模拟器上线 300 秒后超时
Posted
技术标签:
【中文标题】等待设备时出错:等待模拟器上线 300 秒后超时【英文标题】:Error while waiting for device: Time out after 300seconds waiting for emulator to come online 【发布时间】:2016-08-09 02:37:23 【问题描述】:我一直在尝试使用 android studio 2.0 模拟器,但我无法在模拟器上运行我的应用程序。当我运行我的应用程序时,它会显示具有以下详细信息的模拟器:
Hax 已启用
Hax ram_size 0x800000000
HAx 正在运行并且是模拟器
以快速 virt 模式运行。
5554 端口上的控制台,
5555 端口上的 ADB
之后它会进入下一个 TAB Launching 应用程序并显示 等待设备上线 之后它显示错误: 。
到目前为止我已经尝试过。
安装了全新的 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 API 版本应该匹配。检查 Gradle Scripts - build.gradle (Module: app) 中的 minSdkVersion 和 targetSdkVersion 是否对应设备 API。即使应用程序和设备版本匹配,低版本(例如 API 15)也会导致 ide-emulator 链接失败。 试试这里提供的解决方案:***.com/a/42805346/5925104 我不得不去 Android SDK 管理器并更新模拟器软件。这为我解决了问题。 这听起来可能很荒谬,但在尝试了许多 SO 解决方案数小时后,对我有用的是完全删除 Android Studio 并在不导入任何设置的情况下重新安装。见***.com/a/18458893/1159930 【参考方案1】:我的解决方案是将 Android 虚拟设备上的图形选项设置为 Software
而不是 Automatic
或 Hardware
。
我相信这是解决方案,因为我正在使用没有专用显卡的 Windows 机器。
【讨论】:
这对我来说是不可能的。我找到了图形选项,但我无法编辑它:( @Andre 在添加之前克隆您的设备。然后您就可以对其进行编辑了。 太棒了,非常感谢 @andre 它适用于我在旧图像上编辑它,例如 5.1.1 但不适用于 7.0。 这里仍然没有运气。 macOS :(【参考方案2】:您可能在 adb 上启用了转发。你可以试试这个:退出 Android 工作室并启动终端。运行这些命令:
adb kill-server
adb forward --remove-all
adb start-server
现在您可以启动 Android Studio 并重试。
【讨论】:
得到:adb 服务器已过期。杀死...无法绑定'tcp:5037' ADB 服务器没有确认 * 无法启动守护进程 *【参考方案3】:还有一些可能出错的地方:确保退出 Docker for Mac(可能还有所有其他类型的 docker 安装)。
【讨论】:
太棒了,感谢马里奥——当我读到这篇文章的那一刻,我就知道这就是答案。刚刚为我节省了卸载/重新安装所有东西的时间;) 天哪,你刚刚救了我。谢谢! :) 哇。我从没想过是 Docker 造成了这种情况。这对我有用。谢谢。任何想法为什么运行 docker 是一个问题? 我该怎么做?【参考方案4】:尽管我不确定为什么会发生这种情况,但我找到了解决方法。
转到Menu->Tools->Android
并取消选中选项Enable ADB Integration
运行应用程序。现在模拟器将启动,但应用程序不会运行。模拟器完全启动后,检查Enable ADB Integration
选项并重新运行应用程序。现在应用程序将在已经运行的模拟器中启动。
【讨论】:
它抛出错误“10:23:39 运行应用程序时出错:Instant Run 需要启用“工具 | Android | 启用 ADB 集成”。”【参考方案5】:在我关闭机器上的 VirtualBox 后,我的问题就消失了。
我知道的一件事是 Linux KVM 不能很好地与 VirtualBox 相处。
【讨论】:
这也是我的问题的原因。 嘿,在我的情况下,这也是 virtualbox 引起的问题。停止virtualbox后,一切顺利,谢谢!【参考方案6】:转到 Android Studio 命令行,然后按照以下步骤操作:
__> cd /Users/your_root_name/.android/avd
__> ls
__> rm -r Nexus_5X_Edited_API_17.avd
有两个avd文件。
重新运行应用程序。
【讨论】:
只看到一个,还有一个 .ini 的?【参考方案7】:你可以试试:
从控制台手动运行模拟器,看看 adb 是否可以从 android studio 连接(“see”)它。它会运行吗? 删除 avd ,重新创建一个新的进行测试,在 2.0 中总是一个好主意。很多东西正在改变(即时运行等) adb 从控制台说什么?adb kill-server
,adb start-server
,启动模拟器,然后adb devices
会列出你的模拟器吗?
【讨论】:
另外,您可以保留 ADVANCED SETTINGS 默认(在创建 AVD 时)。 如果adb
在控制台/终端中不存在怎么办?
@StephanBijzitter 这意味着您的环境尚未完全设置。 ADB 随 Android SDK 一起提供。如果您使用的是 Linux 系统,则必须将 SDK 文件夹添加到您的 $PATH 变量中。这篇文章developer.android.com/studio/command-line/adb.html 描述了 ADB 的完整路径是“android-sdks/platform-tools/adb”如果你只是使用 Android Studio,这是在它的 GUI 中完成的【参考方案8】:
尝试更改此解决了我的问题,您可以选择其他图形选项,并更改为较低分辨率的模型
【讨论】:
【参考方案9】:升级到最新的 SDK,适用于 android 模拟器:
使用 512MB 内存 256MB 堆您可以保留默认磁盘空间。
【讨论】:
【参考方案10】:我遇到了同样的问题。我正在使用 Android Studio 2.3 和 Debian 9.1 Stretch 64 位。 就我而言,问题出在图形加速配置中建立的默认设置中。 为了解决这个问题,我打开了 AVD 管理器,然后我选择了设备并打开了配置文件 (config.ini),在“操作”列中选择“在磁盘上显示”选项。在文件中,我将 hw.gpu.mode 变量中设置的值从 mesa 更改为 swiftshader。保存更改后,模拟器启动没有任何问题。 更多可用选项请访问this link。
【讨论】:
【参考方案11】:这些是我采取的步骤(我在 Linux 上)。
切换到软件渲染(工作但太慢) 尝试在命令行上运行并显示错误。 强制模拟器使用系统图形驱动程序。首先,正如@jlars62 建议的那样,我尝试使用 Switching the Graphics to "Software" 并且这个 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
【讨论】:
【参考方案12】:通常,删除不再工作的当前模拟器并重新创建它可以解决问题。我在 5 分钟前就遇到过,我就是这样解决的。
【讨论】:
这个答案已经发布。如果您有不同的解决方案,请提供。【参考方案13】:我在使用 android studio 2.2 时遇到了类似的问题。重新安装新的系统映像并没有解决我的问题。然后在这个link上找到了这个解决方案。
取消选中Enable ADB Integration
选项并重新检查似乎可以为我解决问题。我希望这对那里的人有所帮助。
【讨论】:
这个答案之前已经发布过。如果您有不同的解决方案,请提供。【参考方案14】:应用程序和设备的 Android API 版本应匹配。检查Gradle Scripts - build.gradle (Module: app)
中的minSdkVersion
和targetSdkVersion
是否对应设备API。
即使应用程序和设备版本匹配,低版本(例如 API 15)也会导致 ide-emulator 链接失败。
【讨论】:
【参考方案15】:我遇到了同样的问题。我删除了虚拟设备并在手机上运行应用程序 - 运行良好。 要删除虚拟设备:在 Android Studio 中单击图标“AVD Manager”,选择虚拟设备,然后在上下文菜单中单击“删除”。 然后打开手机“开发者模式”。通过 USB 将手机连接到笔记本电脑。
【讨论】:
【参考方案16】:重新启动 ADB 服务器对我有用,但无需从命令行进行。Ctrl + Maj + A -> Troubleshoot Device Connections -> Next -> Next -> Restart ADB Server
【讨论】:
【参考方案17】:遗憾的是,没有一个解决方案对我有用!我通过从手机中卸载现有 APK 解决了我的问题,一切都开始完美运行!
这在我将 android studio 更新到最新版本后开始发生。
【讨论】:
【参考方案18】:我几乎测试了本主题和其他页面中的所有解决方案。经过大量搜索,我终于找到了问题!
我必须在我的系统上启用 Hyper-V(如果您的系统不支持 Hyper-V,则需要安装 HAXM)。
在此链接中,您可以阅读有关启用 Hyper-V 和 HAXM 的信息:https://docs.microsoft.com/en-us/xamarin/android/get-started/installation/android-emulator/hardware-acceleration?pivots=windows
【讨论】:
【参考方案19】:如果您安装了 HAXM 但仍然无法正常工作,请转到下面的此链接并安装 Hyper-V。 接下来,重新启动计算机。 如果它再次不起作用,请删除模拟器并使用高 API 重新安装。
https://docs.microsoft.com/en-us/xamarin/android/get-started/installation/android-emulator/hardware-acceleration?pivots=windows
【讨论】:
【参考方案20】:我遇到了类似的问题,我通过删除 Android 模拟器来修复它,然后创建一个具有更高 API 级别的新模拟器。
就我而言,我选择了 API-30
【讨论】:
【参考方案21】:我遇到了你提到的同样的问题,可以通过删除当前的 avd 并创建一个新的来解决它。它现在工作得很好。
【讨论】:
【参考方案22】:为了解决这个问题,我去了 Tools > SDK Manager > SDK Tools 并更新了 Android SDK Build-Tools 31
【讨论】:
【参考方案23】:删除 AVD 并创建一个新的,这个错误就消失了。
经过一些编译和清理后,错误消失了。
【讨论】:
这个答案已经发布。如果您有不同的解决方案,请提供。以上是关于等待设备时出错:等待模拟器上线 300 秒后超时的主要内容,如果未能解决你的问题,请参考以下文章