ไม่สามารถลบอุปกรณ์เสมือนจาก Eclipse, android


141

ฉันมีอุปกรณ์เสมือนหลายตัวบางตัวไม่สามารถลบได้

ข้อความแสดงข้อผิดพลาดคือ

XXX อุปกรณ์เสมือน android กำลังทำงานในอีมูเลเตอร์และไม่สามารถลบได้

เมื่อฉันเพิ่งรีสตาร์ท Ubuntu และเริ่ม Eclipse เท่านั้น


1
คุณพยายามลบอย่างไร ??
EnthuDeveloper

ฉันสามารถลบและเพิ่มจาก Eclipse ได้อย่างสะดวกสบาย ให้ฉันรู้ว่าคุณพยายามจะลบมันอย่างไร
EnthuDeveloper

หากอีมูเลเตอร์ทำงานอยู่และหากคุณพยายามลบอิมูเลเตอร์ที่กำลังทำงานอยู่มันจะไม่ลบ ก่อนที่คุณจะลบอุปกรณ์เสมือนโปรดปิดโปรแกรมจำลองที่ทำงานอยู่ทั้งหมด
Karthi

2
อีมูเลเตอร์ไม่ทำงานตามที่ฉันกล่าวไว้อย่างน้อยฉันก็ไม่ได้รัน ฉันกำลังพยายามลบออกจาก Eclipse AVD Manager! เป็นแพลตฟอร์ม 4.0 ฉันรีสตาร์ท Ubuntu เป็นพิเศษเพื่อฆ่ากระบวนการทั้งหมดเพราะฉันไม่พบใด ๆ .. ดูเหมือนว่ามันเป็นเพียงปัญหาของแพลตฟอร์ม Android 4.0
whatswrong

ปัญหาเดียวกันสำหรับ Android Studio ในขณะนี้
Jono

คำตอบ:


290

ใน Linux / * ระวังและ OSX:

  1. ค้นหาโฟลเดอร์. androidใน$HOMEไดเรกทอรีของคุณ
  2. ใน. androidควรมีโฟลเดอร์avd
  3. ในโฟลเดอร์avdควรเป็นไฟล์. ini หนึ่งไฟล์หรือหลายไฟล์และโฟลเดอร์อุปกรณ์เสมือน* .avd ที่เกี่ยวข้อง
  4. ลบทั้งไฟล์. iniและโฟลเดอร์. avd ที่คุณต้องการกำจัด
  5. กลับไปที่ Android sdk และ AVD manager

ฉันหวังว่านี่จะช่วยได้...


40
ทำงานเหมือนกันสำหรับ OSX ในเทอร์มินัลไปที่ ~ / .android / avd / จากนั้นลบไฟล์ <avd name> .ini และ <avd name> .avd เมื่อคุณรีเฟรชรายการในหน้าต่างอุปกรณ์ Android เสมือน ADV จะหายไป
JosephL

3
และฉันพนันได้เลยว่ามันใช้ได้กับหน้าต่างด้วย เดาว่าโครงสร้างของ SDK ของ android นั้นเหมือนกันทุกที่ :) แค่เรื่องของเส้นทาง
nuala

ขอบคุณ JosephL คุณช่วยอธิบายได้ไหมเส้นทางที่มันแสดงถ้าเราดับเบิลคลิกไฟล์. avd ที่ฉันสร้างขึ้นสามารถนำทางผ่านเทอร์มินัลได้เท่านั้น แต่ถ้าฉันพยายามผ่านตัวค้นหา -> / ผู้ใช้ / ที่บ้าน / ฉันสามารถดู /.android/avd ได้ ทำไมถึงเป็นอย่างนั้น?
อาจ

หากคุณดูในไดเรกทอรี ~ / .android / avd / <avd-name> .avd คุณจะเห็นไฟล์หลายไฟล์ที่มีนามสกุล. lock คุณสามารถลบสิ่งเหล่านั้นได้จากนั้นคุณจะสามารถใช้แอปตัวจัดการอุปกรณ์เสมือนได้
BJV

หากเมื่อคุณพยายามกลับไปที่การจัดการ AVD คุณจะได้รับข้อผิดพลาดว่ามีบางอย่างที่ไม่ได้ตั้งค่าตำแหน่ง SDK ให้เวลาในพื้นที่ทำงานเพื่อโหลด ฉันตามข้างบนและได้รับข้อความนี้ใช้เวลาสักครู่เพื่อคิดว่าฉันเพิ่งกระโดดเร็วเกินไปที่จะกลับไปที่ AVD
nPn

25

ในไฟล์ /home/.android/ [อุปกรณ์ของคุณ] .avd บางครั้งจะถูกทิ้งไว้ข้างหลังไฟล์ * .lock อาจเป็นเพราะการยกเลิกตัวจำลองที่ไม่คาดคิด AVDM ไม่จัดการกับสิ่งนี้ การลบโฟลเดอร์อุปกรณ์ด้วยตนเองหรือลบล้างมันแก้ปัญหา

ก่อนที่จะพยายามลบอุปกรณ์เสมือนใน AVDM ลบไฟล์ * .lock ทั้งหมดออกจาก /home/.android/ [อุปกรณ์ของคุณ] ที่สอดคล้องกัน. fdlers จากนั้นคุณจะสามารถลบโดยไม่มีป๊อปอัป "อุปกรณ์ XXX กำลังทำงาน"


เหตุผลดั้งเดิมที่ฉันพยายามลบคือเพราะฉันไม่สามารถเริ่มต้นได้โดยมีข้อผิดพลาดที่ไม่สามารถอธิบายได้มาก ดังนั้นสำหรับฉันนี่คือคำตอบที่ดีที่สุด
shalafi

19

ทางเลือกและทางออกที่ง่ายกว่ามากที่ทำงานจากผู้จัดการ AVD

จากผู้จัดการ AVD คลิกที่ปุ่มใหม่ ตั้งชื่อเป็นชื่อของอุปกรณ์ที่คุณไม่สามารถปิดเลือกการตั้งค่าใด ๆ และทำเครื่องหมายในช่องที่ระบุว่าแทนที่ AVD ที่มีอยู่ด้วยชื่อเดียวกัน

นี้จะฆ่าคนเก่าและเขียนทับด้วยคนใหม่ อันใหม่ไม่ทำงานและสามารถลบได้


6

ฉันกำลังมองหารหัสจาวาและข้อผิดพลาดนี้หมายความว่าคุณมี AVD ทำงานอยู่ ... คุณลองใช้ kill'em ทั้งหมดด้วย top หรือ htop (ซึ่งดีกว่า)

    // 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 สิ่งที่ค้นหาเช่นจำลอง :)
เคว็นติ DOMMERC

ข้อมูลโค้ดที่น่าสนใจยิ่งกว่านั้นก็คือรหัสที่แสดงให้เห็นว่าavdInfo.isRunning()มีการตัดสินใจอย่างไร (มันอาจแสดงให้เห็นว่าโฟลเดอร์ avd ถูกสแกนหาไฟล์ * .lock)
Risadinha

1

จาก Finder (OSX) หรือ Directory Explorer (Linux & Windows)

  1. ค้นหาโฟลเดอร์. android [Hidden Folder] ในไดเรกทอรี $ HOME ของคุณ แสดง / ซ่อนโฟลเดอร์บน MAC
  2. ใน. android ควรมีโฟลเดอร์ [Your Device] .avd
  3. ค้นหาไฟล์ * .lock และลบภายใน [อุปกรณ์ของคุณ] .avd โฟลเดอร์

จาก Android Studio

  1. เปิดตัวจัดการ AVD
  2. เลือกอุปกรณ์เสมือนที่คุณต้องการลบ
  3. คลิกลูกศรลงที่ท้ายและเลือก [แสดงบนดิสก์] มันจะเปิดไดเรกทอรี
  4. ค้นหาไฟล์ * .lock และลบภายใน [อุปกรณ์ของคุณ] .avd โฟลเดอร์

หลังจากขั้นตอนเหล่านี้จะช่วยให้คุณสามารถลบออกจาก AVD Manager


0

ฉันมีปัญหานี้เช่นกัน .. ไม่สามารถค้นหา / ดูโฟลเดอร์. android ใน $ home ได้ ฉันไม่รู้ว่ามันซ่อนอยู่หรือเปล่า หากคุณคลิกสองครั้งที่อุปกรณ์ Android ในตัวจัดการ AVD มันจะแสดงเส้นทางของ "running avd" ซึ่งเป็นสิ่งที่ทุกคนบอกว่าควรจะเป็น เนื่องจากฉันไม่สามารถลบไฟล์เหล่านี้ได้โดยใช้ GUI ฉันใช้ CLI (เทอร์มินัลทำเช่นนั้น) คุณสามารถใช้คำสั่งต่อไปนี้ [cd] สำหรับเปลี่ยนไดเรกทอรี [rm -R] เพื่อลบไฟล์ เป็นขั้นเป็นตอน:

  1. จาก terminal cli ซึ่งจะมีลักษณะดังนี้:

    nameOfYourMac: ~ MacUser $

  2. ชนิด

    cd. android / avd

    (การเปลี่ยนแปลงไดเรกทอรี)

    nameOfYourMac: avd MacUser $

  3. ชนิด

    rm -R nameOfYourVirtualDevice.avd

ค่อนข้างง่าย ตอนนี้คุณควรจะสามารถลบอุปกรณ์ในตัวจัดการ AVD ของ Eclipses

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.