แก้ปัญหาที่ทราบแล้วด้วย Android Emulator

หน้านี้จะแสดงปัญหาที่ทราบ วิธีแก้ปัญหาเบื้องต้น และเคล็ดลับการแก้ปัญหาสำหรับโปรแกรมจำลอง Android หากพบปัญหาที่ไม่ได้ระบุไว้ที่นี่หรือใช้วิธีแก้ปัญหาที่ระบุไว้ที่นี่ไม่สำเร็จ ให้รายงานข้อบกพร่อง

ปัญหาทั่วไป


Google Maps ไม่แสดงในการควบคุมแบบขยายของ Android Emulator

โปรแกรมจำลอง Android เวอร์ชันก่อน 34.2.13 จะไม่มี Google Maps ที่ใช้งานได้ในการควบคุมแบบขยายอีกต่อไปตั้งแต่ช่วงกลางเดือนพฤษภาคมเป็นต้นไป โปรแกรมจำลองรุ่นเก่ามาพร้อมกับ Chromium เวอร์ชันที่ไม่เข้ากันได้กับ Google Maps JavaScript API

ตรวจสอบว่ามีเนื้อที่ในดิสก์เพียงพอ

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

ซอฟต์แวร์ป้องกันไวรัส

เนื่องจากแพ็กเกจซอฟต์แวร์รักษาความปลอดภัยและป้องกันไวรัสจำนวนมากทำงานโดยการตรวจสอบการดำเนินการอ่านและเขียนทั้งหมด การใช้ซอฟต์แวร์ดังกล่าวจึงอาจทำให้ประสิทธิภาพของเครื่องมือต่างๆ เช่น โปรแกรมจำลอง Android ลดลง

แพ็กเกจป้องกันไวรัสหลายแพ็กเกจช่วยให้คุณเพิ่มแอปพลิเคชันที่ต้องการลงในรายการแอปพลิเคชันที่เชื่อถือได้ ซึ่งจะช่วยให้แอปพลิเคชันในรายการทำงานได้โดยไม่ลดประสิทธิภาพ หากพบว่าการบันทึกหรือโหลดสแนปชอต AVD มีประสิทธิภาพไม่ดี คุณอาจปรับปรุงประสิทธิภาพการทำงานได้โดยเพิ่มแอปพลิเคชันโปรแกรมจำลอง Android เป็นแอปพลิเคชันที่เชื่อถือได้ในซอฟต์แวร์ป้องกันไวรัส

ผลกระทบต่อประสิทธิภาพจะแตกต่างกันไปในแต่ละแพ็กเกจซอฟต์แวร์ป้องกันไวรัส หากคุณมีซอฟต์แวร์ป้องกันไวรัสที่ติดตั้งอยู่นอกเหนือจากในระบบปฏิบัติการ คุณสามารถทำการทดสอบง่ายๆ เพื่อระบุว่าซอฟต์แวร์ป้องกันไวรัสใดให้ผลการปฏิบัติงานที่มีประสิทธิภาพมากกว่ากับการโหลดโปรแกรมจำลองและบันทึกการดำเนินการ

ซอฟต์แวร์ป้องกันไวรัสบางรายการอาจใช้ร่วมกับโปรแกรมจำลอง Android ไม่ได้

หากคุณใช้ซอฟต์แวร์ Avast และพบปัญหาในการเรียกใช้โปรแกรมจำลอง Android ให้ปิดใช้ใช้การจำลองแบบซ้อนกันเมื่อพร้อมใช้งานและเปิดใช้การจำลองที่ทำงานด้วยฮาร์ดแวร์ในการตั้งค่าการแก้ปัญหาของ Avast นอกจากนี้ หลังจากปิดใช้ระบบฮาร์ดแวร์เสมือนจริงของ Avast แล้ว ให้ตรวจสอบว่า HAXM ได้รับการตั้งค่าอย่างถูกต้องอีกครั้งด้วยการติดตั้ง HAXM เวอร์ชันล่าสุดจาก SDK Manager อีกครั้ง

ใน Windows บางครั้ง AVD อาจค้างเมื่อใช้ HAXM และปัญหานี้สามารถแก้ไขได้ด้วยการถอนการติดตั้ง McAfee โดยสมบูรณ์

Windows: RAM ว่างและสัญญาผูกมัด

เมื่อโปรแกรมจำลองเริ่มทำงาน ก็จะต้องเริ่มต้น RAM ของระบบปฏิบัติการของผู้มาเยือน Android ใน Windows โปรแกรมจำลองจะขอให้ Windows พิจารณาขนาดหน่วยความจำของผู้ใช้ชั่วคราวทั้งหมด ณ เวลาเริ่มต้น แม้ว่าในระหว่างการดำเนินการจริง ระบบอาจแบ่งหน่วยความจำออกเป็นหน้าตามต้องการ โปรแกรมจำลองจะขอหน่วยความจำของผู้ใช้ทั้งหมด ณ เวลาเริ่มต้น เนื่องจาก Windows จะตรวจสอบว่า RAM จริงและไฟล์หน้ามีเพียงพอที่จะเก็บชุดข้อมูลการทำงานที่เป็นไปได้ทั้งหมด คำขอนี้เตรียมพร้อมสำหรับกรณีที่เลวร้ายที่สุด ซึ่งระบบจะเข้าถึงหน่วยความจำทั้งหมดของแขกอย่างรวดเร็วโดยไม่มีเวลาที่จะทิ้งหรือเพิ่มพื้นที่ว่างในหน่วยความจำ

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

ในกรณีทั่วไป พื้นที่ฮาร์ดไดรฟ์ที่จัดสรรสำหรับไฟล์หน้าเว็บบวกกับ RAM จริงจะเพียงพอสำหรับ Use Case ส่วนใหญ่ของโปรแกรมจำลอง อย่างไรก็ตาม หากเริ่มโปรแกรมจำลองไม่ได้เนื่องจากมีจำนวนการคอมมิตเกินขีดจำกัด เราขอแนะนำให้ตรวจสอบการเรียกเก็บเงินการคอมมิตปัจจุบัน ซึ่งดูได้ในแท็บประสิทธิภาพในเครื่องมือจัดการงานของ Windows หากต้องการเปิดตัวจัดการงาน ให้กด Ctrl+Shift+Esc

วิธีลดโอกาสที่จะเกินขีดจำกัดสัญญาผูกมัดด้วยวิธีต่างๆ ดังนี้

  • เพิ่มพื้นที่ว่างใน RAM จริงก่อนที่จะเปิดโปรแกรมจำลองโดยปิดแอปพลิเคชันและไฟล์ที่ไม่ได้ใช้
  • ปิดใช้ยูทิลิตีการจัดการหน่วยความจำและการบีบอัดหน่วยความจำของบุคคลที่สาม ยูทิลิตีเหล่านี้อาจทำให้มีสัญญาผูกมัดที่มากเกินไปอย่างมีประสิทธิภาพและทำให้ระบบเข้าใกล้ขีดจำกัดของสัญญาผูกมัดมากขึ้นได้
  • ใช้ขนาดที่ระบบจัดการสำหรับไฟล์เพจของ Windows ซึ่งมีความยืดหยุ่นมากขึ้นและเพิ่มขนาดไฟล์เพจแบบไดนามิกได้ รวมถึงขีดจำกัดการคอมมิต เพื่อตอบสนองดีมานด์ที่เพิ่มขึ้นจากโปรแกรมจำลองและแอปพลิเคชันอื่นๆ

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

การสัมผัสหลายจุดไม่ทำงานในหน้าต่างเครื่องมือ

ท่าทางสัมผัสแบบหลายนิ้ว ซึ่งรวมถึงการเลื่อนด้วย 2 นิ้ว จะไม่ทำงานเมื่อโปรแกรมจำลองทํางานในหน้าต่างเครื่องมือ หากต้องการเปิดใช้มัลติทัช ให้เปิดโปรแกรมจำลองในหน้าต่างแยกต่างหาก

โปรแกรมจำลองทำให้คุณภาพเสียงของบลูทูธลดลง

หากใช้ชุดหูฟังบลูทูธ คุณอาจสังเกตเห็นว่าเอาต์พุตเสียงของหูฟังบลูทูธมีประสิทธิภาพลดลงเมื่อโปรแกรมจำลองทำงาน (ปัญหา 183139207) ซึ่งเกิดจากการที่โปรแกรมจำลองเริ่มทำงาน ระบบจะเปิดไมโครโฟนของชุดหูฟัง ซึ่งทำให้ชุดหูฟังเปลี่ยนโหมดแบบ 2 ด้านโดยลดคุณภาพลง

หากต้องการหลีกเลี่ยงปัญหานี้ ให้ปิดใช้ไมโครโฟนในโปรแกรมจำลองโดยเพิ่ม hw.audioInput=no ลงในไฟล์ config.ini ของอุปกรณ์เสมือน (AVD) ของ Android หากต้องการค้นหาไฟล์ config.ini ของ AVD ให้ไปที่ AVD ในเครื่องมือจัดการอุปกรณ์ คลิกเมนูรายการเพิ่มเติม แล้วเลือกแสดงในดิสก์

อุปกรณ์เสมือน Android เปิดใน ChromeOS ไม่สำเร็จ

ใน ChromeOS อุปกรณ์เสมือนของ Android (AVD) อาจเปิดไม่สำเร็จเนื่องจากไม่มีทรัพยากร Dependency ของ libnss3 หากต้องการเปิด AVD ให้สําเร็จ ให้เรียกใช้ sudo apt install libnss3 เพื่อติดตั้งไลบรารี libnss3 ด้วยตนเอง

คำเตือนเกี่ยวกับเซ็นเซอร์การเอียงข้อมือใน Wear OS

ใน Wear OS โปรแกรมจำลองอาจบันทึกข้อความต่อไปนี้เกี่ยวกับเซ็นเซอร์การเอียงข้อมือซ้ำๆ the host has not provided value yet for sensorHandle=16

นักพัฒนาแอปสามารถละเว้นคำเตือนเหล่านี้ได้

หน้าต่างโปรแกรมจำลองที่ฝังมีขนาดเล็กเกินไป

ในเครื่องที่มีความละเอียดต่ำ เช่น 1024x768 การอ่านหน้าจอโปรแกรมจำลองอาจทำได้ยากเมื่อทำงานในหน้าต่างเครื่องมือใน Android Studio หากต้องการเพิ่มพื้นที่ให้โปรแกรมจำลอง ให้ปิดหน้าต่างเครื่องมือโปรแกรมจัดการอุปกรณ์หากเปิดอยู่ นอกจากนี้ คุณยังดึงหน้าต่างโปรแกรมจำลองออกจาก Android Studio ได้ด้วย วิธีการคือคลิกการตั้งค่า > โหมดดูในหน้าต่างโปรแกรมจำลอง แล้วเลือกหน้าต่างแทนตรึงตรึง

ปัญหาเกี่ยวกับกราฟิก


โปรแกรมจำลอง Android ทำงานช้าหลังจากอัปเดต

ปัจจัยภายนอกหลายอย่างอาจทําให้โปรแกรมจําลอง Android เริ่มทํางานช้าลงหลังจากการอัปเดต เราขอแนะนําให้ทําตามขั้นตอนต่อไปนี้เพื่อเริ่มแก้ปัญหา

  • หากคุณมี GPU ของ Intel (โดยเฉพาะ Intel HD 4000) โปรดตรวจสอบว่าคุณได้ดาวน์โหลดและติดตั้งไดรเวอร์กราฟิก Intel เวอร์ชันล่าสุดแล้ว
  • หากเครื่องมีทั้ง Intel GPU และ GPU แบบแยกต่างหาก ให้ปิดใช้ Intel GPU ในโปรแกรมจัดการอุปกรณ์เพื่อให้แน่ใจว่าคุณกำลังใช้ GPU แบบแยกกัน
  • เรียกใช้โปรแกรมจำลองโดยใช้โหมด -gpu swiftshader ดูข้อมูลเพิ่มเติมเกี่ยวกับการกำหนดค่าตัวเลือกการเร่งความเร็วกราฟิกในบรรทัดคำสั่งได้ที่กำหนดค่าการเร่งด้วยฮาร์ดแวร์
  • ตรวจสอบว่าเราเตอร์ไม่ได้ใช้ที่อยู่ IPv6 หากคุณไม่มีการเชื่อมต่อ IPv6

หากยังพบปัญหาเกี่ยวกับการทำงานช้าของ Android Emulator อยู่ โปรดรายงานข้อบกพร่องพร้อมระบุรายละเอียดที่จำเป็นของ Android Emulator เพื่อให้เราตรวจสอบได้

ข้อผิดพลาด: ไม่พบ vulkan-1.dll

หากเปิดโปรแกรมจำลองไม่สำเร็จเนื่องจากข้อผิดพลาด vulkan-1.dll cannot be found คุณอาจต้องอัปเดตโปรแกรมจำลอง หากต้องการอัปเดตโปรแกรมจำลองใน Android Studio ให้ไปที่เครื่องมือ > เครื่องมือจัดการ SDK แล้วติดตั้งแพลตฟอร์ม Android เวอร์ชันเสถียรล่าสุด

หรือหากไม่ต้องการแอปที่ใช้ไลบรารีกราฟิก Vulkan ให้ปิด Vulkan โดยเปิดโปรแกรมจำลองจากบรรทัดคำสั่งด้วย Flag -feature -Vulkan

สร้างสแนปชอตไม่ได้

ระบบไม่รองรับการสร้างสแนปชอตของโปรแกรมจำลองที่มีไลบรารีกราฟิก Vulkan หากต้องการเรียกใช้โปรแกรมจำลองโดยไม่ใช้ Vulkan ให้เปิดโปรแกรมจำลองจากบรรทัดคำสั่งด้วย Flag -feature -Vulkan หรือจะถอนการติดตั้งและหลีกเลี่ยงการใช้แอปที่มี Vulkan เช่น Chrome ใน API 30 ขึ้นไปก็ได้ หากต้องการใช้ภาพรวมเป็นส่วนหนึ่งของเวิร์กโฟลว์การพัฒนา

เปิดหน้าเว็บไม่ถูกต้อง

ตั้งแต่ API ระดับ 30 เป็นต้นไป Chrome จะใช้ไลบรารีกราฟิก Vulkan เป็นแบ็กเอนด์การแสดงผล และอาจมีปัญหาความเข้ากันได้ในบางเครื่อง หาก Chrome แสดงผลไม่ถูกต้อง ให้ลองเปิดโปรแกรมจำลองจากบรรทัดคำสั่งด้วย Flag -feature -Vulkan

คำเตือนไดรเวอร์ GPU - กลับไปใช้ซอฟต์แวร์

หากได้รับคำเตือนเกี่ยวกับการใช้ไดรเวอร์ GPU สำรอง คุณอาจใช้ GPU ที่ระบบไม่รองรับ โดยค่าเริ่มต้นจะใช้การตั้งค่าอัตโนมัติซึ่งอาจเลือกการแสดงผลด้วยซอฟต์แวร์ หากเลือกตัวเลือกฮาร์ดแวร์ คุณควรบังคับให้ใช้การแสดงผลด้วยฮาร์ดแวร์ได้ (ระบบอาจยังแสดงข้อความเตือน)

สำหรับรูปภาพที่ไม่ได้อยู่ใน Play Store คุณสามารถทำได้ในโปรแกรมจัดการอุปกรณ์ -> 3 จุด -> แก้ไข สำหรับรูปภาพใน Play Store คุณจะต้องแก้ไขไฟล์การกําหนดค่า 2 ไฟล์ต่อไปนี้ด้วยตนเอง

~/.android/your_avd_name.avd/config.ini

~/.android/your_avd_name.avd/hardware-qemu.ini

และเปลี่ยน hw.gpu.mode เป็น host

โปรดทราบว่าการดำเนินการดังกล่าวอาจทำให้โปรแกรมจำลองทำงานไม่เสถียร ดูรายละเอียดเพิ่มเติมได้ที่ข้อบกพร่อง

โปรแกรมจำลองไม่บูตใน Chrome Remote Desktop ของ Windows

หากโปรแกรมจำลองไม่บูตขณะใช้ Chrome Remote Desktop ใน Windows วิธีแก้ปัญหาที่แนะนำในปัจจุบันคือการใช้ Flag -gpu เช่น -gpu host หรือ -gpu swiftshader

โปรแกรมจำลองทำงานไม่ถูกต้องใน macOS ในโหมดการแสดงผลด้วยฮาร์ดแวร์

ในอุปกรณ์ Mac ที่ใช้ Apple Silicon โปรแกรมจำลองจะใช้ไลบรารี MoltenVK สำหรับ Vulkan API เมื่อเลือกโหมดการแสดงผลด้วยฮาร์ดแวร์ แม้ว่าโดยทั่วไปแล้ว MoltenVK จะมีประสิทธิภาพที่ดีกว่ามาก แต่ไลบรารีนี้ไม่รองรับฟีเจอร์ Vulkan ทั้งหมด ในกรณีที่มีปัญหาความเข้ากันได้ เช่น การคอมไพล์ตัวปรับแสงเงาล้มเหลว ข้อบกพร่องด้านกราฟิกหรือการขัดข้องในแอป ให้เปลี่ยนโหมดการแสดงผลเป็นซอฟต์แวร์ผ่านการตั้งค่า AVD หรือใช้อาร์กิวเมนต์บรรทัดคำสั่ง -gpu swiftshader

หรือจะปิดใช้การรองรับ Vulkan ด้วยอาร์กิวเมนต์-feature -Vulkanก็ได้เพื่อใช้การเร่งฮาร์ดแวร์ในแอป GLES ต่อไป

ปัญหาเครือข่าย


ไม่มีอินเทอร์เน็ต: ไม่พบที่อยู่ DNS ของเซิร์ฟเวอร์

หากโปรแกรมจำลองเชื่อมต่ออินเทอร์เน็ตไม่ได้ ให้ลองเปิดโปรแกรมจำลองจากบรรทัดคำสั่งโดยใช้ตัวเลือก-dns-server “2001:4860:4860::8844,2001:4860:4860::8888,8.8.8.8,8.8.4.4” คำสั่งนี้จะระบุรายการที่อยู่ IP ของ Google Public DNS ที่คั่นด้วยคอมมา ดูข้อมูลเพิ่มเติมเกี่ยวกับ DNS สาธารณะของ Google ได้ที่DNS สาธารณะของ Google สำหรับอุปกรณ์ของคุณ

ไม่มีอินเทอร์เน็ต: ปัญหาการแปลง DNS

บางครั้งที่อยู่ DNS ในไฟล์ /etc/resolv.conf อาจไม่ทำงานอย่างถูกต้อง คุณแก้ปัญหานี้ได้โดยการเปิดโปรแกรมจำลองจากบรรทัดคำสั่งโดยใช้ตัวเลือก -dns-server 8.8.8.8 หรือ -dns.server 2001:4860:4860::8888 เพื่อเชื่อมต่อผ่านเครือข่าย IPv6 เท่านั้น

ปัญหาเก่าๆ (ในโปรแกรมจำลองที่เลิกใช้งานแล้วหรือระบบเก่า)


เปิด AVD ไม่ได้

AVD อาจไม่เปิดขึ้นหากมีรายงานข้อขัดข้องสำหรับโปรแกรมจำลองเวอร์ชันใหม่ (ปัญหา #281725854) ปัญหานี้เกิดขึ้นเฉพาะกับผู้ใช้ที่อัปเดตจากเวอร์ชัน Canary 33.x เป็น 32.1.13, เกิดข้อขัดข้องเมื่อครั้งสุดท้ายที่ใช้เวอร์ชัน 33.x และไม่ได้รีบูต AVD นับตั้งแต่นั้น ไดเรกทอรี %TEMP% หรือ /tmp จึงยังคงเปิดอยู่ หากคุณพบปัญหานี้ ให้ลองล้างไดเรกทอรี %TEMP% (/tmp ใน Linux หรือ macOS)

Windows: โปรแกรมจำลองเปิดไม่ได้หากมี Unicode ในชื่อ AVD

ใน Windows เมื่อเครื่องมือจัดการอุปกรณ์สร้างอุปกรณ์เสมือน Android (AVD) ระบบจะสร้าง AVD ที่ C:\Users\<name>\.android\avd โดยค่าเริ่มต้น อย่างไรก็ตาม หากชื่อ AVD (<name>) มี Unicode โปรแกรมจำลองจะไม่สามารถเปิด AVD อย่างถูกต้องโดยใช้ตำแหน่งเริ่มต้นนี้

ปัญหานี้ได้รับการแก้ไขในโปรแกรมจำลอง 31.3.6 ขึ้นไป หากต้องการแก้ไขปัญหานี้ ให้อัปเดตโปรแกรมจำลองโดยเลือกเครื่องมือ > SDK Manager

หรือจะแก้ปัญหานี้โดยตั้งค่าตัวแปรสภาพแวดล้อม ANDROID_SDK_HOME เป็นไดเรกทอรีที่กำหนดเองก่อนสร้าง AVD ก็ได้ ตัวอย่างเช่น สร้างไดเรกทอรี C:\Android\home แล้วตั้งค่า ANDROID_SDK_HOME เป็นไดเรกทอรีที่สร้างขึ้นใหม่นี้ ดูข้อมูลเพิ่มเติมได้ที่ตัวแปรสภาพแวดล้อม

Hypervisor จำลองฟีเจอร์บางอย่างของ CPU ที่จําเป็นสําหรับระบบ Android แบบ x86 ไม่ได้

โดยทั่วไปแล้ว ไฮเปอร์วิซอร์ไม่สามารถจําลองฟีเจอร์บางอย่างของ CPU เช่น Streaming SIMD Extensions (SSE) ซึ่งระบบ Android ที่ใช้ x86 ต้องใช้