Không thể xóa thiết bị ảo khỏi Eclipse, android


141

Tôi có nhiều thiết bị ảo, một số trong số chúng không thể bị xóa.

Thông báo lỗi là

Thiết bị ảo Android XXX hiện đang chạy trong trình giả lập và không thể xóa

khi tôi vừa khởi động lại Ubuntu và chỉ khởi động Eclipse.


1
Làm thế nào bạn đang cố gắng để xóa ??
EnthuDeveloper

Tôi có thể xóa và thêm từ Eclipse một cách thoải mái. Hãy cho tôi biết làm thế nào bạn đang cố gắng để xóa nó.
EnthuDeveloper

Nếu trình giả lập đang chạy và nếu bạn đang cố xóa trình giả lập hiện đang chạy thì nó sẽ không xóa. Trước khi bạn xóa thiết bị ảo, vui lòng đóng tất cả trình giả lập đang chạy
Karthi

2
Trình giả lập không chạy như tôi đã đề cập, ít nhất là tôi đã không chạy nó. Tôi đang cố gắng loại bỏ nó khỏi Trình quản lý AVD của Eclipse! Đây là nền tảng 4.0. Tôi đặc biệt khởi động lại Ubuntu để tiêu diệt tất cả các quy trình, vì tôi không tìm thấy bất kỳ .. Có vẻ như đó chỉ là vấn đề của nền tảng Android 4.0.
whatswrong

Vấn đề tương tự cho Android Studio tại thời điểm này.
Jono

Câu trả lời:


290

Trong Linux / * nix và OSX:

  1. Tìm thư mục .android trong thư mục của bạn $HOME.
  2. Trong .android nên có một thư mục avd
  3. Trong thư mục avd phải là một hoặc nhiều tệp .ini và thư mục thiết bị ảo * .avd tương ứng .
  4. Xóa cả tệp .inithư mục .avd bạn muốn thoát khỏi.
  5. Quay trở lại trình quản lý sdk và AVD của Android.

Tôi hi vọng cái này giúp được...


40
Hoạt động tương tự cho OSX. Trong thiết bị đầu cuối Đi đến ~ / .android / avd / sau đó xóa các tệp <avd name> .ini và <avd name> .avd. Khi bạn làm mới danh sách trong cửa sổ Thiết bị ảo Android, thì ADV sẽ biến mất.
JosephL

3
và tôi cá là nó cũng hoạt động cho windows. Đoán cấu trúc SDK của Android ở mọi nơi giống nhau :) chỉ là vấn đề đường dẫn.
nours

Cảm ơn JosephL. Bạn có thể giải thích, đường dẫn mà nó hiển thị nếu chúng tôi nhấp đúp vào .avd mà tôi đã tạo chỉ có thể được điều hướng qua thiết bị đầu cuối. Nhưng nếu tôi cố gắng đi qua công cụ tìm -> / Người dùng / nhà / Tôi caanot thấy /.android/avd. tại sao vậy ?
tháng

Nếu bạn tìm trong thư mục ~ / .android / avd / <avd-name> .avd, bạn sẽ thấy một số tệp có phần mở rộng .lock. Bạn có thể xóa chúng và sau đó bạn sẽ có thể sử dụng ứng dụng quản lý thiết bị ảo.
BJV

Nếu khi bạn cố gắng quay lại trình quản lý AVD, bạn sẽ gặp lỗi khi nói rằng vị trí SDK chưa được đặt, hãy cho thời gian tải không gian làm việc để tải. Tôi đã làm theo những điều trên và nhận được tin nhắn này, phải mất một lúc để nhận ra tôi chỉ đang nhảy quá nhanh để quay lại AVD
nPn

25

Trong thư mục /home/.android/[your] .avd đôi khi bị bỏ lại phía sau các tệp * .lock. Điều này có thể là do chấm dứt giả lập bất ngờ. AVDM không giải quyết vấn đề này. Xóa thủ công một thư mục thiết bị hoặc ghi đè lên nó sẽ giải quyết vấn đề.

Trước khi cố gắng xóa một thiết bị ảo trong AVDM. Xóa tất cả các tệp * .lock khỏi thiết bị /home/.android/[your của bạn] .avd fodlers. Sau đó, bạn sẽ có thể xóa mà không cần cửa sổ bật lên 'thiết bị XXX hiện đang chạy'.


Lý do ban đầu tại sao tôi cố gắng xóa là tôi không thể khởi động nó, với một lỗi rất không giải thích được. Vì vậy, với tôi, đây là câu trả lời tốt nhất.
shalafi

19

Một giải pháp thay thế và đơn giản hơn nhiều hoạt động từ trình quản lý AVD.

Từ trình quản lý AVD, nhấp vào nút Mới. Đặt tên là tên của thiết bị mà bạn không thể đóng, chọn bất kỳ cài đặt nào và đánh dấu vào ô ghi đè AVD hiện có cùng tên.

Điều này sẽ giết cái cũ và ghi đè lên cái mới. Cái mới không chạy và vì vậy có thể bị xóa.


6

Tôi đã tìm mã java và lỗi này thực sự có nghĩa là bạn có AVD đang chạy ... Bạn đã thử kill'em all with top hay htop (cách này tốt hơn).

    // 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;

với htop, bạn có thể tìm kiếm với f3 tìm kiếm thứ gì đó giống như trình giả lập :)
Quentin DOMmerC

Đoạn mã thú vị hơn nữa sẽ là đoạn mã hiển thị cách avdInfo.isRunning()quyết định. (Có thể cho thấy thư mục avd được quét cho các tệp * .lock.)
Risadinha

1

Từ Finder (OSX) HOẶC Directory Explorer (Linux & Windows)

  1. Tìm thư mục .android [Thư mục ẩn] trong thư mục $ HOME của bạn. Hiển thị / ẩn thư mục trên MAC
  2. Trong .android phải có thư mục [Thiết bị của bạn] .avd
  3. Tìm tệp * .lock và xóa trong thư mục [Thiết bị của bạn] .avd

Từ Android Studio

  1. Mở Trình quản lý AVD
  2. Chọn thiết bị ảo mà bạn muốn xóa
  3. Nhấp vào mũi tên xuống ở cuối và chọn [Hiển thị trên đĩa] nó sẽ mở thư mục
  4. Tìm tệp * .lock và xóa trong thư mục [Thiết bị của bạn] .avd

Sau các bước này, nó sẽ cho phép bạn xóa khỏi Trình quản lý AVD


0

Tôi cũng gặp vấn đề này .. không thể tìm / xem thư mục .android trong $ home. Tôi không biết nếu nó được ẩn hoặc những gì. Nếu bạn nhấp đúp vào thiết bị Android trong trình quản lý AVD, nó sẽ hiển thị cho bạn đường dẫn của "avd đang chạy", chính xác là nơi mọi người nói nó nên ở đó. Vì tôi không thể xóa các tệp này bằng GUI, tôi đã sử dụng CLI (thiết bị đầu cuối để làm như vậy). Bạn có thể sử dụng các lệnh sau [cd] để thay đổi thư mục [rm -R] để xóa tệp. Từng bước một:

  1. từ thiết bị đầu cuối cli sẽ trông giống như thế này:

    nameOfYourMac: ~ MacUser $

  2. kiểu

    cd .android / avd

    (thay đổi thư mục)

    nameOfYourMac: avd MacUser $

  3. Kiểu

    rm -R nameOfYourVirtualDevice.avd

Khá dễ. Bây giờ bạn sẽ có thể xóa thiết bị trong Trình quản lý AVD của Eclipses.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.