等待目标设备上线

Waiting for Target Device to Come Online

我最近更新到 Android Studio 2.3,现在当我尝试 运行 应用程序时,模拟器无法联机。 300 秒后超时。

此外,该应用一直遇到致命异常错误 (OOM),我也不确定如何解决该问题,或者这是否是模拟器问题的一部分。

非常感谢任何帮助。同样,我对该程序的了解非常有限,所以如果您的回答可以保持简单,那就太好了。

工具 - Android - SDK 管理器 - 选项卡 SDK 工具 - 安装模拟器 25.3.1

转到 Sdk 管理器 --> SDKtools --> 安装模拟器 25.3.1

我遇到了和你一样的问题,android工作室说我已经安装了 Emulator 25.3.1

我删除了 Emulator 文件夹(它在 SDK 文件夹内)

然后重装Emulator 25.3.1 SDK 管理器 --> SDKtools --> 安装模拟器 25.3.1

这次成功了:)

转到 Run/Debug 配置 -> 常规选项卡

Select 首选 Android 虚拟设备组合框中的空白设备

现在每次当您 运行 应用程序时,它都会 运行 在已经打开的设备上。如果没有设备 运行ning,它会抛出错误

我也遇到了同样的问题,然后我转到 AVD 管理器并右键单击模拟器并将其停止,然后我再次 运行 应用程序,这次它成功了。 这可能是一个临时解决方案,但暂时有效。

Tools -> AVD manager -> right-click on the emulator you are using -> Stop

现在再次 Run 您的申请。

注意:有时直接关闭模拟器并不能解决上述问题,但如前所述,从 AVD 管理器中停止它就可以了。

问题太旧了,但可能对以后的人有帮助。 在搜索了很多东西之后,其中大部分都不适合我。所以,根据我的尝试这个解决方案对我有用。简而言之,在 Android SDK 中卸载并安装 "Android SDK Tools"。

下面是几个步骤:-

  1. 转到 Android Studio 中的 "SDK Manager"
  2. 转到 "SDK Tools" 选项卡
  3. 卸载"Android SDK Tools"(意味着在"Android SDK Tools"之前删除选中(取消选中)并应用然后确定)
  4. 关闭并重新启动 Android Studio
  5. 安装"Android SDK Tools"(意味着先检查"Android SDK Tools"然后应用然后OK)

Image of Uninstall and Install Android SDK Tools again

三天后,我相信 adb 和模拟器之间存在竞争条件。在向 运行 应用程序发出请求时,如果 运行 还没有模拟器,您会看到 "Initializing ADB",然后是模拟器选项,它会启动,您会看到 "Waiting for target to come online"。 adb kill-server,或 kill -9,或带有任务管理器的 adb "End Process" 将导致 adb 死机,重新启动,您的 APK 安装,您就可以开始了。 "adb kill-server" 导致 adb 死机然后在此处重新启动,这对我来说确实很奇怪,但这也许是另一个谜。

问题是ide和模拟器之间没有link

在我们的案例中 - 我们 降低了应用程序 android 的版本, 沮丧 ide模拟器 linking.

如果我们安装 Android 25 并将项目绑定到它,并且在 Android 25 上安装 AVD 设备 - 它 links 和 apllies 动态变化。如果我们降级到 Android 14 并且设备在 android 14 - 它不会。

已使用 Android Studio 2.3。

要使用您可以在 Gradle 脚本中设置的版本 - build.gradle(模块:app):

android {
  compileSdkVersion 25
  defaultConfig {
    minSdkVersion 15
    targetSdkVersion 15
  }
}

因此,应用程序不会 运行 在 Android 25 设备上显示消息:

Installation failed with message Failed to finalize session : -26: Package ru.asv.test new target SDK 15 doesn't support runtime permissions but the old target SDK 25 does.. It is possible that this issue is resolved by uninstalling an existing version of the apk if it is present, and then re-installing.

WARNING: Uninstalling will remove the application data!

在尝试了所有这些解决方案都没有成功之后,解决我的问题的方法是将虚拟设备的图形配置从自动更改为软件(首先尝试硬件但没有成功)

如果您在 Mac,请确保在 Mac 后退出 Docker。这对我有用。

在我的情况下,问题似乎在于 "Google APIs ARM EABI v7a System Image" 在安装 Android Studio 期间未自动安装。

安装镜像后,模拟器开始运行。

Screenshot of the SDK manager

  1. 另一种情况是Android应重新安装模拟器。当您安装更高版本的 Android Studio,然后为其更新 SDK,并返回到之前的版本时,可能会发生这种情况。

    Tools - Android - SDK Manager - SDK Tools - Android Emulator - uncheck, apply, check, apply

  2. 禁用 Docker 应用程序(Mac 用户)。

  3. 重启模拟器

    Tools - Android - AVD Manager (or kill adb process in task manager).

我也 运行 遇到了这个问题,并且可能找到了可能有帮助的解决方案。关键是先在模拟器中启动 AVD,然后 运行 你的应用程序。

步骤如下:

  1. 在“您的虚拟设备”屏幕中,select 您刚刚创建的设备,然后单击在模拟器中启动此 AVD
  2. 模拟器启动后,点击Project中的app模块window然后select运行→运行
  3. 在 Select Deployment Target window 中,select emulator 然后点击 OK。

我发现我的机器上有一个 Docker 的 运行 实例 (OSX) 阻止 Android 仿真器从 运行 运行(参见 Android Studio Unable to run AVD)

以前,我的模拟器似乎可以启动,然后在显示任何设备 window 之前失败。

我还必须使用 'kill -9'(根据@MarkDubya)让 Android Studio 连接到虚拟设备。

对于使用 KVM 并遇到此问题的 Linux 用户,请尝试将 Android 虚拟设备上的图形选项设置为 Software 而不是 AutomaticHardware 。如前文所述answer.

我可以确认该方法适用于 Arch Linux、Ubuntu 16.04,以及 windows 使用或不使用 Android Studio 版本的专有显卡2.3.1+

我在笔记本电脑上工作,Windows 8. 我解决了这个问题,将模式从省电模式更改为平衡模式。在此之前,模拟器无法正常工作,我看到 "Target Device to Come Online"。也没有工作 Genymotion

我在更新 android 工作室时遇到了类似的问题。它以某种方式改变了我的 SDK 路径。我只是将其更改为我更新的 SDK 路径并且它起作用了。

Android Studio -> 文件 -> 设置 -> 外观和行为 -> 系统设置 -> Android SDK

在这里您会找到 Android SDK 位置,只需单击它前面的编辑​​ link,然后从文件浏览器中浏览 select Android SDK。 Select 然后点击应用。

Select AVD 管理器并启动模拟器。这个解决方案对我有用。

一样,请确保您 不是 运行 任何其他虚拟机,例如 VirtualBox。当我重新启动计算机时,A​​VD 一直有效,直到我启动 Vagrant 进行后端开发(然后它不会启动)。

有关详细信息,请参阅 Android emulator and virtualbox cannot run at same time

转到终端并输入 android avd。 Select 你的 AVD 和 select "Edit"。确保您没有看到 No CPU/ABI system image available for this target - 它会在底部以红色字体显示。将 target 更改为可用的或下载 ABI 图像。有时,如果您从 Android Studio 内部创建 AVD,则无法确保此要求。

None 以上解决方案对我有用,所以我不得不擦除

的内容
C:\Users\your_name\.android\avd

并重新创建模拟设备

检查你没有未经授权的设备,未经授权的设备在 Android Studio 中回复相同的错误,使用 adb 命令检查模拟器是否打开。

$ adb 设备

连接的设备列表

emulator-5554 未经授权

如果您有这种方式的模拟器,Android Studio 正在等待授权,也许这可以解决问题。

这是我在 Windows 10 中用 Android Studio 2.3.3

解决的错误

我在 Linux 系统中遇到了同样的问题(AVD 未上线)。就我而言,我已经解决了设置此环境变量的问题:

$ export ANDROID_EMULATOR_USE_SYSTEM_LIBS = 1

这里记录了这个案例:https://developer.android.com/studio/command-line/variables.html#studio_jdk

以下为我在 Android Studio 3.x.

工作

第 1 步: 打开 AVD 管理器。

第 2 步: 右键单击并擦除您正在测试的虚拟设备的数据。

最后,我通过在 bash 文件中设置正确的导出路径解决了这个问题:

export ANDROID_HOME=/Users/[username]/Library/Android/sdk

在您的 Android Studio 中转到 AVD Manager右键单击您的模拟器,然后 select 擦除数据。然后运行 您的应用再次。 模拟器将执行干净启动,然后安装你的 apk 然后你的应用程序最终将 运行.

总结:AVD Manager---右键模拟器----擦除数据----运行 App Again

如果问题仍然存在,那么只需回到您的 avd 管理器,卸载模拟器,然后添加一个新的模拟器。一旦添加了新模拟器,在您的 avd 管理器中,运行 模拟器...然后 运行 您的应用程序。 如果您在运行第一次使用您的应用程序

之前就已经运行使用了模拟器,那就简单多了

以下步骤适合我

  1. 关闭 运行ning 模拟器
  2. 转到 AVD 管理器
  3. 选择可用的模拟器
  4. 在该操作选项卡(最后一个)中,单击下拉箭头 & select 立即冷启动
  5. 终于运行你的申请

没有看完所有的答案。无论如何接受了一个对我不起作用。所做的是将 android 工作室升级到上一个稳定版本,然后创建一个新的虚拟设备。我想我的 nexus 5p 虚拟设备与 android 工作室环境不同步。

这个问题的修复很简单:

  • 转到 SDK 工具 > SDK 工具
  • 勾选Android模拟器并点击应用

有时您可能会看到它旁边有可用的更新,您只需让它完成更新即可

这个问题我遇到了两次,并尝试了这个线程中的所有内容,但没有结果,我最终修复了关闭 "BlueStacks" 模拟器。

如果当我 运行 应用程序时 BlueStacks(可能还有其他 android 模拟器)正在 运行ning,默认情况下 Android Studio 会在那里安装应用程序,即使我从未在 AVD 管理器中选择它作为设备,然后 Android Studio 等待不正确的设备 "to come online"。

关闭 BlueStacks(或任何其他 Android 模拟器)为我解决了设备之间的冲突。

希望此信息对某人有所帮助!

在尝试了上面列出的几乎所有解决方案之后,最终对我有用的是使用 "Google APIs" 映像而不是 "Google Play" 映像创建一个新的虚拟设备。

似乎 Android Studio(使用版本 3.5.1)在一段时间后进入了一种奇怪的状态。这对我有用。

File -> Invalidate Caches / Restart -> Invalidate and Restart

这个解决方案对我有用: 工具 -> AVD 管理器 -> 单击下拉箭头 -> select Cold Boot Now

再一次,请稍等片刻,有时您会错过它的实际效果,但您感到压力很大,等不及了(我就是)。

不确定为什么我修复了我的 Macbook 上发生的相同问题,但是,选择 Nexus 5X API R 会以某种方式工作。或低于

  1. 擦除数据:工具->打开 AVD 管理器并单击 ▼ emu“擦除数据”

  2. 立即冷启动:工具->打开 AVD 管理器并单击 ▼ emu“立即冷启动”

  3. 从 SDK 中卸载并重新安装 Android 仿真器:工具->打开 SDK 管理器->Android SDK(left-side 菜单)->SDK 工具(中间在主屏幕中),然后单击“Android Emulator”并应用,然后再次单击“Android Emulator”应用以重新安装,完成

确保您已在设备上启用 USB 调试


根据您使用的 Android 版本,进行如下操作:

  • 在 Android 8.0 及更高版本上,转到 设置 > 系统 > 关于 phone 并点击 内部版本号 七次。
  • 在 Android 4.2 到 7.1.2 上,转到 设置 > 关于 phone 并点击 内部版本号 七次。

Return 到主 设置 菜单,在底部找到 开发人员选项 。在“开发者选项”菜单中,向下滚动并启用 USB 调试

可能如果您还没有解决它...class 名称使用重音字母...

转到 AVD 管理器 右键单击​​您的设备并 select 擦除数据 冷启动现在。 对我来说它工作正常。

我第一次尝试在配备 M1 芯片的新 MacBook Pro 上 运行 Android 应用程序时遇到了同样的问题。 None 到目前为止建议的选项对我有用。

我按照this Medium post by Elye, which (referring to 中的说明进行操作)建议下载旧版本的Android S系统映像。博客文章中建议的目标位置是错误的,但是(找到正确的位置后,不难猜到)我注意到 Stack Overflow 答案中的位置 正确的:

Google Play ARM 64 v8a System Image (revision: 2)

Google APIs ARM 64 v8a System Image (revision: 2)

[T]he directory you want to put the unzipped images in is probably something like ~/Library/Android/sdk/system-images/android-S.

For example, the path for the Google Play image is ~/Library/Android/sdk/system-images/android-S/google_apis_playstore/arm64-v8a

对于那些在设备而非模拟器上遇到此问题的用户,请确保您的应用未设置为设备所有者。

就我而言(我使用安装了 Playstore 的 Pixel 3 模拟器)

  1. 我尝试 运行 真实设备上的应用程序(如果可以继续下一步)
  2. 我创建了没有安装 Playstore 的新设备(例如:Pixel 2 XL) 它适用于我的情况

这对我在 Android studio 4+ 和 Mac OS

上有效
  1. 删除您当前拥有的所有 AVD。
  2. 转到首选项 > 外观和行为 > 系统设置 > Android SDK > SDK 工具
  3. 卸载Android模拟器
  4. 重新启动 Android Studio。
  5. Re-install Android 来自同一个地方的模拟器。
  6. 创建一个新的模拟器!

所有答案都说同样的话,但我发现当 targetSdkVersion 不是同一版本的模拟器时,有时会发生此错误。我一增加版本,问题就解决了。