【问题标题】:Waiting for Target Device to Come Online等待目标设备上线
【发布时间】:2017-08-06 13:37:36
【问题描述】:

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

此外,该应用程序遇到了致命异常错误 (OOM),我不知道如何修复它,或者这是否是模拟器问题的一部分。

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

【问题讨论】:

  • 更新后我也会出现这种情况。 adb 一直说设备离线。我认为这是一个工作室错误。切换到 genymotion 模拟器解决了我的问题。
  • 我在真实设备上遇到了这个问题,没有模拟器。 Android Studio 4.2.2,平台工具更新

标签: android timeout emulation


【解决方案1】:

以下在 Android Studio 3.x 上对我有用。

第 1 步: 打开 AVD 管理器。

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

【讨论】:

  • 谢谢,终于成功了。可能是某些文件没有在模拟器上正确更新。
  • 使用 AS 2.3.3 和 Nexus 5X 为我工作
  • 谢谢哥们 :) 就像一个魅力。有没有人向 Google Developers 报告此问题?
  • 我最终创建了一个新的模拟器(无论如何都需要屏幕大小)并删除旧的模拟器。这也解决了它。
  • 在 Android Studio 3.5.3 中为我工作
【解决方案2】:

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

工具 -> AVD 管理器 -> 右键单击​​您正在使用的模拟器 -> 停止

现在再次Run您的申请。

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

【讨论】:

  • 模拟器好像有问题。这行得通!谢谢!
  • 不确定 Android Studio 2.3.1,但是当这个问题在 2.3.0 中第一次遇到时,这个解决方案有效。我在 2.3.1 中从未遇到过同样的问题
  • 我认为这可能会意外地修复比赛条件,但真正的 100% 解决方案是 MarkDubya 的下面。
  • 这个答案为我指明了正确的方向,但帮助的是使用 AVD Manager 中的“冷启动”选项。
  • 冷启动有帮助!
【解决方案3】:

如果您使用的是 Mac,请确保退出 Docker for Mac。这对我有用。

【讨论】:

  • 天才!!节省大量时间......荣誉!
  • 什么是 Docker for Mac?
  • 总是泊坞窗!~
  • 有人能解释一下如何退出 Docker for Mac 吗?
  • 为什么 Docker 在这种情况下会导致模拟器出现问题?这对我有用,但我想知道为什么 Docker 与模拟器发生冲突?
【解决方案4】:

三天后,我相信 adb 和模拟器之间存在竞争条件。在没有模拟器运行的情况下运行应用程序的请求时,您会看到“Initializing ADB”,然后选择模拟器,它会启动,您会看到“等待目标上线”。 adb kill-server,或 kill -9,或 adb 与任务管理器的“结束进程”将导致 adb 死机,重新启动,您的 APK 安装,您就可以开始了。对我来说,“adb kill-server”会导致 adb 死掉然后在这里重新启动,这似乎很奇怪,但这也许是另一个谜。

【讨论】:

  • 感谢您跟踪此问题。这对我来说绝对适用于 Android Studio 2.3.1
  • 2.3.1 在 Windows 10 上,杀死 adb.exe 进程使其重新启动似乎也为我解决了这个问题。谢谢!
  • 这应该是答案。选择的答案对我不起作用,但每次都这样。谢谢!
  • 在终端输入:cd 将目录更改为:android > sdk >platform-tools.然后输入:'adb kill-server'。然后:'adb start-server'
  • 在 AS v 2.3.3 上,这个提议的解决方案不起作用。我从终端运行adb kill-serverwaiting for target device... 消息未停止,服务器未重新启动。我仍然没有解决方案。
【解决方案5】:
  1. 另一种情况是Android 应该重新安装模拟器。当您安装更高版本的 Android Studio,然后为其更新 SDK 并返回到以前的版本时,可能会发生这种情况。

    工具 - Android - SDK 管理器 - SDK 工具 - Android 模拟器 - 取消选中,应用,检查,应用

  2. 禁用 Docker 应用(如果有)(Mac 用户)。

  3. 重启模拟器

    工具 - Android - AVD 管理器 (或在任务管理器中杀死 adb 进程)。

【讨论】:

  • 我的情况下甚至没有安装模拟器。
  • 很好,这个帮了我!
  • 我也试过这个选项,但问题仍然存在。
  • 在我的例子中,Android SDK 平台只安装了一部分。
  • docker 是我的原因!谢谢!
【解决方案6】:

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

总结AVD管理器---右键模拟器----擦除数据----再次运行应用程序

如果问题仍然存在,则只需返回您的 avd 管理器,卸载模拟器,然后添加新模拟器。添加新模拟器后,在您的 avd经理,运行模拟器...然后运行您的应用程序。 如果您在第一次运行应用程序之前就已经运行了一个模拟器,那就更简单了

【讨论】:

  • 只有在卸载/重新安装后才对我有用。
【解决方案7】:

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

【讨论】:

  • 这个虚拟设备的图形配置在哪里?
  • @stramin 转到 Android 虚拟设备管理器(从工具菜单中),单击虚拟机上的编辑(钢笔图标),在那里找到图形选项。 :)
【解决方案8】:

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

【讨论】:

    【解决方案9】:

    以下步骤对我有用

    1. 关闭正在运行的模拟器
    2. 转到 AVD 管理器
    3. 选择可用的模拟器
    4. 在该操作选项卡(最后一个)中,单击下拉箭头并选择 COLD BOOT NOW
    5. 最终运行您的应用程序

    【讨论】:

    • 冷启动对我来说已经足够了。
    【解决方案10】:

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

    文件 -> 使缓存无效/重新启动 -> 无效并重新启动

    【讨论】:

      【解决方案11】:

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

      【讨论】:

      • 这个必须选为正确答案。谢谢
      【解决方案12】:

      转到 AVD Manager 右键单击​​您的设备,然后选择 Wipe DataCold Boot Now。 对我来说它工作正常。

      【讨论】:

      • 非常感谢。我要再添加一个步骤:在 ColdBoot Now 之前停止。之后,您可以在不停止设备的情况下运行应用程序。
      【解决方案13】:

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

      安装完镜像后,模拟器就开始工作了。

      Screenshot of the SDK manager

      【讨论】:

      【解决方案14】:

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

      【讨论】:

        【解决方案15】:

        我发现在我的机器 (OSX) 上运行 Docker 实例会阻止 Android 模拟器运行(请参阅 Android Studio Unable to run AVD

        以前,我的模拟器会启动,然后在显示任何设备窗口之前失败。

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

        【讨论】:

          【解决方案16】:

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

          请参阅Android emulator and virtualbox cannot run at same time 了解更多信息。

          【讨论】:

            【解决方案17】:

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

            $ adb 设备

            附加设备列表

            emulator-5554 未经授权

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

            Authorized Devices

            这是我在 Windows 10 中使用 Android Studio 2.3.3 解决的错误

            【讨论】:

            【解决方案18】:

            解决这个问题很简单:

            • 转到 SDK 工具 > SDK 工具
            • 检查 Android Emulator 并点击应用

            有时你可能会看到它旁边有一个可用的更新,你只需要让它完成更新

            【讨论】:

              【解决方案19】:

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

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

              然后重新安装 Emulator 25.3.1 sdk manager--> SDKtools --> 安装模拟器25.3.1

              这次成功了:)

              【讨论】:

                【解决方案20】:

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

                以下几个步骤:-

                1. 转到 Android Studio 中的“SDK 管理器”
                2. 转到“SDK 工具”标签
                3. 卸载“Android SDK Tools”(意思是去掉“Android SDK Tools”前面的勾选(取消勾选)并应用然后确定)
                4. 关闭并重启 Android Studio
                5. 安装“Android SDK Tools”(意味着先检查“Android SDK Tools”并应用然后确定)

                Image of Uninstall and Install Android SDK Tools again

                【讨论】:

                • 这个问题既不老,你的回答也没有为我解决问题^^我卸载了整个Android Studio,所有SDK工具和东西,重新安装......没有改变。
                • @creativecreatorormaybenot 那么可能是您对 virtualbox 有问题(表示虚拟机)。找到解决方案。祝你好运!!还是谢谢..
                【解决方案21】:

                问题是ide和模拟器没有联系。

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

                如果我们安装 Android 25 并将项目绑定到它,以及 Android 25 上的 AVD 设备 - 它会即时链接和应用更改。如果我们降级到 Android 14 和 android 14 上的设备 - 它不会。

                使用 Android Studio 2.3。

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

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

                因此,应用无法在 Android 25 设备上运行并显示一条消息:

                安装失败并显示消息 Failed to finalize session : -26: 包 ru.asv.test 新目标 SDK 15 不支持运行时 权限,但旧的目标 SDK 25 确实如此。这可能是 问题通过卸载现有版本的 apk 来解决,如果它 存在,然后重新安装。

                警告:卸载将删除应用程序数据!

                【讨论】:

                  【解决方案22】:

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

                  以下是步骤:

                  1. 在您的虚拟设备屏幕中,选择您刚刚创建的设备,然后单击在模拟器中启动此 AVD
                  2. 模拟器启动后,点击项目窗口中的应用模块,然后选择运行→运行
                  3. 在“选择部署目标”窗口中,选择模拟器并单击“确定”。

                  【讨论】:

                    【解决方案23】:

                    对于使用 KVM 并遇到此问题的 Linux 用户,请尝试将 Android 虚拟设备上的 Graphics 选项设置为 Software 而不是 AutomaticHardware 。正如前面提到的answer

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

                    【讨论】:

                    • 谢谢。这个对我有用。 got 通过在 config.ini 文件中设置 hw.gpu.mode = host 来工作
                    【解决方案24】:

                    我正在使用笔记本电脑,Windows 8。我解决了这个问题,将模式从省电模式更改为平衡模式。在此之前,模拟器不起作用,我看到“目标设备上线”。也没有工作 Genymotion

                    【讨论】:

                    • 嗨 Delphian 可以提一下我在哪里可以将省电模式更改为平衡模式
                    • 在你的笔记本右下角有一个电池图标,你需要点击它查看你的节能模式是什么。
                    【解决方案25】:

                    我在更新我的 android studio 时遇到了类似的问题。不知何故,它改变了我的 SDK 路径。我只是将它更改为我更新的 SDK 路径,它可以工作。

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

                    在这里您将找到 Android SDK 位置,只需单击前面的编辑​​链接,然后从文件浏览器中浏览并选择 Android SDK。选择并单击应用。

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

                    【讨论】:

                      【解决方案26】:

                      转到终端并输入android avd。选择您的 AVD 并选择“编辑”。确保您没有看到No CPU/ABI system image available for this target - 它会在底部以红色字体显示。将target 更改为可用的或下载ABI 映像。有时,如果您从 Android Studio 内部创建 AVD,它并不能确保此要求。

                      【讨论】:

                        【解决方案27】:

                        以上解决方案都不适合我,所以我不得不擦除

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

                        并重新创建模拟设备

                        【讨论】:

                          【解决方案28】:

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

                          $ export ANDROID_EMULATOR_USE_SYSTEM_LIBS = 1
                          

                          此案例记录在此:https://developer.android.com/studio/command-line/variables.html#studio_jdk

                          【讨论】:

                            【解决方案29】:

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

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

                            【讨论】:

                              【解决方案30】:

                              我遇到了两次这个问题,并在这个线程中尝试了所有方法都没有结果,我终于在关闭“BlueStacks”模拟器时修复了它。

                              如果在我运行应用程序时正在运行 BlueStacks(可能还有其他 android 模拟器),默认情况下 Android Studio 会在其中安装应用程序,即使我从未在 AVD 管理器中选择它作为设备,Android Studio 也会等待不正确的设备“上线”。

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

                              我希望这些信息对某人有所帮助!

                              【讨论】:

                                猜你喜欢
                                • 2017-11-10
                                • 2018-02-05
                                • 2018-02-03
                                • 2017-11-28
                                • 1970-01-01
                                • 1970-01-01
                                • 2019-08-18
                                • 2022-07-23
                                • 2017-08-03
                                相关资源
                                最近更新 更多