在Android Studio 2.3中,“等待目标设备上线”

54
最近从2.2.3升级到2.0的Android Studio,运行在Win10上。自此之后模拟器停止工作。尝试安装其他映像(25 rev 4)/升级AVD,但似乎都不起作用。运行gradle并在任务栏中显示“等待目标设备上线”,但程序没有运行。请帮忙解决。
添加截图:

enter image description here

而且:

enter image description here


你杀掉了你的adb吗? - MuTiny
6
尝试从“文件”菜单中清除缓存并重新启动 - Atef Hares
已经尝试过了... 仍然没有成功。 - fidelis
1
查看另一种解决方案:禁用/启用ADB集成 - hcknl
这可能听起来很荒谬,但在尝试了许多SO解决方案数小时后,对我有效的方法是完全删除Android Studio并重新安装,而不导入任何设置。请参见https://dev59.com/v2Mm5IYBdhLWcg3wbuc1#18458893。 - Markymark
29个回答

86

2天前我更新了Android Studio后也遇到了同样的问题,今天当我在设置中玩耍时,发现在我的SDK工具设置中Android模拟器未被选中,所以我简单地勾选了那个框,现在模拟器正常工作了。

您也可以尝试以下步骤:

  1. 进入SDK工具 > SDK工具
  2. 勾选Android模拟器并点击应用

enter image description here


更新:

虽然已经安装了,但您可能需要更新

enter image description here


回退到使用Genymotion。无法启动内置模拟器。 - Mike S.
4
哈哈!这个简单的解决方法对我很有用。你会认为一旦用户创建了一个Android虚拟化设备,系统应该自动下载和更新它。这太荒谬了!让我围着圈子跑。 - Wachaga Mwaura
谢谢,更新Android模拟器解决了这个问题。 - ImFarhad
没有在3.1.3上修复。 - ChumiestBucket
这对我解决了问题。 - tyleax

37

我已经安装了模拟器。但今天早晨在Ubuntu 16.04Android Studio 2.3上仍然遇到了相同的问题,以下是我所做的,它起作用了。

请仔细检查这些是否可用:

    sudo apt-get install lib64stdc++6:i386    
    sudo apt-get install mesa-utils
  1. 找到lib64文件夹。在Ubuntu 64位上,它位于~/Android/Sdk/emulator/lib64下。

  2. 在终端中,导航到~/Android/Sdk/emulator/lib64文件夹,然后运行以下命令:

将libstdc++文件移动到libstdc++.bak文件夹内,并提供软链接。

mv libstdc++/ libstdc++.bak
ln -s /usr/lib64/libstdc++.so.6 libstdc++

4
修复了问题并得到了+1,但是如果能解释一下为什么这样做有效以及实际的问题是什么,那就更好了。 - Jared Smith
2
首先,这个技巧在我的情况下并不能解决这个问题。此外,我有一些疑问。从Android Studio 2.3.3开始,你提到的两个依赖项lib64stdc++6:i386mesa-utils已经存在于模拟器目录中 - /Android/Sdk/emulator/lib64/lib64stdc++/Android/Sdk/emulator/lib64/gles_mesa。位于**~/Android/Sdk/emulator/lib64/lib64stdc++**位置的文件是libstdc++.so.6。为什么我需要在这两个位置之间创建符号链接呢? - somnathbm
2
Neha Raj,非常感谢您,这是唯一对我有效的解决方案。不过我有一个建议。在我的情况下,所有这些都必须在~/Android/emulator/lib64目录中完成。 - kiwicomb123
修复了Kali Linux 2017.1和Android Studio 2.3.3中的问题...谢谢! - ArmaGeddON
这个难以理解的异教徒式的Linux废话也解决了我的问题! - Toby Wilson
显示剩余4条评论

20

对我来说,这些解决方案都没有起作用。 在多次从头开始卸载和安装模拟器以及SDK工具后,在模拟器的开发者选项中看到USB调试未激活。

  • 设置
  • 关于模拟器设备
  • 点击多次构建号,直到它说你是一个开发者
  • 返回
  • 进入开发人员选项
  • 勾选"USB调试"

1
这应该是被接受的答案,它对我很有用,而且是一种不太常见的方式。 - Luka Govedič
此外,我需要打开工具-> AVD管理器并停止正在运行的模拟器。 然后运行应用程序并选择已停止的模拟器。 当它启动时,应该会有一个提示框询问是否“允许USB调试” - 选择是。 对我来说,问题就这样解决了。 - Lee Hounshell

18

如果你的Docker正在运行,你应该关闭它。


我已经尝试重启电脑了,还有其他什么方法吗? - fidelis
1
官方回答:您不能在运行加速的模拟器时同时运行使用另一种虚拟化技术的软件。例如,VirtualBox、VMWare和Docker目前使用不同的虚拟化技术,因此您不能在加速的模拟器上同时运行它们。模拟器加速 - volkan

11

我意识到我的模拟器实际上已经冻结了,尽管我已经重启了电脑和模拟器。我只是需要清除数据(AVD管理器 > 右键点击模拟器 > 清除数据),然后它就又可以正常工作了。你会失去任何状态,但至少不需要重新安装。


6

首先删除您现有的模拟器,然后重新创建它。现在再次运行,希望它可以解决您的错误。


已删除并重新创建它...实际上下载了其他版本,甚至检查了版本是否有问题,但仍然没有改变...模拟器就是不出现。 - fidelis
请添加屏幕截图以获得进一步的帮助。 - Ahmer Afzal
第一次尝试运行AVD?试试Genymotion Android模拟器,如果它仍然无法工作,则更新您的显示驱动程序或升级您的电脑。 - Ahmer Afzal
1
尝试访问https://dev59.com/sZ_ha4cB1Zd3GeqP3bnf,以获取有关等待目标设备上线的更多信息。 - Ahmer Afzal
3
我建议您安装新的Windows并重新安装它。 - Ahmer Afzal
显示剩余5条评论

3
我遇到了同样的问题,我使用的是

Linux LinuxRobot 4.14.0-kali3-amd64

并且出现了这个错误信息

host doesn't support requested feature: CPUID.80000001H:ECX.abm

还有这个消息

waiting for target device to come online

解决方案 关闭调试和当前模拟器,然后
打开Avd Manager,你将能够在那里看到你的设备,然后点击播放按钮。

enter image description here

或者尝试冷启动

打开Android虚拟设备管理器,在选择冷启动后点击下拉按钮。 阅读this

enter image description here


3
我遇到了同样的问题,模拟器启动,但只显示黑屏,我的应用程序也无法加载。我做的是访问模拟器的设置页面,确保“在 AVD Pixel_2_API_26 退出时保存快速启动状态”设置为“否”。注意:我的设备是Pixel 2,其他用户可能不同。 Extended Controls

你是怎么打开设置的?我好像找不到它。 - Attila
2
请看照片右下角。那三个点,点击它们后,应该会打开扩展控件窗口并选择设置选项卡。 - Timetraveller

2

尝试配置不同的Android模拟器并在运行时使用它。您当前的模拟器可能存在一些问题。这对我有效。


1
我在更新Android Studio时遇到了类似的问题。不知何故,我的SDK路径发生了变化。我只是将它更改为我的更新后的SDK路径,然后它就可以工作了。
Android Studio -> 文件 -> 设置 -> 外观和行为 -> 系统设置 -> Android SDK
在这里,您会找到Android SDK位置,只需单击其前面的编辑链接,然后浏览并从文件浏览器中选择Android SDK。选择并单击应用。
选择AVD管理器并启动模拟器。这个解决方案对我有用。

你能详细说明一下如何改变SDK,而不是提供一个简短的答案吗? - Noel Widmer

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接