【问题标题】:How do I restart an android emulator?如何重启安卓模拟器?
【发布时间】:2012-03-21 18:22:02
【问题描述】:

我基本上是在尝试这样做: Changing the Android emulator locale automatically

一切正常,直到“开始”。模拟器开始启动,但永远在闪烁的“ANDROID”屏幕上加载。我一定遗漏了一些东西......如何从 ADB 重新启动模拟器?

好的,我应该更具体一些。

我正在尝试使用 adb 从命令行执行此操作。我可以使用 adb 来设置属性,我可以停止模拟器。当我尝试在 adb shell 中执行“启动”时,模拟器确实开始启动,但它永远不会返回到锁定屏幕。

【问题讨论】:

  • 您是否开始使用 CLI? emulator -avd my_avd -prop persist.sys.language=en -prop persist.sys.country=GB
  • 这样可以避免弄乱系统映像

标签: android adb


【解决方案1】:

在 Android Studio 中转到:

  1. Tools > Android > AVD Manager
  2. 选择您的模拟器设备
  3. 点击“立即冷启动”重启,或点击“擦除数据”恢复出厂设置

【讨论】:

  • 假设 Android Studio 已安装。
  • 我认为使用“冷启动”会更好!
  • @Shukant Pal 您能否描述一下“冷启动”是什么以及它是如何工作的?
  • 在您找到“擦除数据”的菜单中,您还可以找到“冷启动”。它启动模拟器,就好像它之前被关闭(而不是从睡眠中唤醒)。在此过程中,您通常不会丢失持久性数据。
  • 它说“AVD XXX 已经在运行”,这是真的。如何重启?
【解决方案2】:

你可以试试

emulator @avd_name -no-snapshot-load

它将清理加载它为我工作的设备。

【讨论】:

  • 但无法重启设备。它会抱怨设备已经在运行
  • emulator @Nexus_5X_API_23 -no-snapshot 就够了
  • 我不知道 @ 必须作为前缀...这也有效:emulator -avd Nexus_6_API_30 -no-snapshot-load
【解决方案3】:

您询问如何从 ADB 重新启动模拟器。但是标题的框定方式在搜索有关从 UI 重新启动时也会弹出问题。

一个选项可能是(但这取决于您使用的工具,并且可能不适用于所有模拟器/环境)是点击并按住 电源按钮然后会弹出一个菜单,里面有一个重启选项。


这是一个长期存在的默认行为,但从 Android 12 / API 31 开始,它会尝试打开 Google Assistant(即使没有 Google API 或 Google Play 的模拟器上没有这样的东西?)。可以通过转到设置>系统>手势>“按住电源按钮”来恢复旧行为以在屏幕截图中调出菜单。

【讨论】:

  • 为我工作! (Windows 7 - Android-Studio 3)
  • 也适用于 Linux。这应该是公认的答案。
  • @Deepak 不是。如果模拟器操作系统像我的情况一样被冻结,它就不起作用。我不得不擦除保存的状态
  • 不幸的是,它现在打开了“谷歌助手”。我们现在如何从 UI 重新启动模拟器?
  • @BenButterworth 查看编辑。长按按键时,Logcat 显示system_process D/WindowManager: powerLongPress: eventTime=... mLongPressOnPowerBehavior=5 表示com.android.server.policy.PhoneWindowManager.LONG_PRESS_POWER_ASSISTANT 常量;在这里我们可以看到其他可能的选项。
【解决方案4】:

重新启动我使用的正在运行的模拟器

adb -e reboot

(假设只有一个在运行)

【讨论】:

    【解决方案5】:

    我很确定这会奏效:

    • 将 AVD 清除/擦除为默认值或创建一个新的。

    • 使用以下命令启动AVD/Emulator from the CLI

      emulator -avd my_avd -prop persist.sys.language=en -prop persist.sys.country=GB
      

    根据需要进行更改。这样您就不会弄乱可能导致挂起/崩溃的系统映像。您可以轻松地在启动时针对各种语言环境进行设置。

    【讨论】:

    • 我想我最终会做这样的事情。唯一的缺点是,当我再次更改语言/国家/地区时,我每次都必须完全杀死模拟器。我想这还不错。
    • @jeff 对,好吧,要么杀死它并以这种方式从 CLI 开始,要么用 ADB 设置它并重新启动它......所以,我猜几乎是一样的痛苦。 IMO 只是从 CLI 单行中轻松一点。
    • 有没有办法通过命令行“清除/擦除 AVD”?
    【解决方案6】:

    如果您使用的是 Android Studio,您可以转到 AVD Manager,在 Actions 下选择“Cold Boot Now”以重新启动模拟器。如果模拟器的进程突然关闭/终止,这将消除可能发生的错误/差异。

    【讨论】:

    • 值得注意的是,您需要先杀死/关闭模拟器(似乎很明显,但它让我卡住了)。
    【解决方案7】:

    对我来说,kiran-chenna 的回答让我失望了,解决方案是改为运行:

    emulator -avd Pixel_2_API_28 -no-cache
    

    【讨论】:

    • -no-cache 帮了我大忙,最简单的解决方案 IMO 谢谢 :)
    【解决方案8】:

    在我的情况下,模拟器卡住后需要冷启动。它可以在 Android 虚拟设备管理器中找到。

    【讨论】:

    • 冷启动是什么意思?
    • 冷启动通常是指完全关闭电源后系统启动。热启动是指您在系统已经运行后重新启动系统(CPU 仍然很热)。在这种情况下,冷启动意味着完全重新启动 VM,而不是从存储的快照中恢复。
    • This answer 提供了更清晰的冷启动步骤顺序。
    【解决方案9】:

    按照以下步骤重新启动/冷启动您的虚拟设备:

    1. 打开 Android Studio
    2. 点击配置
    3. 点击 AVD 管理器
    4. 点击虚拟设备右侧的下拉菜单。
    5. 立即点击冷启动

    你已经完成了!设备将在几分钟内重新启动。

    【讨论】:

      【解决方案10】:

      要启动/停止或重新启动模拟器,请按以下步骤操作:

      在windows机器上使用telnet

      o 本地主机 5554

      avd start 开始

      avd 开始重启

      avd 停止

      【讨论】:

        【解决方案11】:

        某些版本的模拟器 (android-7) 有问题,只是挂在 shimmmera 上。

        尝试使用“擦除用户数据”选项重新启动它(是的,您必须重新运行 应用程序或至少重新安装它)。

        【讨论】:

          【解决方案12】:

          你可以从 adb shell 重启模拟器, 在终端中启动模拟器和 adb shell。

          start 启动(重新启动)模拟器/设备实例。
          stop停止执行模拟器/设备实例。

          【讨论】:

          • 这就是我正在尝试的!我在终端,我正在使用 adb。我可以更改道具,我可以停止模拟器,但是当我“启动”时,它永远不会完成启动。
          【解决方案13】:

          在右上角的eclipse中你会发现DDMS去那里,左边你会发现Devices,最后你会发现一个向下的三角形,你会发现Reset adb。

          【讨论】:

            【解决方案14】:

            2022 Android Studio Bumblebee:模拟设备在屏幕上打开(“模拟器”选项卡打开),按并按住窗口顶部的电源按钮,就像在真实设备上一样,它会弹出设备的菜单,就像您按住真实设备侧面的按钮一样。例如:

            【讨论】:

            • 我不得不关闭谷歌助手,它工作了
            猜你喜欢
            • 1970-01-01
            • 2010-12-29
            • 2012-05-31
            • 1970-01-01
            • 2014-11-02
            • 1970-01-01
            • 2012-06-17
            • 2017-11-17
            • 2013-03-30
            相关资源
            最近更新 更多