Eclipse'den sanal cihaz silinemiyor, android


141

Birden fazla sanal cihazım var, bazıları silinemiyor.

Hata mesajı:

Android sanal cihaz XXX şu anda bir emülatörde çalışıyor ve silinemiyor

Ubuntu'yu yeniden başlattığımda ve sadece Eclipse'i başlattığımda.


1
Nasıl silmeye çalışıyorsunuz ??
EnthuDeveloper

Eclipse'den rahatça silebilir ve ekleyebilirim. Bana nasıl silmeye çalıştığınızı bildirin.
EnthuDeveloper

Emülatör çalışıyorsa ve şu anda çalışan emülatörü silmeye çalışıyorsanız, silmeyecektir. Sanal cihazı silmeden önce lütfen çalışan tüm emülatörleri kapatın
Karthi

2
Emulator bahsettiğim gibi çalışmıyor, en azından ben çalıştırmadım. Eclipse AVD Manager'dan kaldırmaya çalışıyorum! Platform 4.0. Tüm süreçleri öldürmek için özel olarak Ubuntu'yu yeniden başlattım, çünkü herhangi bir şey bulamadım. Görünüşe göre bu sadece Android 4.0 platformunun sorunu.
whatswrong

Şu anda Android Studio için de aynı sorun var.
Jono

Yanıtlar:


290

Linux / * nix ve OSX'te:

  1. Dizininizdeki .android klasörünü bulun $HOME.
  2. .Android uygulamasında bir avd klasörü olmalıdır
  3. Gelen avd klasörden bir veya birden fazla olmalıdır .ini dosyası ve karşılık gelen * .avd sanal aygıt klasörü.
  4. Hem .ini dosyasını hem deKurtulmak istediğiniz .avd klasörü.
  5. Android sdk ve AVD yöneticisine dönün.

Umarım bu yardımcı olur...


40
OSX için de aynı şekilde çalışır. Terminalde ~ / .android / avd / dizinine gidin, ardından <avd name> .ini ve <avd name> .avd dosyalarını silin. Android Sanal Aygıtlar penceresindeki listeyi yenilediğinizde ADV kaybolacaktır.
JosephL

3
ve bahse girerim pencereler için de çalışır. Android SDK yapısını her yerde aynı sanırım :) sadece yollar meselesi.
nuala

Teşekkürler JosephL. Lütfen açıklayabilir misiniz, oluşturduğum .avd dosyamızı çift tıklarsak gösterdiği yol sadece terminalde gezinebilir. Ama bulucudan geçmeye çalışırsam -> / Kullanıcılar / ev / Ben caanot see /.android/avd. Neden ?
Mayıs

~ / .Android / avd / <avd-name> .avd dizinine bakarsanız, .lock uzantılı birkaç dosya göreceksiniz. Bunları silebilirsiniz ve ardından sanal cihaz yöneticisi uygulamasını kullanabilirsiniz.
BJV

AVD yöneticisine dönmeye çalıştığınızda, SDK konumu gibi bir şeyin ayarlanmadığını belirten bir hata alırsanız, çalışma alanına yükleme süresi verin. Yukarıdakileri takip ettim ve bu mesajı aldım,
AVD'ye

25

/Home/.android/[ cihazınızda] .avd klasörü bazen * .lock dosyalarının arkasında bırakılır. Bunun nedeni, beklenmedik öykünücünün sonlandırılması olabilir. AVDM bununla ilgilenmiyor. Bir aygıt klasörünü el ile silmek veya geçersiz kılmak sorunu çözer.

AVDM'de sanal bir cihazı silmeye çalışmadan önce. Tüm * .lock dosyalarını ilgili /home/.android/[ cihazınız] .avd yem klasörlerinden kaldırın. Daha sonra 'XXX cihaz şu anda çalışıyor' açılır penceresi olmadan silebilirsiniz.


Silmeye çalışmamın asıl nedeni, çok açıklayıcı olmayan bir hatayla başlatamadığımdı. Bana göre bu en iyi cevap.
shalafi

19

AVD yöneticisinden çalışan alternatif ve çok daha basit bir çözüm.

AVD yöneticisinden Yeni düğmesine tıklayın. Adı, kapatamayacağınız cihazın adı olarak ayarlayın, herhangi bir ayarı seçin ve Mevcut AVD'yi aynı adla geçersiz kıl kutusunu işaretleyin.

Bu eskisini öldürecek ve yenisiyle üzerine yazacaktır. Yeni olan çalışmıyor ve silinebilir.


6

Java kodu arıyordum ve bu hata gerçekten bir AVD çalışan anlamına gelir ... Tüm top veya htop ile öldürmek denediniz mi (bu çok daha iyi).

    // 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 ile, f3 ile emülatör gibi bir şey arayabilirsiniz :)
Quentin DOMMERC

Daha da ilginç olan kod pasajı, nasıl avdInfo.isRunning()karar verileceğini gösteren kod pasajı olacaktır . (Muhtemelen avd klasörünün * .lock dosyaları için tarandığını gösterir.)
Risadinha

1

Finder'dan (OSX) VEYA Directory Explorer'dan (Linux ve Windows)

  1. $ HOME dizininizdeki .android klasörünü [Gizli Klasör] bulun. MAC'de Klasörleri Göster / Gizle
  2. .Android uygulamasında bir [Aygıtınız] .avd klasörü olmalıdır
  3. * .Lock dosyalarını bulun ve [Cihazınız] .avd klasörünün içinde silin

Android Studio'dan

  1. AVD Manager'ı açın
  2. Silmek istediğiniz sanal cihazı seçin
  3. Sondaki aşağı oku tıklayın ve [Diskte Göster] 'i seçin, dizin açılacaktır
  4. * .Lock dosyalarını bulun ve [Cihazınız] .avd klasörünün içinde silin

Bu adımlardan sonra AVD Manager'dan silmenizi sağlar


0

Ben de bu sorunu vardı .. bulmak / $ home .android klasörü görmek mümkün değildi. Gizli ya da ne olduğunu bilmiyorum. AVD yöneticisinde bir android cihaza çift tıklarsanız, size tam olarak herkesin olması gerektiğini söylediği "çalışan avd" yolu gösterilecektir. Bu dosyaları GUI kullanarak silemediğim için CLI (bunu yapmak için terminal) kullandım. Bir dosyayı kaldırmak için dizini [rm -R] değiştirmek için aşağıdaki komutları [cd] kullanabilirsiniz. Adım adım:

  1. terminal cli'dan böyle bir şeye benzeyecek:

    nameOfYourMac: ~ MacUser $

  2. tip

    cd .android / avd

    (dizin değişir)

    nameOfYourMac: avd MacUser $

  3. tip

    rm -R adıOfYourVirtualDevice.avd

Çok kolay. Şimdi Eclipses AVD Manager'daki cihazı silebilirsiniz.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.