ग्रहण, एंड्रॉइड से वर्चुअल डिवाइस को हटा नहीं सकते


141

मेरे पास कई वर्चुअल डिवाइस हैं, उनमें से कुछ को हटाया नहीं जा सकता है।

त्रुटि संदेश है

एंड्रॉइड वर्चुअल डिवाइस XXX वर्तमान में एक एमुलेटर में चल रहा है और इसे हटाया नहीं जा सकता है

जब मैंने सिर्फ उबंटू को फिर से शुरू किया है और केवल ग्रहण शुरू किया है।


1
आप कैसे हटाने की कोशिश कर रहे हैं ??
ईर्ष्यावर्धक

मैं ग्रहण को आराम से हटा और जोड़ सकता हूं। मुझे बताएं कि आप इसे कैसे हटाना चाहते हैं?
ईर्ष्यावर्धक

यदि एमुलेटर चल रहा है और यदि आप वर्तमान में चल रहे एमुलेटर को हटाने की कोशिश कर रहे हैं, तो यह डिलीट नहीं हुआ। इससे पहले कि आप वर्चुअल डिवाइस को डिलीट करें, सभी रनिंग एमुलेटर
Karthi

2
एम्यूलेटर नहीं चल रहा है जैसा कि मैंने उल्लेख किया है, कम से कम मैंने इसे नहीं चलाया। मैं इसे ग्रहण AVD प्रबंधक से हटाने की कोशिश कर रहा हूँ! यह प्लेटफॉर्म 4.0 है। मैंने विशेष रूप से सभी प्रक्रियाओं को मारने के लिए उबंटू को फिर से शुरू किया, क्योंकि मुझे कोई नहीं मिला .. ऐसा लगता है कि यह केवल एंड्रॉइड 4.0 प्लेटफॉर्म की समस्या है।
whatsrrong

फिलहाल Android स्टूडियो के लिए एक ही मुद्दा।
जोनो सेप

जवाबों:


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 name> .ini और <avd name> .avd फाइलें हटाएं। जब आप एंड्रॉइड वर्चुअल डिवाइसेस विंडो में सूची को रीफ्रेश करते हैं तो ADV चला जाएगा।
जोसेफ

3
और मुझे यकीन है कि यह खिड़कियों के लिए भी काम करता है। Android के SDK की संरचना का अनुमान हर जगह एक ही है :) बस रास्तों की बात है।
15

धन्यवाद जोसेफएल। क्या आप कृपया समझा सकते हैं, यदि यह दिखाता है कि यदि हम डबल क्लिक करते हैं तो हमारे द्वारा बनाया गया। केवल टर्मिनल के माध्यम से नेविगेट किया जा सकता है। लेकिन अगर मैं खोजक के माध्यम से जाने की कोशिश करता हूं -> / उपयोगकर्ता / घर / मैं caanot देख / /android/avd। ऐसा क्यों है ?
मई

यदि आप ~ / .android / avd / <avd-name> .avd डायरेक्टरी में देखते हैं, तो आपको .lock एक्सटेंशन वाली अन्य फाइलें दिखाई देंगी। आप उन्हें हटा सकते हैं और फिर आप वर्चुअल डिवाइस मैनेजर ऐप का उपयोग कर पाएंगे।
BJV

यदि आप AVD manageryou में लौटने की कोशिश करते हैं तो यह कहते हुए एक त्रुटि मिलती है कि SDK स्थान सेट नहीं किया गया है, कार्यक्षेत्र को लोड करने का समय दें। मैंने उपरोक्त का पालन किया और यह संदेश मिला, यह
जानने में थोड़ा

25

/Home/.android/.your डिवाइस में] .avd फ़ोल्डर कभी-कभी * .lock फ़ाइलों के पीछे छोड़ दिया जाता है। यह अप्रत्याशित एमुलेटर समाप्ति के कारण हो सकता है। AVDM इससे निपटता नहीं है। डिवाइस फ़ोल्डर को मैन्युअल रूप से हटाने या उसे ओवरराइड करने से समस्या हल हो जाती है।

AVDM में वर्चुअल डिवाइस को हटाने का प्रयास करने से पहले। सभी * .lock फ़ाइलों को संबंधित /home/.android/.your डिवाइस] .avd फोडलर्स से निकालें। इसके बाद आप 'डिवाइस XXX अभी चल रहा है' पॉपअप के बिना डिलीट कर पाएंगे।


मूल कारण कि मैंने हटाने की कोशिश की थी कि मैं इसे शुरू नहीं कर पाया, बहुत ही गैर-व्याख्यात्मक त्रुटि के साथ। तो, मेरे लिए, यह सबसे अच्छा जवाब है।
शालाफी

19

एक वैकल्पिक और बहुत सरल समाधान जो AVD प्रबंधक से काम करता है।

AVD मैनेजर से न्यू बटन पर क्लिक करें। नाम को उस डिवाइस के नाम के रूप में सेट करें जिसे आप बंद नहीं कर सकते हैं, कोई भी सेटिंग्स चुन सकते हैं, और उस बॉक्स को टिक कर सकते हैं जो कहता है कि मौजूदा AVD को उसी नाम से ओवरराइड करें।

यह पुराने को मार देगा और नए के साथ ओवरराइट कर देगा। नया नहीं चल रहा है और इसलिए इसे हटाया जा सकता है।


6

मैं जावा कोड की तलाश में हूं और इस त्रुटि का वास्तव में मतलब है कि आपके पास एक एवीडी चल रहा है ... क्या आपने शीर्ष या होटो (जो रास्ता बेहतर है) के साथ सभी को मारने की कोशिश की है।

    // 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()तय किया गया है। (यह संभवतः पता चलता है कि एवीडी फ़ोल्डर *
.lock

1

खोजक (OSX) या निर्देशिका एक्सप्लोरर (लिनक्स और विंडोज) से

  1. अपने $ घर निर्देशिका में .android फ़ोल्डर [हिडन फोल्डर] का पता लगाएं। मैक पर फोल्डर दिखाएं / छिपाएं
  2. .Android में एक [आपका डिवाइस] .avd फोल्डर होना चाहिए
  3. * .Lock फ़ाइलें खोजें और [अपने डिवाइस] .avd फ़ोल्डर के अंदर हटाएं

एंड्रॉइड स्टूडियो से

  1. AVD प्रबंधक खोलें
  2. वह वर्चुअल डिवाइस चुनें जिसे आप हटाना चाहते हैं
  3. अंत में नीचे तीर पर क्लिक करें और [डिस्क पर दिखाएँ] चुनें, यह निर्देशिका खोलेगा
  4. * .Lock फ़ाइलें खोजें और [अपने डिवाइस] .avd फ़ोल्डर के अंदर हटाएं

इन चरणों के बाद यह आपको AVD प्रबंधक से हटाने की अनुमति देगा


0

मेरे पास यह मुद्दा भी था .. $ घर में .android फ़ोल्डर खोजने / देखने में सक्षम नहीं था। मुझे नहीं पता कि यह छिपा है या क्या। यदि आप एवीडी प्रबंधक में एक एंड्रॉइड डिवाइस पर डबल क्लिक करते हैं, तो यह आपको "रनिंग एवीडी" का रास्ता दिखाएगा, जो बिल्कुल वही है जहां हर कोई कहता है कि यह होना चाहिए। चूंकि मैं GUI का उपयोग करके इन फ़ाइलों को हटा नहीं सकता था, इसलिए मैंने CLI (ऐसा करने के लिए टर्मिनल) का उपयोग किया। आप एक फ़ाइल को हटाने के लिए निर्देशिका [rm -R] को बदलने के लिए निम्न आदेशों का उपयोग कर सकते हैं। क्रमशः:

  1. टर्मिनल क्ली से जो कुछ इस तरह दिखेगा:

    nameOfYourMac: ~ मैकयूजर $

  2. प्रकार

    cd .android / avd

    (निर्देशिका परिवर्तन)

    nameOfYourMac: avd MacUser $

  3. प्रकार

    rm -R nameOfYourVirtualDevice.avd

बहुत आसान। अब आपको Eclipses के AVD Manager में डिवाइस को डिलीट करने में सक्षम होना चाहिए।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.