无法从Eclipse,Android删除虚拟设备


141

我有多个虚拟设备,其中一些无法删除。

错误消息是

android虚拟设备XXX当前正在仿真器中运行,无法删除

当我刚刚重新启动Ubuntu并仅启动Eclipse时。


1
您如何尝试删除?
EnthuDeveloper 2011年

我可以轻松地从Eclipse中删除和添加。让我知道您如何尝试删除它。
EnthuDeveloper 2011年

如果模拟器正在运行,并且您要删除当前正在运行的模拟器,则不会删除它。在删除虚拟设备之前,请关闭所有正在运行的仿真器
Karthi

2
仿真器没有像我提到的那样运行,至少我没有运行它。我正在尝试将其从Eclipse AVD Manager中删除!它是平台4.0。我特地重启了Ubuntu,以杀死所有进程,因为我没有找到任何进程。。似乎这只是Android 4.0平台的问题。
whatswrong 2011年

目前,Android Studio存在相同问题。
乔诺2014年

Answers:


290

在Linux / * nix和OSX中:

  1. 在目录中找到.android文件夹$HOME
  2. 在.android中应该有一个AVD文件夹
  3. avd文件夹中应有一个或多个.ini文件以及一个对应的* .avd虚拟设备文件夹。
  4. 删除.ini文件和您想要摆脱的.avd文件夹。
  5. 返回到Android SDK和AVD管理器。

我希望这有帮助...


40
与OSX相同。在终端中,转到〜/ .android / avd /,然后删除<avd名称> .ini和<avd名称> .avd文件。当您在“ Android虚拟设备”窗口中刷新列表时,ADV将消失。
JosephL 2012年

3
我敢打赌它也适用于Windows。猜猜android的SDK的结构到处都是一样的:)只是路径问题。
nuala 2012年

谢谢JosephL。您能否解释一下,如果我们双击我创建的.avd时显示的路径只能在终端中导航。但是,如果我尝试通过finder-> / Users / home /我会看不到/.android/avd。这是为什么 ?
2013

如果您在〜/ .android / avd / <avd-name> .avd目录中查找,则会看到几个带有.lock扩展名的文件。您可以删除它们,然后就可以使用虚拟设备管理器应用程序。
BJV

如果尝试返回到AVD管理器时收到错误消息,提示未设置SDK位置之类的内容,请给工作区加载时间。我按照上面的方法得到了此消息,花了一段时间才弄清楚我只是跳得太快而无法回到AVD
nPn 2014年

25

在/home/.android/ [您的设备] .avd文件夹中,有时会留下* .lock文件。这可能是因为仿真器意外终止。AVDM不会处理此问题。手动删除或覆盖设备文件夹可以解决此问题。

尝试删除AVDM中的虚拟设备之前。从相应的/home/.android/ [您的设备] .avd文件夹中删除所有* .lock文件。然后,您将可以删除而不显示“设备XXX当前正在运行”弹出窗口。


我尝试删除的原始原因是我无法启动它,并带有非常不解释的错误。因此,对我来说,这是最好的答案。
shalafi 2014年

19

可从AVD管理器工作的另一种更简单的解决方案。

在AVD管理器中,单击“新建”按钮。将名称设置为无法关闭的设备的名称,选择任何设置,然后勾选“使用相同名称覆盖现有AVD”框。

这将杀死旧的并用新的覆盖。新的未运行,因此可以删除。


6

我一直在寻找Java代码,并且此错误确实意味着您正在运行AVD ...您是否尝试过使用top或htop终止killem(这更好)。

    // check if the AVD is running
    if (avdInfo.isRunning()) {
        display.asyncExec(new Runnable() {
            public void run() {
                Shell shell = display.getActiveShell();
                MessageDialog.openError(shell,
                        "Delete Android Virtual Device",
                        String.format(
                                "The Android Virtual Device '%1$s' is currently running in an emulator and cannot be deleted.",
                                avdInfo.getName()));
            }
        });
        return;

使用htop,您可以使用f3搜索类似模拟器的内容:)
Quentin DOMMERC

更加有趣的代码片段将是显示如何avdInfo.isRunning()确定代码的片段。(它可能表明avd文件夹已扫描* .lock文件。)
Risadinha 2013年

1

从Finder(OSX)或目录资源管理器(Linux和Windows)

  1. 在$ HOME目录中找到.android文件夹[Hidden Folder]。在MAC上显示/隐藏文件夹
  2. 在.android中,应该有一个[您的设备] .avd文件夹
  3. 查找* .lock文件并在[您的设备] .avd文件夹中删除

从Android Studio

  1. 打开AVD管理器
  2. 选择要删除的虚拟设备
  3. 单击末尾的向下箭头,然后选择[在磁盘上显示],它将打开目录
  4. 查找* .lock文件并在[您的设备] .avd文件夹中删除

这些步骤之后,它将允许您从AVD Manager中删除


0

我也有这个问题..无法在$ home中找到/查看.android文件夹。我不知道它是隐藏的还是什么。如果您在AVD管理器中双击一个Android设备,它将向您显示“正在运行的avd”的路径,这正是每个人都应该说的位置。由于无法使用GUI删除这些文件,因此我使用CLI(通过终端执行此操作)。您可以使用以下命令[cd]更改目录[rm -R]来删除文件。一步步:

  1. 从终端cli看起来像这样:

    nameOfYourMac:〜MacUser $

  2. 类型

    cd .android / avd

    (目录更改)

    nameOfYourMac:avd MacUser $

  3. 类型

    rm -R nameOfYourVirtualDevice.avd

挺容易。现在,您应该能够在Eclipses的AVD Manager中删除该设备。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.