บันทึกประจำรุ่นของโปรแกรมจำลอง

โปรแกรมจำลองของ Android มาพร้อมกับ Android Studio

เวอร์ชันของโปรแกรมจำลองก่อน 25.3.0 มีการเผยแพร่เป็นส่วนหนึ่งของ Android SDK Tools

โปรดตรวจสอบการอัปเดตใน เครื่องมือจัดการ SDK เพื่อให้แน่ใจว่าคุณใช้เวอร์ชันล่าสุด

หากต้องการดาวน์โหลดโปรแกรมจำลองของ Android เวอร์ชันก่อนหน้า โปรดดูที่เก็บถาวรสำหรับการดาวน์โหลดโปรแกรมจำลอง

ดูบันทึกประจำรุ่นสำหรับโปรแกรมจำลองเวอร์ชันก่อน 25.3.0 ได้ที่บันทึกประจำรุ่นของ Android SDK Tools

หากต้องการดูว่าปัญหาใดได้รับการแก้ไขแล้วใน โปรแกรมจำลองของ Android เวอร์ชันล่าสุด โปรดดูปัญหาที่ปิดแล้ว

ดูปัญหาที่ทราบและการแก้ปัญหาได้ที่การแก้ปัญหาโปรแกรมจำลอง

36.5.10 เวอร์ชันเสถียร (2 เม.ย. 2026)

การอัปเดตนี้รวมถึงฟีเจอร์และการแก้ไขข้อบกพร่องต่อไปนี้

ทดสอบการโต้ตอบแบบหลายอุปกรณ์ด้วยโปรแกรมจำลองของ Android

ตอนนี้โปรแกรมจำลองของ Android มีสแต็กเครือข่ายใหม่เพื่อปรับปรุงการทดสอบแบบหลายอุปกรณ์ ซึ่งช่วยให้ไม่จำเป็นต้องส่งต่อพอร์ตด้วยตนเองเพื่อเชื่อมต่ออินสแตนซ์ AVD หลายรายการในโฮสต์เดียวกัน ตอนนี้ AVD สามารถค้นหาและสื่อสารกันโดยอัตโนมัติ ราวกับว่าอยู่ในเครือข่ายเสมือนเดียวกัน ซึ่งช่วยให้ทดสอบการโต้ตอบแบบเพียร์ทูเพียร์ได้อย่างราบรื่นโดยใช้โปรโตคอลต่างๆ เช่น Wi-Fi Direct และ การค้นพบบริการเครือข่าย

สแต็กเครือข่ายใหม่นี้มีข้อดีหลักๆ หลายประการสำหรับนักพัฒนาแอป ดังนี้

  • ไม่ต้องกำหนดค่า: ไม่ต้องส่งต่อพอร์ตด้วยตนเองหรือเขียนสคริปต์คำสั่ง adb อีกต่อไป
  • Peer-to-Peer ที่ราบรื่น: โปรโตคอลที่สำคัญ เช่น Wi-Fi Direct และ Network Service Discovery จะทำงานได้ทันทีระหว่างโปรแกรมจำลอง
  • ปรับปรุงความเสถียร: แก้ไขปัญหาความเสถียรที่มีมานาน เช่น การสูญเสียข้อมูล (ปัญหา #150758736) และการเชื่อมต่อขาดหาย (ปัญหา #449817856) ที่พบในสแต็กรุ่นเดิม

หากต้องการเริ่มต้นใช้งาน ให้อัปเดตโปรแกรมจำลองของ Android เป็นเวอร์ชันล่าสุดใน Android Studio เครื่องมือจัดการ SDK ดูข้อมูลเพิ่มเติมได้ที่นี่

ฟีเจอร์เพิ่มเติมและการแก้ไขข้อบกพร่อง

  • เพิ่ม AVD ของ Pixel ใหม่ ซึ่งรวมถึง Pixel 10, Pixel 10 Pro, Pixel 10 Pro XL และ Pixel 10 Pro Fold

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

  • [แก้ไขข้อบกพร่อง]ปัญหา #333628462 กระบวนการ crashpad_handler ใช้ CPU มากเกินไปใน macOS

36.4.10 แพตช์ (9 มี.ค. 2026)

  • [การแก้ไขข้อบกพร่อง]ปัญหา #489369080 แก้ไขข้อขัดข้องในโปรแกรมจำลองทีวีเมื่อวางเมาส์หลังจากอัปเดตเป็น Panda 2

36.4.9 เวอร์ชันเสถียร (10 ก.พ. 2026)

  • การควบคุมเพิ่มเติมของโปรแกรมจำลองของ Android มีตัวเลือกฮาร์ดแวร์และซอฟต์แวร์ที่เฉพาะเจาะจงแล้วในตอนนี้ เพื่อให้การเลือก GPU ภายในอินเทอร์เฟซผู้ใช้มีประสิทธิภาพมากขึ้น สำหรับผู้ใช้บรรทัดคำสั่ง ตอนนี้คุณสามารถใช้ตัวเลือก "-gpu software" เพื่อเลือกแบ็กเอนด์การแสดงผลซอฟต์แวร์ GLES และ Vulkan ที่ดีที่สุดสำหรับระบบของคุณได้แล้ว

  • เปิดใช้ Lavapipe เป็นโปรแกรมแสดงผลซอฟต์แวร์กราฟิกเริ่มต้นเพื่อปรับปรุงความเข้ากันได้ของ Vulkan ในทุกแพลตฟอร์ม

  • การปรับปรุง Vulkan:

    • อัปเดตตัวโหลด Vulkan ที่มาพร้อมกับโปรแกรมจำลอง
    • แก้ไขกรณีการใช้งานที่ไม่ถูกต้องต่างๆ ในแบ็กเอนด์ Vulkan
    • เพิ่มการรองรับการใช้ SkiaVk ใน systemui ด้วยการจำลองคิวของกราฟิกในอิมเมจระบบใหม่
    • เพิ่มการรองรับการเรียบเรียง Vulkan เพื่อปิดใช้ GL ในโฮสต์ โดยจะเปิดใช้งานโดยค่าเริ่มต้นสำหรับรูปภาพ XR และเปิดใช้ได้ด้วยตัวเลือกบรรทัดคำสั่ง "-feature VulkanNativeSwapchain"
  • [แก้ไขข้อบกพร่อง]ปัญหา #471008659 หน่วยความจำรั่วไหลในฝั่งโฮสต์ของโปรแกรมจำลองเมื่อเปิด/ปิดกิจกรรม

36.4.3 Canary (8 ธ.ค. 2025)

โปรแกรมจำลองแว่นตา AI ใหม่

เราได้เพิ่มโปรแกรมจำลองแว่นตา AI เวอร์ชันทดลองใหม่สำหรับการพัฒนาและทดสอบแอป ที่สร้างด้วย Jetpack XR SDK สำหรับแว่นตา AI คุณสามารถเรียกใช้โปรแกรมจำลองแว่นตา พร้อมกับโปรแกรมจำลองโทรศัพท์ จับคู่ และทำการโต้ตอบตามปกติ ที่คุณจะเรียกใช้ในแว่นตา ดูข้อมูลเกี่ยวกับการติดตั้งโปรแกรมจำลองแว่นตา AI และการตั้งค่าสภาพแวดล้อมการพัฒนาได้ที่การสร้างอุปกรณ์แว่นตา AI เสมือน จริง

โปรแกรมจำลองแว่นตา AI เป็นเครื่องมือเวอร์ชันทดลอง คาดว่าจะมีปัญหา โดยเฉพาะอย่างยิ่งใน การจับคู่แว่นตาใหม่กับโปรแกรมจำลองโทรศัพท์และการโต้ตอบ UI ของทัชแพด

โปรแกรมจำลองแว่นตา XR ใหม่

เราได้ขยายโปรแกรมจำลอง Android XR ที่เปิดตัวไปก่อนหน้านี้สำหรับแว่นตา XR แบบ OST (Optical See Through) คุณสามารถใช้โปรแกรมจำลองแว่นตา XR เพื่อดูตัวอย่างแอป ที่มี FOV และความละเอียดโดยประมาณของอุปกรณ์แว่นตา XR ดูข้อมูลเกี่ยวกับการติดตั้งโปรแกรมจำลองแว่นตา XR และการตั้งค่าสภาพแวดล้อมในการพัฒนาซอฟต์แวร์ได้ที่การสร้าง อุปกรณ์ แว่นตา XR เสมือน

โปรแกรมจำลองแว่นตา XR และโปรแกรมจำลองแว่นตา AI เป็นเครื่องมือเวอร์ชันทดลอง คุณอาจพบปัญหา โดยเฉพาะอย่างยิ่งในการกำหนดค่า GPU และไดรเวอร์บางอย่างของ Windows (ดูข้อกำหนดของระบบ Windows)

ปัญหาที่ทราบ

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

36.3.10 เวอร์ชันเสถียร (4 ธ.ค. 2025)

  • [แก้ไขข้อบกพร่อง]ปัญหา #452843321 ประสิทธิภาพลดลงเมื่อพุชไฟล์ขนาดใหญ่ลงในโปรแกรมจำลองของ Android API 34 ขึ้นไป

  • แก้ไขข้อขัดข้องในการจัดองค์ประกอบ Vulkan เมื่อตัวแปลงรหัสวิดีโอทำงานในโหมดพื้นผิว GPU

  • แก้ไขการขัดข้องของโปรแกรมจำลองในเหตุการณ์หน้าจอสัมผัสเมื่อเรียกใช้ด้วย -debug-events

36.2.12 แพตช์ (13 ต.ค. 2025)

  • แก้ไขข้อขัดข้องใน Windows ที่เกิดขึ้นเมื่อเปิดแอป Vulkan ในโหมดการแสดงผลซอฟต์แวร์

36.2.11 เวอร์ชันเสถียร (9 ต.ค. 2025)

  • ระบบจะนำการรองรับ HAXM ออกจากโปรแกรมจำลอง หากพยายามสร้าง AVD ด้วย HAXM คุณจะเห็นแบนเนอร์ที่รายงานว่าไม่มีไฮเปอร์ไวเซอร์และลิงก์การดำเนินการเพื่อ ติดตั้ง AEHD

    แบนเนอร์ที่แสดงเมื่อผู้ใช้พยายามสร้าง AVD ใหม่ด้วย HAXM ดูข้อมูลเกี่ยวกับการถอนการติดตั้ง HAXM ได้ที่การถอนการติดตั้ง HAXM

  • แก้ไขเพื่อให้มั่นใจว่า GPU ของ Intel ใช้ OpenGL ES 3.0 เพื่อหลีกเลี่ยงไม่ให้ไดรเวอร์ขัดข้อง

  • [แก้ไขข้อบกพร่อง]ปัญหา #340322888 เริ่ม AVD ไม่ได้เมื่อไม่มีพื้นที่ว่างในอุปกรณ์

  • [แก้ไขข้อบกพร่อง]ปัญหา #150758736 ข้อมูลสูญหายเป็นระยะแบบไบต์เดียวในการเชื่อมต่อ TCP ในโปรแกรมจำลอง

  • [แก้ไขข้อบกพร่อง]ปัญหา #434774381 เกสต์เคอร์เนลขัดข้องหลังจากการเปิดเครื่องอย่างรวดเร็วสำหรับ API 36 และ 35 (อาจมีมากกว่านี้) ใน Windows 11 ที่ใช้ WHPX บน i7-11850H

36.1.9 เวอร์ชันเสถียร (31 ก.ค. 2025)

  • [แก้ไขข้อบกพร่อง]ปัญหา #419157428 อักขระ UTF-8 ในชื่อผู้ใช้หรือในเส้นทาง AVD อาจทําให้โปรแกรมจําลองเริ่มต้นไม่ได้

  • [แก้ไขข้อบกพร่อง]ปัญหา #423670833 โปรแกรมจำลองของ Android ขัดข้องในระบบไฟล์ Btrfs

  • หมายเหตุ: หากพบปัญหาในการเปิดใช้งานโปรแกรมจำลองบน X11 ให้พิจารณาใช้การแสดงผลด้วยซอฟต์แวร์ ดูวิธีกำหนดค่าการแสดงผลด้วยซอฟต์แวร์ได้ที่หัวข้อ กำหนดค่าการเร่งกราฟิก

35.6.11 เวอร์ชันเสถียร (24 มิ.ย. 2025)

  • เราได้ปรับปรุงการรองรับ GPU ของ AMD และ Nvidia ใน Windows และ Linux สำหรับการจำลอง XR

  • คุณเรียกใช้ AVD ของ XR ได้โดยฝังไว้ในหน้าต่างที่เรียกใช้ Android Studio

  • ปรับปรุงรายละเอียดรายงานข้อขัดข้องใน Windows เพื่อเปิดใช้การทิ้งข้อมูลที่สมบูรณ์ของโปรแกรมจำลอง

  • [แก้ไขข้อบกพร่อง]ปัญหา #410485043 อุปกรณ์ XR ของโปรแกรมจำลอง Android ขัดข้องเนื่องจากข้อผิดพลาดของ Vulkan

  • [แก้ไขข้อบกพร่อง]ปัญหา #388718417 libndk_translation.so ยกเลิกและทำให้เกิดข้อขัดข้องใน Arm64AesEncode

35.5.10 เวอร์ชันเสถียร (6 พ.ค. 2025)

  • เพิ่มการตรวจสอบความเข้ากันได้ของ CPU เพิ่มเติมพร้อมข้อความแสดงข้อผิดพลาด (เช่น พื้นที่ในดิสก์ไม่เพียงพอ)

  • แก้ไขข้อบกพร่องที่เกี่ยวข้องกับการจัดการหน่วยความจำ Vulkan และกรณีการใช้งานที่ไม่ถูกต้อง

  • ระบบจะตรวจสอบและข้ามการรองรับสแนปชอต Vulkan อย่างถูกต้องเมื่อเรียกใช้ผ่านเทอร์มินัล

  • เพิ่มการรองรับส่วนขยาย VK_KHR_multiview และรูปแบบเท็กซ์เจอร์ A1R5G5B5

  • เพิ่ม AVD ของ Pixel 9a แล้ว

35.4.9 เวอร์ชันเสถียร (25 ก.พ. 2025)

  • เพิ่มเมนูแบบเลื่อนลงในการควบคุมเพิ่มเติมสำหรับค่ากำหนดของไดรเวอร์ GLES ของแขกรับเชิญ

  • [แก้ไขข้อบกพร่อง]ปัญหา #389330750 การส่ง SMS ไปยังโปรแกรมจำลองที่มีอักขระ Ñ จะแยกข้อความ

  • [แก้ไขข้อบกพร่อง]ปัญหา #382180488 ฟังก์ชัน "emuglConfig_get_vulkan_hardware_gpu_support_info" ขัดข้องเนื่องจากตรวจพบอุปกรณ์ Vulkan เป็น 0

  • หมายเหตุ: โปรแกรมจำลอง Android XR พร้อมให้ใช้งานใน Studio เวอร์ชัน Canary เท่านั้น

35.3.11 เวอร์ชันเสถียร (9 ม.ค. 2025)

  • [แก้ไขข้อบกพร่อง]ปัญหา #368059211 การเข้าถึง VHAL โดยโปรแกรมใน Android Auto OS ไม่ทํางานโดยใช้ Car Service API

  • [การแก้ไขข้อบกพร่อง]ปัญหา #348598513 โปรแกรมจำลองมีเมธอดสาธารณะที่ไม่ปลอดภัยต่อเธรดโดยไม่จำเป็นในล็อกแบบหลายเธรด

  • [การแก้ไขข้อบกพร่อง]ปัญหา #356896486 ปิดใช้การเรียก Vulkan API จริงๆ เมื่อเรียกใช้ด้วย -feature -Vulkan

35.4.4 Canary (12 ธ.ค. 2024)

โปรแกรมจำลอง Android XR ใหม่

เราได้เพิ่มโปรแกรมจำลอง Android XR เวอร์ชันทดลองใหม่สำหรับการพัฒนาและทดสอบแอป ที่สร้างด้วย Jetpack XR SDK สำหรับชุดหูฟัง ดูข้อมูลเกี่ยวกับการติดตั้งโปรแกรมจำลอง Android XR และการตั้งค่าสภาพแวดล้อมในการพัฒนาซอฟต์แวร์ได้ที่การตั้งค่า Jetpack XR SDK

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

ปัจจุบันโปรแกรมจำลอง Android XR ได้รับการทดสอบใน HW configurations ต่อไปนี้

  • Mac (ARM)
  • Windows 11
    • GPU ของ nVidia, vRAM ขนาด 4 GB, ไดรเวอร์เวอร์ชัน 553.35 ขึ้นไป
  • RAM ความจุ 16 GB ขึ้นไป
  • 8 คอร์ขึ้นไป

ปัญหาที่ทราบ

โปรแกรมจำลอง - ความเสถียรและประสิทธิภาพ:

  • การล็อกหรือขัดข้องของระบบที่สำคัญในระหว่างการบูตหรือขณะเรียกใช้แอปพลิเคชันอาจเกิดขึ้นได้ในการกำหนดค่า Windows บางอย่าง โปรดตรวจสอบว่าได้เปิดใช้ Windows Hypervisor Platform (WHPX) โดยทำตามคู่มือนักพัฒนาซอฟต์แวร์ Android Studio เพื่อเปิดใช้ WHPX
  • ปัญหาต่างๆ เช่น AVD หรือองค์ประกอบ UI บนแล็ปท็อปไม่ตอบสนองหลังจากรอบการระงับและกลับมาทำงานต่อ (เช่น การปิดแล็ปท็อปแล้วเปิดขึ้นมา)
  • แอปขัดข้องเป็นครั้งคราวเมื่อเปลี่ยนจาก "โหมดหน้าจอหลัก" เป็น "โหมดเต็มหน้าจอ"
  • Gemini API ยังไม่พร้อมใช้งาน แอปเทมเพลตเริ่มต้นของ Gemini API จะขัดข้อง

โปรแกรมจำลอง - การจำลองอินพุตและเอาต์พุต

  • แป้นพิมพ์เสมือนสำหรับช่องค้นหาและแก้ไขอาจมองเห็นได้เพียงบางส่วนในขอบเขตการมองเห็น
  • ย้ายองค์ประกอบในทิศทางแกน Z (เข้าและออกจากหน้าจอ) โดยใช้เมาส์และแป้นพิมพ์ไม่ได้

  • ความไม่เสถียรของอินพุตเสียงของโฮสต์ไมโครโฟน AVD อาจส่งผลให้ AVD รีบูตและขัดข้อง

  • บางครั้งเสียงอาจมีสัญญาณรบกวนหรือเพี้ยน

  • เมื่อย้ายกล้องออกจากห้องนั่งเล่นเสมือน ข้อผิดพลาดในการแสดงผลจะปรากฏ

  • การกำหนดค่า Windows จะแสดงสีเข้มกว่าปกติ

  • เสียงไม่ทำงานอีกต่อไปหลังจากปล่อยให้โปรแกรมจำลองไม่ได้ใช้งานและล็อกหน้าจอบน macOS (การรีสตาร์ทโปรแกรมจำลองจะกู้คืนได้)

  • การเชื่อมต่อเครือข่ายจะขาดเมื่อเครื่องโฮสต์เปลี่ยน Wi-Fi

  • เมื่อเปิดใช้ Caps Lock ระบบจะยังคงพิมพ์ตัวอักษรพิมพ์เล็ก

  • การเลื่อนโดยใช้แทร็กแพดใน Mac ไม่ราบรื่น

  • การเลื่อนโดยการคลิกแล้วลากในองค์ประกอบ UI บางอย่างอาจใช้งานไม่ได้ตามที่ออกแบบไว้ หากไม่มี ให้ใช้ล้อเมาส์เพื่อเลื่อนแทน

  • ข้อความ UI และข้อบกพร่องอื่นๆ ใน Chrome บนการกำหนดค่าระบบ Windows บางอย่างเบลอ วิธีแก้ปัญหาที่อาจได้ผล: เปิดใช้ WHP

โปรแกรมจำลอง - การจำลองเครื่องบินและสมอเรือ

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

โปรแกรมจำลอง - อื่นๆ:

  • โปรแกรมจำลองจะเริ่มทำงานในโหมด "สแตนด์อโลน" เท่านั้น ระบบยังไม่รองรับโหมด "ฝัง" (UI ที่ฝัง)
  • การเข้าสู่ระบบด้วยบัญชีในโปรแกรมจำลองบน Windows อาจทำให้โปรแกรมจำลองหยุดตอบสนอง
  • เนื้อหา UI ของหน้าต่างอาจหายไปหลังจากปรับขนาด (วิธีแก้ปัญหา: กดปุ่ม "หน้าแรก")
  • ในแอป JXRCore ActivityPanelTest แผงรองจะไม่แสดงในตอนแรก
  • รายการการตั้งค่าด่วนอาจหายไปจากการตั้งค่าระบบหลังจากผ่านไประยะเวลานาน
  • UI ของโปรแกรมจำลองอาจปรากฏนอกภูมิภาคของหน้าจอในตอนแรก หากเป็นเช่นนั้น ให้ปรับขนาดหน้าต่างโปรแกรมจำลองเล็กน้อย แล้วหน้าต่างจะกลับไปอยู่ในตำแหน่งเดิม
  • โปรแกรมจำลองอาจไม่เริ่มทำงานเมื่อใช้ Chrome Remote Desktop ใน Windows
  • ขณะนี้โปรแกรมจำลองยังไม่รองรับ OpenXR และแอป OpenXR อาจทำให้โปรแกรมจำลองขัดข้อง
  • การส่งรายงานข้อบกพร่องโดยใช้การตั้งค่าเพิ่มเติมของ Android Studio ใน Windows ล้มเหลวในบางครั้ง
  • ไอคอน "ย้อนกลับ" ไม่แสดงอย่างถูกต้องในแอปการตั้งค่าจนกว่าเคอร์เซอร์จะวางใกล้กับไอคอนบน Mac
  • ในบางกรณี การสร้างอาจเกิดข้อผิดพลาดเมื่อใช้โมดูล "โปรไฟล์พื้นฐาน" เป็นส่วนหนึ่งของโปรเจ็กต์เทมเพลต XR
  • ขณะนี้การช่วยเหลือพิเศษ "Talkback สำหรับ XR" ได้รับการผสานรวมเข้ากับโปรแกรมจำลองเพียงบางส่วนเท่านั้น

แอป Scene Viewer:

  • การย้ายองค์ประกอบภายใน Scene Viewer อาจทำให้แอปขัดข้อง หากต้องการหลีกเลี่ยงปัญหานี้ ให้เลื่อนตำแหน่งศีรษะออกจากตำแหน่งเริ่มต้นเล็กน้อย (เช่น ใช้การแพน การดอลลี่ WASD ฯลฯ) ก่อนที่จะพยายามย้ายองค์ประกอบ
  • ฟีเจอร์ขนาดจริง 1:1 จะทำงานไม่ถูกต้องหากขนาดจริงของโมเดล 3 มิติน้อยกว่าหรือมากกว่าขีดจำกัดต่ำสุดและสูงสุดของสเกล (ปัจจุบันตั้งค่าไว้ที่ 20 ซม. และ 70 ม. ตามลำดับ)
  • โมเดล 3 มิติอาจกระโดดไปที่เฟรมแรกหลังจากโหลด

35.2.10 (1 ต.ค. 2024)

  • เพิ่ม AVD ของ Pixel ใหม่ ซึ่งรวมถึง Pixel 9, Pixel 9 Pro, Pixel 9 Pro XL และ Pixel 9 Pro Fold
  • เพิ่มอิมเมจระบบแท็บเล็ตใหม่สำหรับ Vanilla Ice Cream (API 35)

35.1.20 (29 ส.ค. 2024)

  • เพิ่ม AVD ของ Pixel 8a
  • การแก้ไขข้อบกพร่องต่างๆ สำหรับอุปกรณ์พับได้
  • การอัปเดต Qt และการแก้ไขข้อขัดข้องและการแฮงก์ที่เกี่ยวข้องกับ Qt
  • [การแก้ไขข้อบกพร่อง] แก้ไขข้อขัดข้องและการค้างใน Windows ด้วยแอปพลิเคชันที่ใช้ Vulkan

34.2.16 (9 กรกฎาคม 2024)

  • [การแก้ไขข้อบกพร่อง] UI ค้างที่เกิดขึ้นใน Pixel Fold ระหว่างการพับ/กาง
  • [การแก้ไขข้อบกพร่อง] การแสดงเวอร์ชัน Android เป็น Android Vanilla Ice Cream Preview แทนที่จะเป็น API 35 ใน Mac M1 ไม่ถูกต้อง
  • [การแก้ไขข้อบกพร่อง] ปัญหา #296162661: HasSystemFeature FEATURE_SENSOR_HINGE_ANGLE แสดงผลเป็นจริงในโปรแกรมจำลองแท็บเล็ต Pixel C

34.2.15 (31 พฤษภาคม 2024)

  • การแก้ไขข้อขัดข้องต่างๆ ที่เกี่ยวข้องกับโหมด Swangle และการล้างข้อมูลผู้ลงโฆษณา

34.2.14 (20 พฤษภาคม 2024)

ทดสอบกับ Android Studio Jellyfish Stable Patch 1

  • [การแก้ไขข้อบกพร่อง] บางครั้งสแนปชอตค้างในโปรแกรมจำลองที่ฝังไว้
  • [แก้ไขข้อบกพร่อง] ปุ่ม "ไม่" และ "ยกเลิก" ทำงานไม่ถูกต้องในสแนปชอต
  • [แก้ไขข้อบกพร่อง] ปุ่มแผงควบคุมทิศทางไม่ทำงาน
  • [การแก้ไขข้อบกพร่อง] แก้ไขปัญหาที่พบใน Windows ซึ่งทำให้โปรแกรมจำลองเริ่มต้นไม่ได้ในบางกรณีเมื่อใช้โหมด GPU กับ ANGLE และแสดงข้อความแสดงข้อผิดพลาด “เริ่มต้นการจำลอง GL ไม่สำเร็จ” ในบันทึก โปรดทราบว่าการเริ่มโปรแกรมจำลองโดยใช้บรรทัดคำสั่งที่มีตัวเลือก -gpu swangle_indirect อาจยังทำให้เกิดข้อผิดพลาดนี้ในเวอร์ชันนี้ หากยังต้องการเริ่มโปรแกรมจำลองโดยใช้บรรทัดคำสั่งใน Windows ด้วยการแสดงผลกราฟิกด้วยซอฟต์แวร์ในเวอร์ชันนี้ โปรดใช้ -gpu swiftshader_indirect
  • [แก้ไขข้อบกพร่อง] แป้นพิมพ์ลัดตำแหน่งบนแป้นพิมพ์โหลดแผนที่ที่ใช้ไม่ได้
  • [แก้ไขข้อบกพร่อง] ขณะตั้งค่าตำแหน่ง กล่องโต้ตอบ "บันทึกเส้นทาง" หายไป

34.2.13 (30 เมษายน 2024)

ทดสอบกับ Android Studio Jellyfish Stable

  • อัปเดตเป็น Qt 6.5.3
  • ความเข้ากันได้สำหรับการอัปเดต Google Maps API ที่ใช้ในฟีเจอร์ตำแหน่งในการควบคุมเพิ่มเติมของ โปรแกรมจำลอง ซึ่งจะเกิดขึ้นในช่วงปลายเดือนพฤษภาคม
  • การแก้ไขข้อขัดข้องที่มีผลกระทบสูง
  • การแก้ไขต่างๆ ใน AVD ของ Pixel
  • อัปเดตไลบรารีกราฟิกที่ใช้สำหรับการแสดงผลซอฟต์แวร์
  • [การแก้ไขข้อบกพร่อง]Issue 225541819 การเริ่มต้น Chrome ทำให้โปรแกรมจำลองขัดข้องใน x86_64
  • [แก้ไขข้อบกพร่อง]ปัญหา 314614435 การแยกวิเคราะห์สวิตช์ -http-proxy ไม่ถูกต้อง

34.1.20 (1 เมษายน 2024)

ทดสอบกับ Android Studio Iguana รุ่นเสถียร

  • [การแก้ไขข้อบกพร่อง] ปัญหา #314614435: แก้ไขปัญหาที่การแยกวิเคราะห์สวิตช์ -http-proxy ไม่ถูกต้อง

34.1.19 (7 มีนาคม 2024)

ทดสอบกับ Android Studio Iguana รุ่นเสถียร

  • [การแก้ไขข้อบกพร่อง] ปัญหา #312677259: แก้ไขปัญหาหน้าจอค้างในโปรแกรมจำลองที่ฝังไว้หลังจากปรับขนาดหน้าต่าง

34.1.18 (29 ก.พ. 2024)

ทดสอบกับ Android Studio Iguana รุ่นเสถียร

  • เพิ่มอุปกรณ์ไปยังโปรแกรมจำลองแล้ว ซึ่งรวมถึง
    • Pixel Fold
    • Pixel Tablet
    • Pixel 8
    • Pixel 8 Pro
    • Pixel 7a
  • การทดสอบการผสานรวม gRPC: ตอนนี้ปลายทาง gRPC พร้อมใช้งานสำหรับการทดสอบที่ใช้เครื่องมือซึ่งทำงานภายในโปรแกรมจำลองแล้ว ซึ่งจะช่วยให้ทดสอบสถานการณ์ที่สมจริงได้ ฟีเจอร์นี้ช่วยให้นักพัฒนาแอปโต้ตอบกับปลายทาง gRPC ที่โฮสต์โดยโปรแกรมจำลองของ Android จากภายในเครื่องมือทดสอบ Android ได้อย่างปลอดภัย
  • การแก้ไขข้อบกพร่องต่างๆ

33.1.24 (28 ธ.ค. 2023)

ทดสอบกับ Android Studio Hedgehog Stable และ Iguana Beta 1

  • แก้ไขปัญหาเว็บแคมของโปรแกรมจำลองที่ไม่อนุญาตให้บันทึกหน้าจอในรูปแบบ mp4
  • แก้ไขข้อขัดข้องของโปรแกรมจำลองใน AVD ของ Pixel Fold เมื่อกางออกระหว่างการบันทึกหน้าจอ
  • แก้ไขปัญหาที่ Pixel Fold แสดงสกินโทรศัพท์อื่นที่มีแป้นพิมพ์แยกและใช้งานไม่ได้ (แก้ไขใน Windows, Mac Intel และ Linux)
  • แก้ไขข้อบกพร่องในการแสดงผลในเซ็นเซอร์เสมือนในโหมดสแตนด์อโลน (แก้ไขใน Windows, Mac Intel และ Linux)
  • แก้ไขข้อขัดข้องบางอย่าง โดยเฉพาะอย่างยิ่งขณะปิดโปรแกรมจำลอง

33.1.23 (30 พฤศจิกายน 2023)

ทดสอบกับ Android Studio Giraffe Patch 4 และ Hedgehog Stable

  • การใช้งานแบบพับได้แบบใหม่เพื่อจำลองอุปกรณ์ Pixel Fold ได้ดียิ่งขึ้น ซึ่งใช้ได้กับ API 34 เวอร์ชันล่าสุด
  • การอัปเกรดแบ็กเอนด์กราฟิก: เราได้ใช้โปรโตคอล gfxstream สำหรับแบ็กเอนด์กราฟิกของเรา การปรับปรุงนี้จะช่วยเพิ่มประสิทธิภาพและความเสถียรของกราฟิกโดยรวมของระบบ นอกจากนี้ เรายังเปิดตัวการรองรับ Vulkan 1.3 ตั้งแต่เริ่มใช้อิมเมจระบบที่มี API 34
  • คำขอฟีเจอร์: ตัวเลือกในการปิดใช้ท่าทางสัมผัสการบีบนิ้วเพื่อซูมหรือกำหนดฮอตคีย์ใหม่
  • [การแก้ไขข้อบกพร่อง] ปัญหา #302562962 แก้ไขข้อบกพร่องของเว็บแคมในโปรแกรมจำลองที่ทำให้เกิดข้อผิดพลาดเมื่อใช้ MacOS Sonoma
  • [การแก้ไขข้อบกพร่อง] ปัญหา #293503871 แก้ปัญหาที่ระบบไม่บันทึกการตั้งค่า "ไมโครโฟน" เมื่อรีสตาร์ทโปรแกรมจำลอง
  • [การแก้ไขข้อบกพร่อง] ปัญหา #270386314 แก้ไขข้อผิดพลาดของภาพเคลื่อนไหวที่แถบด้านข้างจะเปิดอยู่เมื่อย่อหน้าจอ AVD
  • [การแก้ไขข้อบกพร่อง] ปัญหา #154896775 แก้ไขเครื่องมือส่งข้อบกพร่อง

32.1.15 (29 ส.ค. 2023)

ทดสอบกับ Android Studio Giraffe Patch 1 และ Hedgehog Canary 16

  • ปฏิบัติตามข้อกำหนดของ GAS HW สำหรับเซ็นเซอร์ในโปรแกรมจำลอง AAE
  • [การแก้ไขข้อบกพร่อง] ปัญหา #266201208 ระบบไม่ส่ง SMS ภาษาฮีบรูใน API 33
  • [การแก้ไขข้อบกพร่อง] ปัญหา #257097404 โปรแกรมจำลองไม่แสดงเวลาที่ถูกต้องหลังจากที่โฮสต์ตื่นขึ้นมาใน API 29 และ 30
  • [แก้ไขข้อบกพร่อง] ปัญหา #228201899 มองไม่เห็น Google Maps ในการควบคุมเพิ่มเติมของโปรแกรมจำลองของ Android

32.1.14 (27 มิถุนายน 2023)

ทดสอบกับ Android Studio Hedgehog Canary 8, Giraffe Beta 5 และ Flamingo Stable

  • แก้ไขการวางแนวและการบิดเบือนของกล้องอีมูเลเตอร์
  • [การแก้ไขข้อบกพร่อง] ปัญหา #257097404 "โปรแกรมจำลองไม่แสดงเวลาที่ถูกต้องหลังจากที่โฮสต์ตื่นขึ้น" ข้อบกพร่องนี้ยังคงเกิดขึ้นได้ใน API 29 และ API 30
  • [การแก้ไขข้อบกพร่อง] ปัญหา #243456582 "Android รุ่นที่หลังจาก API 30 อาจไม่เริ่มทำงานอย่างถูกต้องในโปรแกรมจำลองบน เครื่อง Mac M1"

32.1.13 (22 พฤษภาคม 2023)

ทดสอบกับ Android Studio Hedgehog Canary 2, Giraffe Beta 1 และ Flamingo Stable

  • เพิ่มการรองรับ AVD ของ Pixel Fold และ Pixel Tablet
  • ปรับปรุงปัญหาการขัดข้องของ gLinux
  • [การแก้ไขข้อบกพร่อง] ปัญหา #215231636 "โปรแกรมจำลองที่มี API สูงกว่า API 30 ไม่ทำงานในโปรเซสเซอร์ Intel รุ่นที่ 12"
  • [แก้ไขข้อบกพร่อง] ปัญหา #275397905 ระดับการขัดข้องสูงในโปรแกรมจำลองของ Android M1 เมื่อย้ายโฟกัสเคอร์เซอร์เข้าและออกจาก โปรแกรมจำลองซ้ำๆ
  • ปัญหาที่ทราบเกี่ยวกับการเปิดใช้ AVD เมื่อมีรายงานข้อขัดข้องของโปรแกรมจำลองรุ่นใหม่กว่า ดูข้อมูลเพิ่มเติมได้ที่การแก้ปัญหาโปรแกรมจำลอง

32.1.12 (21 มีนาคม 2023)

ทดสอบกับ Android Studio Giraffe Canary 10, Flamingo RC และ Electric Eel Patch 2

  • [แก้ไขข้อบกพร่อง] ปัญหา #267647323 เครือข่ายไม่ทำงานในโปรแกรมจำลองที่เริ่มต้นจาก Android Studio
  • [การแก้ไขข้อบกพร่อง] ปัญหา #268498686 หน้าจอโปรแกรมจำลองกะพริบ
  • [การแก้ไขข้อบกพร่อง] ปัญหา #270034824 ประสิทธิภาพของโปรแกรมจำลองลดลงหลังจากอัปเดตเป็นเวอร์ชัน 33.1.1
  • [การแก้ไขข้อบกพร่อง] ปัญหา #225541819 การเริ่มต้น Chrome ทำให้โปรแกรมจำลองขัดข้องใน x86_64
  • [การแก้ไขข้อบกพร่อง] ปัญหา #257097404 โปรแกรมจำลองไม่แสดงเวลาที่ถูกต้องหลังจากที่โฮสต์ตื่นขึ้น
  • เพิ่มการรายงานข้อขัดข้องสำหรับอุปกรณ์ Apple M1

32.1.11 (8 กุมภาพันธ์ 2023)

ทดสอบกับ Android Studio Giraffe Canary 2, Flamingo Beta 1 และ Electric Eel Patch 1

  • การเพิ่มประสิทธิภาพความเร็วเครือข่าย
  • การรองรับเมาส์ในโปรแกรมจำลองที่ฝัง
  • การปรับปรุง Virtio-snd
  • ปิดใช้การใช้ลิงก์สัญลักษณ์ขณะคลายซิปโปรแกรมจำลองของ Android ระหว่างการติดตั้ง
  • แก้ไขข้อขัดข้องใน emulator-check

31.3.14 (13 ธันวาคม 2022)

ทดสอบกับ Android Studio Dolphin, Electric Eel RC1 และ Flamingo Canary 9

  • [การแก้ไขข้อบกพร่อง] แก้ไขข้อขัดข้องของ AVD ที่เกิดขึ้นเมื่อเข้าสู่ระบบ Play Store

31.3.13 (27 ตุลาคม 2022)

ทดสอบกับ Android Studio Dolphin, Electric Eel Beta 2 และ Flamingo Canary 5

  • [แก้ไขข้อบกพร่อง] ปัญหา #249948338: พารามิเตอร์เขตเวลาไม่ทำงาน
  • [แก้ไขข้อบกพร่อง] ปัญหา #249366543: ตัวเลือก -dns-server ของโปรแกรมจำลองไม่ทำงานหลังจาก API 31

31.3.12 (10 ตุลาคม 2022)

ทดสอบกับ Android Studio Dolphin และ Electric Eel เบต้า 1

การอัปเดตนี้มีการปรับปรุงและการแก้ไขต่อไปนี้

  • [การแก้ไขข้อบกพร่อง] ปัญหา #247843000: ข้อผิดพลาดในการจัดการเส้นทางที่เกี่ยวข้องของ AVD
  • เพิ่มขนาดดิสก์สำหรับ API 24 ขึ้นไป

31.3.11 (23 กันยายน 2022)

ทดสอบกับ Android Studio Dolphin และ Electric Eel Canary 10

การอัปเดตนี้มีการปรับปรุงและการแก้ไขต่อไปนี้

  • [การแก้ไขข้อบกพร่อง] AVD ของโปรแกรมจำลองที่ฝังตัวขัดข้องในหน้าต่างการควบคุมแบบขยาย
  • [การแก้ไขข้อบกพร่อง] ปัญหา #183139207: ปัญหาเสียงที่เชื่อมโยงกับการเปิดใช้งานไมโครโฟนของโปรแกรมจำลอง
  • [การแก้ไขข้อบกพร่อง] ปัญหา #229764024: ข้อบกพร่องเกี่ยวกับการสัมผัสแบบเหนียวของ AVD ที่ส่งผลให้เกิดปัญหาเกี่ยวกับลักษณะการทำงานของ UI
  • [การแก้ไขข้อบกพร่อง] ข้อผิดพลาดในการเปิดใช้ AVD ของ API 33 ใน Mac M1
  • [การแก้ไขข้อบกพร่อง] ปัญหา #243053479: ความเร็วเครือข่ายช้าหลังจากอัปเดตโปรแกรมจำลอง
  • [แก้ไขข้อบกพร่อง] ปัญหา #244617627: ตำแหน่งใน Maps ใช้งานไม่ได้ใน Windows และ Linux
  • [แก้ไขข้อบกพร่อง] ปัญหา #232971796: ปุ่ม "โทรหาอุปกรณ์" ใช้งานไม่ได้ในส่วนการควบคุมเพิ่มเติม > หน้าโทรศัพท์
  • อัปเดตโปรแกรมจำลองของ Android เป็น minigbm
  • การย้ายข้อมูลสคริปต์บิลด์ไปยัง Python3

31.3.10 (18 สิงหาคม 2022)

ทดสอบกับ Android Studio Dolphin เบต้า 5 และ Electric Eel Canary 9

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

การอัปเดตนี้มีการปรับปรุงและการแก้ไขต่อไปนี้

  • การรองรับเส้นทาง Unicode ที่ดียิ่งขึ้นใน Windows
  • จัดการการปิดอีมูเลเตอร์ได้ดีขึ้นเพื่อให้การเปิด AVD เดียวกันใหม่ สำเร็จ
  • อัปเดตการออกแบบ AVD แบบพับได้และการตั้งค่าเริ่มต้น
  • ปุ่มโปรแกรมจำลอง Wear ที่อัปเดตแล้ว
  • การปรับปรุงการสตรีมเสียง gRPC
  • เพิ่มคำสั่งคอนโซลโปรแกรมจำลองที่ปรับขนาดได้แล้ว
  • การแก้ไข Chrome สำหรับ API 31
  • [แก้ไขข้อบกพร่อง] การตรวจสอบสิทธิ์บัญชี Google ล้มเหลวด้วย GmsCore v21.42.18

31.2.10 (20 เมษายน 2022)

ทดสอบกับ Android Studio Dolphin Canary 8 และ Chipmunk RC 1

การอัปเดตนี้มีการปรับปรุงและการแก้ไขต่อไปนี้

  • เพิ่มยูทิลิตีเพื่อโหลดฟังก์ชัน Vulkan ด้วยฟอลแบ็ก
  • [แก้ไขข้อบกพร่อง] แก้ไขข้อผิดพลาดในการสร้าง gcc8

31.2.9 (23 มีนาคม 2022)

ทดสอบกับ Android Studio Dolphin Canary 7

การอัปเดตนี้มีการแก้ไขต่อไปนี้

  • [การแก้ไขข้อบกพร่อง] ละเว้นแรงกดดันด้านหน่วยความจำเมื่อบันทึกสแนปชอตใน M1

31.2.8 (7 กุมภาพันธ์ 2022)

ทดสอบกับ Android Studio Bumblebee Patch 1 และ Chipmunk Canary 6

การอัปเดตนี้มีการปรับปรุงและการแก้ไขต่อไปนี้

  • [แก้ไขข้อบกพร่อง] ลงชื่อเข้าใช้แอปไม่ได้
  • [แก้ไขข้อบกพร่อง] ปัญหา #215368358: "adb reboot" ในแพลตฟอร์ม Intel จะทำให้ AVD ขัดข้องพร้อมข้อความ "vcpu shutdown request"

31.2.7 (1 กุมภาพันธ์ 2022)

ทดสอบกับ Android Studio Bumblebee Patch 1 และ Chipmunk Canary 6

การอัปเดตนี้มีการแก้ไขต่อไปนี้

  • [การแก้ไขข้อบกพร่อง] ข้อผิดพลาดเกี่ยวกับโปรแกรมจำลองค้างในเครื่อง M1

31.2.6 (20 มกราคม 2022)

ทดสอบกับ Android Studio Arctic Fox, Bumblebee Beta 4 และ Chipmunk Canary 6

การอัปเดตนี้มีการปรับปรุงและการแก้ไขต่อไปนี้

  • เพิ่มปุ่ม Wear ลงในโปรแกรมจำลอง Wear OS
  • ทำให้แก้ไขพร็อพเพอร์ตี้ยานพาหนะทั้งหมดได้ในแท็บ VHAL
  • [แก้ไขข้อบกพร่อง] การตรวจสอบสิทธิ์บัญชี Google ล้มเหลวด้วย GmsCore v21.42.18
  • [แก้ไขข้อบกพร่อง] Netshaper ทำงานได้ไม่ดีกับ VirtioWifi
  • [การแก้ไขข้อบกพร่อง] คำสั่งคอนโซลเมาส์ของเหตุการณ์ไม่ทำงาน
  • เพิ่มการตรวจสอบ KVM สำหรับการสร้าง AVD ในเครื่อง

31.1.3 (18 มกราคม 2022)

การอัปเดตนี้มีการปรับปรุงและการแก้ไขต่อไปนี้

  • เปิดใช้พอร์ตคอนโซลสำหรับ Fuchsia
  • เมื่อปรับขนาดหน้าต่างแบบหลายจอแสดงผล ระบบจะไม่สนใจการวางแนว
  • Wi-Fi: เพิ่มการรองรับการกรองแพ็กเก็ตแบบ Unicast ตามที่อยู่ MAC ของ MAT
  • Wi-Fi: แก้ไขข้อขัดข้องเมื่อใช้ vmnet

30.9.5 (15 ธันวาคม 2021)

การอัปเดตนี้มีการปรับปรุงและการแก้ไขต่อไปนี้

  • เพิ่มความสามารถในการปรับขนาดให้เป็นหน้าต่างขนาดเดสก์ท็อปหรือแท็บเล็ตได้อย่างง่ายดาย
  • เพิ่มการรองรับอินพุตมัลติทัชจากอุปกรณ์โฮสต์ที่เข้ากันได้
  • VirtioWifi: เพิ่มการรองรับเครือข่าย TAP
  • เปิดใช้การป้อนข้อมูลด้วยปุ่มหมุนสำหรับอิมเมจระบบ Wear
  • แก้ไขปัญหาการกำหนดค่าเสียง gRPC
  • อัปเดตการเล่นโปรแกรมจำลอง SensorReplay เพื่อรองรับเซ็นเซอร์ Android มาตรฐาน
  • เชื่อมต่อโปรแกรมจำลองกับอุปกรณ์ต่อพ่วงและอุปกรณ์ต่างๆ โดยใช้ USB ด้วยการส่งผ่าน USB

30.4.5 (23 กุมภาพันธ์ 2021)

การอัปเดตนี้มีการปรับปรุงและการแก้ไขต่อไปนี้

  • macOS: แก้ไขปัญหาเกี่ยวกับเสียงอินพุตที่ผิดเพี้ยน
  • เพิ่มการรองรับ virtio-vsock ในพื้นที่ผู้ใช้
  • อิมเมจระบบในอนาคตจะใช้ virtio-console สำหรับข้อความ logcat และเคอร์เนล
  • เร่งการแสดงผล Vulkan
  • เพิ่มการรองรับการแก้ไขข้อบกพร่องของสแนปชอตเมื่อการทดสอบล้มเหลว
  • virtio-gpu: อัปเดตคำจำกัดความเพื่อรองรับการแจงนับทรัพยากร Blob ล่าสุด
  • เพิ่มการรองรับสแนปชอตสำหรับการรับส่งกราฟิกประเภท "asg"
  • macOS: เพิ่มการรองรับการสร้างเทียบกับ macOS SDK 11.1 ขึ้นไป
  • KVMclock จะเปิดใช้โดยค่าเริ่มต้นในอิมเมจระบบที่ใหม่กว่า
  • เพิ่มการรองรับเซ็นเซอร์วัดอัตราการเต้นของหัวใจในโปรแกรมจำลอง Wear
  • นำแบ็กเอนด์ Vulkan ของ libportability ออกแล้ว
  • เพิ่มการรองรับฟีเจอร์เพิ่มเติมในโปรแกรมจำลองโมเด็ม

30.0.26 (16 สิงหาคม 2020)

การอัปเดตนี้รวมถึงฟีเจอร์ใหม่หลายอย่าง การปรับปรุงฟีเจอร์ที่มีอยู่ และการแก้ไขข้อบกพร่อง

รองรับอุปกรณ์แบบพับได้ด้วยเซ็นเซอร์บานพับเสมือนและมุมมอง 3 มิติ

  • เพิ่มการรองรับเซ็นเซอร์บานพับสำหรับอุปกรณ์แบบพับได้ ซึ่งต้องใช้อิมเมจระบบ Android 11 และการกำหนดค่า AVD ในอนาคต ตอนนี้เราได้ผสานรวมมุมมองและบานพับแบบพับได้ 3 มิติเข้ากับค่าที่กำหนดไว้ล่วงหน้าแบบพับได้ที่มีอยู่แล้ว คุณใช้รายการต่อไปนี้กับไฟล์ config.ini ของ AVD แบบพับได้ 7.3 ได้ เช่น

    hw.sensor.hinge = yes
    hw.sensor.hinge.count = 1
    hw.sensor.hinge.type = 1
    hw.sensor.hinge.ranges = 180-360
    hw.sensor.hinge.defaults = 180
    hw.sensor.hinge.areas = 54.7-0
    hw.sensor.posture_list=4, 3
    hw.sensor.hinge_angles_posture_definitions=210-360, 180-210
    hw.sensor.hinge.fold_to_displayRegion.0.1_at_posture=4
    
  • ตอนนี้อุปกรณ์แบบพับได้มีพารามิเตอร์ประเภทย่อยด้วย พร็อพเพอร์ตี้ config.ini hw.sensor.hinge.sub_type = hinge/fold พร้อมใช้งานแล้ว ดูข้อมูลเพิ่มเติมได้ที่บล็อกโพสต์ การพัฒนาสำหรับ Android 11 ด้วยโปรแกรมจำลองของ Android

  • ตอนนี้ระบบจะเปิดใช้เซ็นเซอร์บานพับโดยค่าเริ่มต้น

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

โปรแกรมจำลองสำหรับโฮสต์ ARM64

  • ตอนนี้ซอร์สโค้ดของโปรแกรมจำลอง Linux รองรับการคอมไพล์แบบข้ามระบบจากโฮสต์ x86_64 ไปยัง arm64 แล้ว ซึ่งช่วยให้เรียกใช้อิมเมจระบบ arm64 ด้วยระบบเสมือนจริง KVM ได้ ปัจจุบันระบบรองรับเฉพาะ -gpu swiftshader_indirect (การแสดงผลโฮสต์ Swiftshader arm64) แต่คุณอาจใช้ชุดไลบรารี libEGL/libGLESv2 ของ GPU โฮสต์ที่เข้ากันได้โดยการแทนที่ lib64/gles_swiftshader ด้วยไลบรารีดังกล่าว แล้วเปิดใช้ -gpu swiftshader_indirect อีกครั้ง นอกจากนี้ สแนปชอตอาจไม่ทำงานด้วย (เพิ่ม -no-snapshot ลงในบรรทัดคำสั่ง) วิธีการ:

    mkdir emu
    cd emu
    repo init -u https://android.googlesource.com/platform/manifest -b emu-master-dev --depth=1
    repo sync -qcj 12
    cd external/qemu
    pip install absl-py
    pip install urlfetch
    sudo apt-get install crossbuild-essential-arm64
    python android/build/python/cmake.py --noqtwebengine --noshowprefixforinfo --target linux_aarch64
    
  • การรองรับ Apple Silicon อยู่ระหว่างดำเนินการ

รองรับ virtio-gpu

  • เพิ่มการรองรับฝั่งโฮสต์สำหรับทรัพยากร Blob ที่สอดคล้องกันของโฮสต์ virtio-gpu ที่กำลังจะมาถึง
  • เนื่องจากลักษณะการทำงานของการแสดงผลโปรแกรมจำลอง ตอนนี้เราจึงประมวลผล virtqueue ของ virtio-gpu ใน เธรด vcpu (เนื่องจากมีการส่งต่อการแสดงผลไปยังเธรดอื่นๆ อยู่แล้ว) เราจะเปิดใช้การแสดงผล virtio-gpu ในอิมเมจระบบและโปรแกรมจำลองเวอร์ชันในอนาคต
  • ในอิมเมจระบบในอนาคต โปรแกรมจำลองจะเรียกใช้กราฟิกทั้งหมดด้วยสแต็กที่อิงตาม virtio-gpu ได้

ฟีเจอร์ใหม่และการปรับปรุงอื่นๆ

  • ตอนนี้คุณใช้การส่งผ่าน USB ใน Windows ได้แล้วโดยใช้ -qemu -usb -device usb-host,vendorid=<usb-vendor-id>,productid=<usb-product-id> (ฟีเจอร์นี้ควรใช้งานได้ใน Linux และ macOS อยู่แล้วด้วย)
  • อัปเดตไลบรารี WebRTC เป็น M83
  • ตอนนี้โปรแกรมจำลองรองรับการสตรีมเสียงในคอนเทนเนอร์ผ่าน WebRTC แล้ว
  • มีการนำปลายทางของไปป์ไลน์ darwinn ออกแล้ว
  • ตอนนี้การถอดรหัส CUDA VPx สำหรับวิดีโอพร้อมใช้งานแล้ว หากการถอดรหัส CUDA VPx พร้อมใช้งานใน ฮาร์ดแวร์ผ่านตัวแปรสภาพแวดล้อม ANDROID_EMU_MEDIA_DECODER_CUDA_VPX=1
  • ใน macOS ตอนนี้ SSE 4.1 และ 4.2 พร้อมใช้งานจากภายในระบบปฏิบัติการ Android แล้ว
  • ใน macOS ตอนนี้ระบบจะเปิดใช้ INVTSC โดยค่าเริ่มต้น ซึ่งจะช่วยปรับปรุงความแม่นยำของการวัดเวลาจากแขกรับเชิญ
  • ตอนนี้เราจะติดตามว่าผู้ใช้เลือกแผงควบคุมแบบขยายใดในเมตริก
  • ตอนนี้โปรแกรมจำลอง Linux ใช้ KVM Paravirtualized Clock เมื่อเคอร์เนลของระบบปฏิบัติการแขกมีเวอร์ชัน >= 5.4 (อิมเมจระบบ R หรือใหม่กว่า)
  • ตอนนี้โปรแกรมจำลองใช้ LZ4 เพื่อคลายการบีบอัดเคอร์เนลของแขกรับเชิญ ซึ่งทำให้เข้ากันได้กับ ไปป์ไลน์เคอร์เนลสมัยใหม่
  • เพิ่มคำสั่งคอนโซลเพื่อรับไดเรกทอรี AVD ของโปรแกรมจำลอง เส้นทางไฟล์การค้นพบใน Use Case ที่ฝังอยู่ใน Studio และเส้นทางไปยังสแนปชอต

    adb emu avd path # Obtains path to AVD directory
    adb emu avd discoverypath # Obtains path to discovery file
    adb emu avd snapshotspath # Obtains path to snapshots folder
    adb emu avd snapshotpath <snapshotName> # Obtains path to the folder that stores the snapshot for the snapshot with name <snapshotName>
    
  • เราได้เพิ่มตัวเลือกในการซ่อนกรอบอุปกรณ์สำหรับ AVD ปัจจุบันในการควบคุมเพิ่มเติม > การตั้งค่า เพื่อให้ประหยัดพื้นที่หน้าจอแนวตั้งได้ง่ายขึ้น หากต้องการซ่อนเฟรมอุปกรณ์ทั่วโลกสำหรับ AVD ทั้งหมด เราได้เปิดให้ใช้งานNoDeviceFrameแฟล็กฟีเจอร์ ซึ่งเปิดใช้งานได้โดยการเปิดตัวโปรแกรมจำลองจากบรรทัดคำสั่งด้วย-feature NoDevice frame หรือหากต้องการล็อก ให้เพิ่มNoDeviceFrame = on ไปยัง ~/.android/advancedFeatures.ini (สร้างไฟล์นี้หากยังไม่มี)

  • เพิ่มรายการแบบเลื่อนลงในหน้าเครือข่ายมือถือเพื่อเปิดและปิดการรองรับการวัดปริมาณการใช้อินเทอร์เน็ต ซึ่งไม่มีผลกับอิมเมจระบบรุ่นเก่าที่ไม่รองรับการเปิด/ปิดการวัดปริมาณการใช้อินเทอร์เน็ต 5G

    • นอกจากนี้ ยังเพิ่มคำสั่งคอนโซลเพื่อวัตถุประสงค์เดียวกันด้วย gsm meter on|off
  • อัปเกรด Toolchain / Build เป็น C++17

การแก้ไข: โปรแกรมจำลองที่ฝัง

  • ตอนนี้คลิปบอร์ดควรใช้งานได้แล้ว
  • แก้ไขปัญหาที่อักขระตัวพิมพ์ใหญ่แสดงเป็นอักขระตัวพิมพ์เล็กในโปรแกรมจำลอง
  • แก้ไขการโหลดโทเค็นคอนโซลจากเส้นทาง Unicode ใน Windows
  • แก้ไขSO_REUSEPORTข้อความแสดงข้อผิดพลาดใน Linux แล้ว
  • แก้ไขปัญหาความเสียหายของสแนปชอตเมื่อส่งคำสั่งสแนปชอตผ่าน gRPC รวมถึงเมื่อกดปุ่มบันทึกสแนปชอตในโปรแกรมจำลองที่ฝังใน Android Studio
  • เมื่อใช้โปรแกรมจำลอง Linux ที่ฝังอยู่ใน Studio เราพบว่าหากดำเนินการผ่าน Chrome Remote Desktop จะมีข้อบกพร่องที่ไม่ได้ตั้งค่า XDG_RUNTIME_DIR และอาจทำให้โปรแกรมจำลองที่ฝังอยู่ไม่ปรากฏเนื่องจากไฟล์การค้นหาโปรแกรมจำลองอยู่ใน XDG_RUNTIME_DIR คุณตรวจสอบ สถานะของปัญหาที่เกี่ยวข้องในเครื่องมือติดตามปัญหาของ Chrome ได้

    ตอนนี้โปรแกรมจำลองจะกลับไปใช้ไฟล์การค้นพบในไดเรกทอรีที่อาจแตกต่างกันซึ่งอิงตาม UID ของผู้ใช้ /run/user/&lt;uid> เพื่อเป็นวิธีแก้ปัญหา

  • โปรแกรมจำลองที่ฝัง: อุปกรณ์ที่มีมุมโค้ง/รอยบากจะเปลี่ยนเลย์เอาต์อย่างถูกต้อง เพื่อเว้นที่ว่างสำหรับมุมและรอยบาก ซึ่งต้องมีการเปิดเครื่องใหม่ ของโปรแกรมจำลองเหล่านั้น

  • ตอนนี้ปลายทาง gRPC รองรับการส่ง SMS ไปยังอุปกรณ์แล้ว

การแก้ไขทั่วไป

  • เราพบปัญหาด้านความเข้ากันได้เมื่อเรียกใช้โปรแกรมจำลอง Windows ขณะที่ Riot Vanguard ทำงานอยู่ ตอนนี้โปรแกรมจำลอง Windows จะตรวจจับโปรแกรมป้องกันการโกง Vanguard และแสดงข้อความเตือนหากตรวจพบ Vanguard
  • แก้ไขข้อผิดพลาด FD_SETSIZE ใน Windows แล้ว ตอนนี้เราใช้ WSAEventSelect() แทน select() เพื่อสร้างการเชื่อมต่อที่ไม่บล็อกกับเซิร์ฟเวอร์ลูปแบ็ก
  • เพิ่มการรองรับฟีเจอร์ CPUID ของ F16C ลงในโปรแกรมจำลอง Linux พร้อมแก้ไขปัญหาการเรียกใช้ แอปพลิเคชัน ARM64 บางรายการผ่านการแปล NDK และกำลังดำเนินการใน macOS/Windows
  • แก้ไขการเล่นเส้นทาง GPX/KML ให้เป็นไปตามการประทับเวลา
  • แก้ไขไอคอนที่กระดอนเมื่อเปิดใช้ใน MacOs
  • หาก hw.audioInput=no และ hw.audioOutput=no ใน config.ini ระบบจะปิดใช้เสียงของโปรแกรมจำลอง อย่างถูกต้องแล้ว
  • แก้ไขปัญหาที่หากหน้าต่างโปรแกรมจำลองถูกย่อขณะที่หน้าต่างการควบคุมเพิ่มเติมเปิดอยู่แต่ไม่ได้ใช้งาน หน้าต่างการควบคุมเพิ่มเติมจะยังคงแสดงขึ้นเมื่อปรับขนาดหน้าต่างโปรแกรมจำลอง เราจะนำลักษณะการทำงาน (กรณีที่มีหน้าต่างการควบคุมเพิ่มเติมที่ใช้งานอยู่) ออกโดยสมบูรณ์ในการอัปเดตในอนาคต
  • แก้ไขข้อบกพร่องที่ไม่เสถียรซึ่ง Wi-Fi ไม่ได้เชื่อมต่อเมื่อโปรแกรมจำลองเริ่มต้น
  • แก้ไขปัญหาการค้างเมื่อออกเมื่อโปรแกรมจำลองออกคำสั่งเชลล์ที่มีการหมดเวลาที่ยาวหรือไม่มีกำหนด
  • อัปเดต pc-bios พร้อมการแก้ไขเพื่อรองรับรูปภาพขนาดใหญ่ที่ส่งไปยัง -initrd; BIOS ก่อนหน้าได้ดียิ่งขึ้น เนื่องจาก BIOS ก่อนหน้าใช้วิธีการที่ไม่มีประสิทธิภาพ
  • แก้ไขข้อขัดข้องระหว่างการสิ้นสุดเมื่อใช้ตัวเลือก -wifi-server-port
  • ตอนนี้โปรแกรมจำลองจะพิมพ์คำเตือนหากมีการส่งตัวเลือกที่ไม่รองรับไปยัง -prop (รองรับเฉพาะพร็อพเพอร์ตี้ qemu.*)
  • เมื่อสร้างโปรแกรมจำลองบน Windows โอกาสที่จะเห็น ความล้มเหลวที่ไม่แน่นอนในการเขียนไฟล์ควรลดลง ดูข้อมูลเพิ่มเติมได้ที่วิธีการสร้าง Windows
  • ปิดใช้ปุ่มซูมสำหรับ AVD แบบพับได้ซึ่งทำให้เกิดปัญหา
  • ตอนนี้โปรแกรมจำลองจะรายงานเวลาบูตที่มาจากการรีบูตอุปกรณ์อย่างถูกต้องแล้ว
  • Linux: ในกรณีที่สิทธิ์ KVM ไม่เพียงพอ ตอนนี้โปรแกรมจำลอง จะพิมพ์วิธีการแก้ไขข้อบกพร่องได้รวดเร็วขึ้น
  • แก้ปัญหาที่โปรแกรมจำลองบูตอิมเมจระบบล่าสุดที่ไม่มีการเร่งความเร็วไม่ได้
  • แก้ไขการเสียหายของหน่วยความจำหรือข้อขัดข้องเมื่อเริ่มต้นจากเครื่องตรวจจับการบูตเสร็จสมบูรณ์
  • แก้ไขปัญหาหน่วยความจำรั่วไหลระหว่างเซสชันการบันทึกหน้าจอเป็นเวลานาน
  • อัปเดตไอคอนโปรแกรมจำลองให้สอดคล้องกับการสร้างแบรนด์ของ Studio 4.1
  • เพิ่มการรองรับการตรวจหาเซสชันระยะไกลใน Windows ให้ดียิ่งขึ้น

การแก้ไข: กราฟิกและการถอดรหัสวิดีโอ

  • แก้ไขปัญหาที่เกม Asphalt 9 เวอร์ชันล่าสุดแสดงผลเป็นหน้าจอสีดำ
  • นำสแปมเกี่ยวกับการล้างบัฟเฟอร์ที่แมปด้วย NULL ออกแล้ว
  • แก้ไขภาวะแข่งขันเมื่อล้างสถานะ Vulkan เมื่อแอป Vulkan ของแขกรับเชิญออก
  • ตอนนี้เชเดอร์การจำลอง ASTC/ETC2 ของ Vulkan ได้รวมอยู่ในไลบรารี libOpenglRender แล้ว ซึ่งจะมีความน่าเชื่อถือมากกว่าการอ่านจากระบบไฟล์
  • แก้ไขปัญหาใน Vulkan ที่หากเรียกใช้ด้วยอินสแตนซ์ Vulkan 1.0 ในโฮสต์ vkGetImageMemoryRequirements2KHR จะล้างฟิลด์ pNext ของโครงสร้าง VkMemoryRequirements2 ที่ส่งคืนอย่างไม่ถูกต้อง
  • แก้ไขปัญหาหน่วยความจำรั่วไหลในโปรแกรมแสดงผล Vulkan
  • แก้ไขการเกิดปัญหาซ้ำล่าสุดที่ทำให้คอมไพเลอร์ไม่สามารถคอมไพล์ตัวปรับแสงเงา GLSL ES 1.00 ที่มีชื่อตัวแปร เช่น isampler2D
  • อัปเดตตัวแปล Shader ของ ANGLE พร้อมการแก้ไขต่างๆ ที่ช่วยแก้ปัญหาการคอมไพล์ Shader ใน Linux ที่อาจเกิดขึ้น
  • ตอนนี้เราจะทำให้โปรแกรมจำลองขัดข้องหาก Shader การส่งผ่านข้อมูล Framebuffer พื้นฐานคอมไพล์ไม่สำเร็จ เพื่อติดตามปรากฏการณ์นี้
  • อัปเดตตัวแปล Shader ของ ANGLE เพื่อให้เป็นเวอร์ชันล่าสุดของ ANGLE การแก้ไขนี้ช่วยแก้ปัญหาเกี่ยวกับการเสียหายของหน่วยความจำเมื่อแปลและพับค่าคงที่ของเชเดอร์ OpenGL ES ที่ใช้เมทริกซ์ที่ไม่ใช่สี่เหลี่ยมจัตุรัส ตอนนี้ตัวแปล Shader เป็นไลบรารีที่ใช้ร่วมกันแยกต่างหากแล้ว libshadertranslator.dll
  • แก้ไขปัญหาการเริ่มต้น Vulkan ในไดรเวอร์ GPU บางตัว ซึ่งไม่พบฟังก์ชันอุปกรณ์บางอย่างในเวอร์ชัน 1.1
  • Vulkan: เราได้เปลี่ยนกลับไปใช้ตัวโหลดที่สร้างไว้ล่วงหน้าแล้ว เนื่องจากตัวโหลด Vulkan ของระบบทำให้เกิดปัญหาในการตั้งค่าบางอย่าง และเราจะหาวิธีแก้ปัญหาที่ดีกว่านี้
  • แก้ไขปัญหาเมื่อใช้หน่วยความจำภายนอกของ Vulkan ซึ่งอาจมีการนำเข้าดัชนีประเภทหน่วยความจำที่ไม่ตรงกันในโฮสต์
  • แก้ไขปัญหาในการจำลอง GL_ALIASED_POINT_SIZE_RANGE ที่โฮสต์ไม่รองรับ Enum
  • แก้ไขปัญหาที่ GPU ของโฮสต์บางเครื่องคอมไพล์ Shader ของ Skia ไม่ได้เนื่องจากข้อผิดพลาดที่เกี่ยวข้องกับ GL_EXT_shader_framebuffer_fetch
  • เนื่องจากเราได้นำสำเนารุ่นการแสดงผล ANGLE ของ D3D9 ออกไปเมื่อ 2-3 เวอร์ชันที่แล้ว ตอนนี้เราจึงเปลี่ยนผู้ใช้ที่ใช้รุ่นการแสดงผลนั้นเป็น ANGLE ของ d3d11 โดยอัตโนมัติด้วย หากมีการเลือก ในค่ากำหนด UI
  • เพิ่มข้อมูลการแก้ไขข้อบกพร่องเพิ่มเติมลงในการเริ่มต้น WGL ใน Windows เพื่อติดตามความล้มเหลว
  • เมื่อ hw.gltransport=virtio-gpu-pipe ประสิทธิภาพจะดีขึ้นโดยไม่หมุน ในโฮสต์ในการโอนจากโฮสต์ไปยังแขก
  • เพิ่มการบันทึกการแก้ไขข้อบกพร่องเพิ่มเติมในกรณีที่การจำลอง OpenGLES เริ่มต้นไม่สำเร็จ
  • แก้ไขปัญหาเกี่ยวกับวิดีโอ YouTube ที่กะพริบหรือไม่แสดงในสแนปชอต โหลด
  • ตอนนี้เรากลับไปใช้การถอดรหัสซอฟต์แวร์สำหรับ libvpx เนื่องจากพบปัญหาเกี่ยวกับการถอดรหัสฮาร์ดแวร์ CUDA ของ libvpx หากมีการติดตั้งใช้งานการถอดรหัสฮาร์ดแวร์ CUDA ที่รองรับในฝั่งโฮสต์ คุณจะเปิดใช้การถอดรหัสฮาร์ดแวร์ของ libvpx อีกครั้งได้ผ่านตัวแปรสภาพแวดล้อม ANDROID_EMU_MEDIA_DECODER_CUDA_VPX=1

30.0.10 (30 เมษายน 2020)

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

เรียกใช้โปรแกรมจำลองใน Android Studio

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

โหมดหน้าต่างรูปแบบอิสระ

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

ปัญหาที่ทราบ

ขณะนี้การปรับขนาดหน้าต่างรูปแบบอิสระใช้งานไม่ได้เนื่องจากปัญหาในการโอน โฟกัสไปยัง Window Manager เราจะแก้ไขปัญหานี้ในการเปิดตัวอิมเมจระบบ Android 11 ในอนาคต

30.0.0 (19 กุมภาพันธ์ 2020)

การอัปเดตนี้รวมถึงอิมเมจระบบ Android 11 (API ระดับ 30) และประสิทธิภาพที่ดียิ่งขึ้น เมื่อเรียกใช้ไบนารี ARM

อิมเมจระบบ Android 11

ตอนนี้คุณสามารถสร้าง AVD ที่ใช้ Android 11 ได้โดยเลือกอิมเมจระบบ API ระดับ 30 ที่พร้อมใช้งานต่อไปนี้

  • x86: มีทั้ง ABI ของ x86 และ ARMv7
  • x86_64: มี ABI ของ x86, x86_64, ARMv7 และ ARM64

รองรับไบนารี ARM ในอิมเมจระบบ Android 9 และ 11

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

ปัญหาที่ทราบ

  • ไบนารี ARMv7 บางรายการทำงานบนอิมเมจระบบ Android 11 x86 และ x86_64 ไม่ได้ พิจารณาสร้างสำหรับ ARM64 เมื่อกำหนดเป้าหมายเป็น Android 11

29.0.11 (29 พฤษภาคม 2019)

การอัปเดตนี้มีการปรับปรุงและการแก้ไขต่อไปนี้

  • Windows: ตอนนี้โปรแกรมจำลองใช้ DLL ของ libgcc ที่เราจัดส่งแทนการคอมไพล์ libgcc แบบคงที่แล้ว
  • Linux: เพิ่มการรองรับ Logcat ใน gRPC API ดูข้อมูลเพิ่มเติมเกี่ยวกับ gRPC ได้ที่ โปรแกรมจำลองการสตรีม gRPC (Linux)
  • ตอนนี้โปรแกรมจำลองมีบิลด์แบบไม่มีส่วนหัวสำหรับแขกรับเชิญ x86 32 บิต (qemu-system-i386) แล้ว ฟีเจอร์นี้ช่วยให้รูปภาพ x86 32 บิตสำหรับ API ระดับ 26 และต่ำกว่าสามารถเรียกใช้กับบิลด์แบบไม่มีส่วนหัวได้ โปรดทราบว่าสำหรับแขกรับเชิญ x86 32 บิตที่มี API 27 ขึ้นไป โปรแกรมจำลองจะใช้เครื่องมือ 64 บิต (qemu-system-x86_64) เนื่องจากในอิมเมจระบบเหล่านี้ แม้ว่าพื้นที่ผู้ใช้จะเป็น 32 บิต แต่เคอร์เนลจะเป็น 64 บิต Android Studio ใช้เคอร์เนลเพื่อเลือกเครื่องมือจำลอง
  • ตอนนี้คุณระบุเส้นทางไลบรารี Qt ที่กำหนดเองได้โดยใช้ตัวแปรสภาพแวดล้อม ANDROID_QT_LIB_PATH
  • ตอนนี้คุณสามารถเรียกใช้โปรแกรมจำลองด้วยไบนารีก่อนหน้าซึ่งใช้ QEMU1 ได้หากวาง ไฟล์ที่เรียกใช้งาน QEMU1 (emulator[64]-[x86|arm|etc]) ไว้ในไดเรกทอรี โปรแกรมจำลอง
  • Windows: แก้ไขปัญหาที่บางครั้งอาจทำให้โปรแกรมจำลองเริ่มต้นไม่สำเร็จพร้อมข้อความ "คำขอปิด vCPU"
  • แก้ไขปัญหาเกี่ยวกับ Barrier ของไปป์ไลน์ที่ไม่จำเป็นในเท็กซ์เจอร์ที่บีบอัดจำลองใน Vulkan
  • แก้ไขข้อผิดพลาดที่เกิดขึ้นกับคำขอพร็อกซี HTTP เมื่อใช้การเข้ารหัสการโอนแบบเป็นก้อน ดูข้อมูลเพิ่มเติมได้ที่รายละเอียดการคอมมิต

29.0.9 (7 พฤษภาคม 2019)

การอัปเดตนี้มีการแก้ไขต่อไปนี้

  • Windows: แก้ไขปัญหาที่กล้องฉากเสมือนและเว็บแคมไม่ทำงานในโปรแกรมจำลอง

29.0.8 (6 พฤษภาคม 2019)

การอัปเดตนี้มีการปรับปรุงและการแก้ไขต่อไปนี้

  • เพิ่มการรองรับจอแสดงผลฮาร์ดแวร์เสมือนหลายจอเมื่อมีบริการแขกเพื่อแจงนับและตั้งค่าจอแสดงผลแต่ละจอ การแสดงฮาร์ดแวร์เสมือนหลายรายการ จะรวมอยู่ในการอัปเดตอิมเมจระบบของโปรแกรมจำลองในอนาคต
  • เพิ่มตัวเลือกบรรทัดคำสั่งใหม่: -delay-adb ตัวเลือกนี้จะระงับ การประมวลผลแพ็กเก็ต ADB จนกว่าแขกจะบูตเสร็จ (ปิด บูต) ตัวเลือกนี้ช่วยแก้ปัญหาที่อาจเกิดขึ้นหากคุณใช้ โปรแกรมจำลองในสภาพแวดล้อม CI ที่รีบูตโปรแกรมจำลองและใช้ DDMS ในเวลาเดียวกัน
  • แก้ไขข้อผิดพลาดที่เกิดขึ้นเมื่อโหลดสแนปชอตซึ่ง glIsRenderbuffer จะแสดงค่าที่ไม่ถูกต้อง
  • แก้ไขปัญหาเกี่ยวกับสถานะที่ล้าสมัยเมื่อแขกรับเชิญของ Android รีบูต
  • Windows: แก้ไขปัญหาที่ทำให้โปรแกรมจำลองเริ่มต้นไม่ได้เมื่อชื่อผู้ใช้ Windows มีอักขระที่ไม่ใช่ ASCII หรือมีช่องว่าง

ปัญหาที่ทราบ

  • UI ของ Snapshot ถูกปิดใช้สำหรับอิมเมจระบบยานยนต์เนื่องจากอิมเมจระบบเหล่านี้ไม่รองรับ Snapshot ในขณะนี้

29.0.6 (1 พฤษภาคม 2019)

การอัปเดตนี้รวมถึงฟีเจอร์ใหม่หลายอย่าง การปรับปรุงฟีเจอร์ที่มีอยู่ และการแก้ไขข้อบกพร่อง

การนำการรองรับ QEMU1 และ Windows 32 บิตออก

เราจะไม่จัดส่ง QEMU1 และไบนารี Windows 32 บิตอีกต่อไปเพื่อดูแลรักษาโปรแกรมจำลองให้ดียิ่งขึ้น หากใช้ Windows 32 บิต คุณจะอัปเกรดเป็นเวอร์ชัน 29.0.6 ไม่ได้

ข้อกำหนดสำหรับอิมเมจระบบ Android Q

หากต้องการเรียกใช้ AVD ที่ใช้อิมเมจระบบ Android Q คุณต้องใช้ เวอร์ชัน 29.0.6 (เวอร์ชันที่เผยแพร่นี้) ขึ้นไป

การปรับปรุง Project Marble

การอัปเดตนี้เป็นการต่อยอดจากProject Marble ที่เราประกาศในงาน Android Developer Summit เมื่อเดือนพฤศจิกายน 2018 ดูข้อมูลเพิ่มเติมเกี่ยวกับการปรับปรุง Project Marble อื่นๆ ในรุ่นก่อนหน้าได้ที่ โปรแกรมจำลองของ Android: การปรับปรุง Project Marble

สำหรับการอัปเดตนี้ ความพยายามส่วนใหญ่ใน Project Marble ของเรามุ่งเน้นไปที่การลดการใช้ทรัพยากรของโปรแกรมจำลอง เช่น การลดการใช้ CPU ของโปรแกรมจำลองในขณะที่ไม่มีการใช้งาน นอกจากนี้ เรายังได้รวมการเปลี่ยนแปลงที่จะช่วยให้ทำงานกับโปรแกรมจำลองใน สภาพแวดล้อมที่หลากหลายขึ้นได้ง่ายขึ้น และได้แก้ไขปัญหาด้านคุณภาพทั่วไปแล้ว

ส่วนต่อไปนี้จะอธิบายการปรับปรุง Project Marble ที่รวมอยู่ในการอัปเดตนี้

การปรับปรุงลักษณะการทำงานของเสียงสำหรับโฮสต์

ตั้งแต่เวอร์ชัน 28.0.3 เป็นต้นไป โปรแกรมจำลองจะบล็อกอินพุตเสียง จากโฮสต์โดยค่าเริ่มต้น

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

หากใช้บรรทัดคำสั่ง คุณยังเปิดใช้เสียงของโฮสต์ได้โดยใช้ตัวเลือก -allow-host-audio และใช้คำสั่ง ADB ต่อไปนี้เพื่อเปิดหรือปิดข้อมูลเสียงของโฮสต์ได้ตามลำดับ

  • adb emu avd hostmicon
  • adb emu avd hostmicoff

การปรับปรุงสำหรับการสร้างโปรแกรมจำลองแบบไม่มีส่วนหัว

ตั้งแต่เวอร์ชัน 28.0.25 เป็นต้นไป โปรแกรมจำลองจะมีตัวเลือกการสร้างแบบไม่มีส่วนหัว ซึ่งเรียกใช้ได้โดยไม่ต้องใช้ UI คุณใช้บิลด์แบบไม่มีส่วนหัวเพื่อช่วยตั้งค่า โปรแกรมจำลองสำหรับเวิร์กโฟลว์ Docker และการรวมอย่างต่อเนื่อง (CI) ได้

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

  • Linux-vdso.so.1
  • Libutil.so.1
  • Libm.so.6
  • Libdl.so.2
  • Librt.so.1
  • Libpthread.so.0
  • Libgcc_s.so.1
  • Libc.so.6
  • ld-linux-x86-64.so.2

อัปเกรดไลบรารี UI ของ Qt เป็น 5.12 LTS

การอัปเดตนี้มีการปรับปรุงต่อไปนี้จากรุ่น Qt 5.12 LTS

  • ตอนนี้โปรแกรมจำลองใช้สำเนาของ libpng ของตัวเองเพื่อถอดรหัสรูปภาพ PNG เพื่อหลีกเลี่ยงไม่ให้เกิดข้อขัดข้องใน libpng ของ Qt เมื่อเริ่มต้นรูปภาพระบบบางอย่าง
  • เพื่อแก้ไขปัญหาเกี่ยวกับการติดตั้ง Linux บางรายการที่มีไลบรารีบางรายการที่ขึ้นอยู่กับ Qt ในเวอร์ชันที่ไม่เข้ากัน ตอนนี้เราได้รวม libfreetype, libsoftokn, libsqlite3 และ libxkbcommon ไว้กับโปรแกรมจำลองแล้ว
  • ตอนนี้โปรแกรมจำลองใช้ไลบรารีการจัดการหน้าต่างแบบเนทีฟของแพลตฟอร์มเพื่อรับ ขนาดจอภาพแทนการใช้ไลบรารี Qt ที่ให้ผลลัพธ์ที่ไม่น่าเชื่อถือ

การเพิ่มประสิทธิภาพ CPU โดยอัตโนมัติหลังจากเปิดเครื่องใหม่

ตอนนี้โปรแกรมจำลองจะเรียกใช้คำสั่ง adb ต่อไปนี้ในการเปิดเครื่องใหม่ หลังจากได้รับสัญญาณ boot complete เพื่อแก้ไขการใช้งาน CPU

adb shell settings put screen_off_timeout 214783647
คำสั่งนี้จะเพิ่มระยะหมดเวลาปิดหน้าจอเพื่อให้ใช้โปรแกรมจำลองใน โหมดแบตเตอรี่ได้โดยไม่ต้องชาร์จ ในโหมดแบตเตอรี่ ระบบจะลดการใช้งาน CPU ในเบื้องหลังลงอย่างมาก
ในโหมดการชาร์จ AC การทำงานเบื้องหลังของ GMSCore เช่น การอัปเดตแอป อาจใช้คอร์ CPU ทั้งหมดของอุปกรณ์ และเครื่องของผู้ใช้โดยไม่มีคำเตือน
adb shell pm revoke com.google.android.googlequicksearchbox android.permission.RECORD_AUDIO
คำสั่งนี้จะเพิกถอนสิทธิ์เข้าถึงไมโครโฟนสำหรับแอป Google Search ซึ่งจะช่วย ลดการใช้งาน CPU ในเบื้องหลังบนหน้าจอหลักและในตัวเรียกใช้ได้อย่างมากเมื่อ แอป Google Search ทำงานอยู่
คำสั่งนี้จะทำงานเพิ่มเติมจากการทำงานเริ่มต้นของโปรแกรมจำลองที่ปิดใช้เสียงของโฮสต์สำหรับโฮสต์ นอกจากนี้ การดำเนินการนี้ยังช่วย ลดการใช้งาน CPU โดยอัตโนมัติตามที่อธิบายไว้สำหรับ การตรวจหาคีย์เวิร์ดจากรุ่น 28.0.23

ตัวแปรสภาพแวดล้อมใหม่สำหรับการตรวจสอบประสิทธิภาพ

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

SHOW_PERF_STATS=1
ตัวแปรสภาพแวดล้อมนี้ช่วยให้ติดตามการใช้งานทั้ง CPU และ RAM ได้ การติดตาม การใช้งาน RAM จะแยกความแตกต่างระหว่างการใช้งานกราฟิกกับหน่วยความจำที่ใช้งานทั้งหมด
ANDROID_EMU_TRACING=1
ตัวแปรสภาพแวดล้อมนี้จะเปิดใช้การพิมพ์ทุกครั้งที่การดำเนินการอินพุตหรือกราฟิก ใช้เวลานาน (นานกว่า 1 มิลลิวินาที)
นอกจากนี้ เรายังใช้ตัวแปรสภาพแวดล้อมนี้เพื่อช่วยวินิจฉัยปัญหาที่ผู้ใช้ Windows พบเจอ ซึ่งมีอาการกระตุก (เฟรมหลุด) มากกว่าที่ผู้ใช้ macOS หรือ Linux พบเจอ

การปรับปรุง Project Marble ทั่วไป

การอัปเดตนี้ยังรวมถึงการปรับปรุงทั่วไปต่อไปนี้ซึ่งเป็นส่วนหนึ่งของโครงการริเริ่ม Project Marble

  • ตอนนี้คุณสามารถหยุด vCPU ทั้งหมดในโปรแกรมจำลองชั่วคราวได้ทันทีผ่านคำสั่งคอนโซลต่อไปนี้
    • adb emu avd pause
    • adb emu avd resume
  • ลดค่าใช้จ่ายในการวาด OpenGL ลงอย่างมาก การปรับปรุงนี้จะลดการใช้ CPU ขณะที่โปรแกรมจำลองกำลังเล่นภาพเคลื่อนไหว
  • กู้คืนการรองรับอุปกรณ์เครือข่ายเสมือน e1000 ของ QEMU หลัก คุณสามารถใช้อุปกรณ์นี้เพื่อตั้งค่าโปรแกรมจำลองในสภาพแวดล้อมเครือข่ายที่บริดจ์ ในสภาพแวดล้อมเครือข่ายที่บริดจ์ไว้ อีมูเลเตอร์จะแสดงในเครือข่ายโฮสต์และ เครือข่ายโฮสต์จะแสดงในอีมูเลเตอร์
  • ตอนนี้ระบบใช้ไบนารี BIOS ที่เหมาะสมกับ QEMU 2.12 เพื่อเริ่มต้นโปรแกรมจำลอง
  • อัปเกรด ffmpeg เป็นเวอร์ชัน 3.4.5 สำหรับการเข้ารหัสและถอดรหัสวิดีโอ
  • ลดค่าใช้จ่ายของ I/O ในลูปหลักของ QEMU บน macOS อย่างมากโดยการแทนที่ลูปหลักที่อิงตาม select() ด้วยลูปหลักที่อิงตาม kqueue
  • เพิ่มขนาดบัฟเฟอร์ Logcat เป็น 2 MB เพื่อแก้ไขปัญหาเกี่ยวกับ EOF ที่ไม่คาดคิดซึ่งไม่เสถียรเมื่อเรียกใช้ Logcat ด้วยโปรแกรมจำลอง
  • ตอนนี้โปรแกรมจำลองจะส่งออกตัวแปรสภาพแวดล้อม LC_ALL=C โดยค่าเริ่มต้น การเปลี่ยนแปลงนี้จะแก้ไขปัญหาการขัดข้องและปัญหาความเข้ากันไม่ได้ที่เกี่ยวข้องกับการเรียกใช้โปรแกรมจำลองในภาษาต่างๆ
  • ตอนนี้คุณสามารถติดตามการใช้งาน CPU และ RAM ของโปรแกรมจำลองได้โดยใช้สถิติประสิทธิภาพ ซึ่งเข้าถึงได้ที่การควบคุมเพิ่มเติม > การตั้งค่า > ขั้นสูง > สถิติประสิทธิภาพ ใช้สถิติเหล่านี้เพื่อวินิจฉัยปัญหาอย่างรวดเร็วหากโปรแกรมจำลอง ดูเหมือนจะใช้ CPU หรือ RAM มากเกินไป
  • ตอนนี้ glReadPixels GL_IMPLEMENTATION_COLOR_READ_TYPE ใช้ผลลัพธ์ของ GPU โฮสต์ แทนผลลัพธ์ที่จำลอง การเปลี่ยนแปลงนี้ช่วยแก้ไขปัญหาที่รูปภาพ และชิ้นงานไม่แสดงเนื่องจากรูปแบบไม่เหมาะสมสำหรับการอ่านกลับ
  • เพิ่มการรองรับส่วนขยาย OpenGL ES GL_EXT_texture_format_BGRA8888 และ GL_APPLE_texture_format_BGRA8888 หากโฮสต์รองรับส่วนขยายเหล่านี้
  • เพิ่มข้อมูลการวินิจฉัยเพิ่มเติมลงใน UI ของรายงานข้อบกพร่อง นอกจากนี้ คุณยังเข้าถึงรายงานข้อบกพร่องจากคอนโซลได้โดยใช้คำสั่งต่อไปนี้
    • telnet localhost 5554
    • avd bugreport
  • ในอิมเมจระบบ Android Q โปรแกรมจำลองจะเพิ่มขนาด RAM ขั้นต่ำเป็น 2 GB
  • เพิ่มการบันทึกและการพิมพ์เมื่อใดก็ตามที่ OpenGL หรือไฮเปอร์ไวเซอร์เริ่มต้นไม่สำเร็จ
  • หากโปรแกรมจำลองเริ่มอินสแตนซ์ -read-only ของ AVD พร้อมกันไม่ได้ ตอนนี้โปรแกรมจำลองจะพยายามเปิดใช้ -read-only AVD อีก 3 ครั้งภายใน 3 วินาที การเปลี่ยนแปลงนี้จะเพิ่มโอกาสที่โปรแกรมจำลองจะเปิดใช้-read-onlyอินสแตนซ์ AVD พร้อมกันได้ หากอินสแตนซ์อื่นๆ ที่เขียนได้ของ AVD นั้นยังไม่ได้ล้างไฟล์ที่ล้าสมัย
  • สำหรับอิมเมจระบบที่กำลังจะเปิดตัว ตอนนี้โปรแกรมจำลองรองรับ Hardware Composer 2.0 แล้ว การเปลี่ยนแปลงนี้จะช่วยลดค่าใช้จ่ายของไดรเวอร์เมื่อเรียกใช้ภาพเคลื่อนไหวส่วนใหญ่
  • ตอนนี้บิลด์โปรแกรมจำลองจะอิงตาม CMake/Ninja
  • ใน UI ของตัวควบคุมเพิ่มเติมของโปรแกรมจำลอง เราได้คืนค่าเส้นแบ่งในตารางแป้นพิมพ์ลัด แล้ว
  • ตอนนี้ผู้ใช้เลือกที่จะให้เมตริกการใช้งาน CPU และ RAM แก่ทีมของเราได้แล้วใน ช่วงเวลา 10 วินาที เราใช้เมตริกเหล่านี้เพื่อเพิ่มข้อมูลเกี่ยวกับการใช้ทรัพยากรของโปรแกรมจำลอง ด้วยกรณีการใช้งานต่างๆ จากผู้ใช้ ซึ่งช่วยให้เรา ทำให้โปรแกรมจำลองมีประสิทธิภาพและตอบสนองได้ดียิ่งขึ้น

การแก้ไขทั่วไปของ Project Marble

การอัปเดตนี้ยังรวมถึงการแก้ไขทั่วไปต่อไปนี้ซึ่งเป็นส่วนหนึ่งของ โครงการริเริ่ม Project Marble ด้วย

  • แก้ไขปัญหาเกี่ยวกับเฟรมที่กระตุกและไม่ถูกต้องซึ่งแสดงใน ระบบที่มี GPU ของ Intel เมื่อใช้อิมเมจระบบ Android Q
  • แก้ไขปัญหาที่หน้าจอสีดำแสดงขึ้นเมื่อใช้รูปภาพระบบ Android Q กับสกิน Pixel 2 XL (หรือสกินที่มีรอยบากหรือมุมโค้ง)
  • แก้ไขปัญหาที่ตัวเลือกบรรทัดคำสั่ง -partition-size ไม่ได้ตั้งค่าขนาดพาร์ติชันข้อมูล
  • แก้ไขปัญหาที่ pulseaudio ในโปรแกรมจำลอง Linx จะหมุนและใช้ทั้งคอร์ CPU ในบางสถานการณ์
  • แก้ไขปัญหาเกี่ยวกับการเข้าถึงหน่วยความจำเกินขอบเขตเมื่อประมวลผลเท็กซ์เจอร์ที่บีบอัด
  • แก้ไขข้อผิดพลาด GL ที่เกิดขึ้นในโฮสต์ใน glTexSubImage2D เมื่ออัปเดตบัฟเฟอร์ Gralloc บางรายการ (ที่มีรูปแบบ RGB 565, RGB10A2, RGB(A)16F)
  • แก้ไขปัญหาการแสดงผลในอิมเมจระบบ Android Q ที่มีสแนปชอต ซึ่งมีการแสดงผลรูปทรงเรขาคณิตของหน้าต่างแจ้งเตือนด้วยการตั้งค่าตัวหารอินสแตนซ์ที่ไม่เหมาะสม
  • แก้ไขปัญหาการขัดข้องและการค้างที่เกิดขึ้นได้ยาก 2-3 รายการเมื่อเปิดตัว ซึ่งเกิดขึ้นเนื่องจาก Qt สูญเสียสัญญาณหรือมีสถานะที่ไม่เสถียรและไม่สอดคล้องกันเมื่อเริ่มต้น
  • แก้ไขปัญหาการทำงานพร้อมกันหลายรายการ ตอนนี้เราสามารถสร้างโปรแกรมจำลอง Linux ด้วย ThreadSanitizer (TSAN) ซึ่งจะช่วยให้ค้นพบข้อบกพร่องที่ปกติแล้ว ทำซ้ำได้ยาก
  • สำหรับผู้ใช้ Linux: เราพบว่าในเคอร์เนลโฮสต์บางตัว เคอร์เนล Android ของแขก อาจเกิดข้อผิดพลาดและออกจาก KVM พร้อมข้อผิดพลาดของฮาร์ดแวร์ทั่วไป ตอนนี้โปรแกรมจำลอง จะabort() เมื่อเกิดเหตุการณ์นี้เพื่อเพิ่มความสามารถในการแก้ไขข้อบกพร่อง (ก่อนหน้านี้ โปรแกรมจำลองจะค้าง)
  • สำหรับผู้ใช้ Linux: คุณสามารถใช้ตัวเลือกบรรทัดคำสั่งใหม่ -stdouterr-file <file-name> เพื่อเปลี่ยนเส้นทางทั้ง stdout และ stderr ไปยังไฟล์เพื่อความสะดวกในการตั้งค่า CI
  • แก้ไขปัญหาการใช้ SO_REUSEADDR อย่างไม่ถูกต้อง ดูข้อมูลเพิ่มเติมได้ที่รายละเอียดการคอมมิต
  • แก้ไขปัญหาที่เกิดขึ้นมานานกับโปรแกรมจำลอง Windows ซึ่งกระบวนการย่อย เช่น คำสั่ง ADB เริ่มต้นไม่สำเร็จหากชื่อผู้ใช้มีช่องว่าง
  • แก้ไขปัญหาการเริ่มต้น RCU ที่ขาดหายไปในเธรด vCPU ของ HAXM การแก้ไขนี้อาจช่วยแก้ปัญหาข้อขัดข้องและสภาวะการแข่งขันบางอย่างได้
  • แก้ไขข้อขัดข้องที่เกิดขึ้นกับรูปแบบการบันทึกและโหลดสแนปชอตบางอย่างจาก UI ของสแนปชอตโดยใช้รูปภาพระบบ Android Q ล่าสุด
  • แก้ไขปัญหาที่กล้องฉากเสมือนจะว่างเปล่าเมื่อเริ่มต้นโปรแกรมจำลองจากสแนปชอตหากมาโคร AR กำลังเล่นเมื่อบันทึกสแนปชอตนั้น
  • แก้ไขปัญหาที่ผู้ใช้บางรายที่ตั้งค่าเดสก์ท็อประยะไกลได้รับหน้าจอสีดำ เมื่อเปิดโปรแกรมจำลองใน Linux ตอนนี้โปรแกรมจำลองจึงกำหนดค่า MESA_RGB_VISUAL อย่างชัดเจนเพื่อหลีกเลี่ยงปัญหานี้ ดูข้อมูลเพิ่มเติมได้ที่รายละเอียดการคอมมิต
  • แก้ไขปัญหาที่ปุ่มหมุนหน้าจอ จะปรากฏใน AVD ของทีวี
  • แก้ไขปัญหาที่หากตั้งค่าโปรแกรมจำลองให้แสดงที่ด้านบนเสมอ หน้าต่างการควบคุมเพิ่มเติมจะปรากฏทุกครั้งที่หมุนโปรแกรมจำลอง

โปรไฟล์ฮาร์ดแวร์สำหรับอุปกรณ์แบบพับได้

ตอนนี้โปรแกรมจำลองมีโปรไฟล์ฮาร์ดแวร์สำหรับอุปกรณ์แบบพับได้แล้ว หากต้องการใช้ โปรไฟล์ฮาร์ดแวร์ใหม่เหล่านี้ คุณต้องใช้ Android Studio 3.5 Canary 10 ขึ้นไป

คุณใช้โปรไฟล์ฮาร์ดแวร์แบบพับได้ 2 แบบเพื่อสร้าง AVD ได้ ดังนี้

  • พับได้ 7.3 นิ้ว: 1536x2152 เมื่อกางออก, 4.6 นิ้ว 840x1960 เมื่อพับ
  • พับได้ 8 นิ้ว: 2200x2480 เมื่อกางออก, 6.6 นิ้ว 1480x2480 เมื่อพับ

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

  • พับ: Ctrl + F (Command + F ใน macOS)
  • Unfold: Ctrl + U (Command + U ใน macOS)

มาโคร AR

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

ดูข้อมูลเพิ่มเติมได้ที่ทดสอบการดำเนินการ AR ทั่วไปด้วยมาโคร

รองรับ Vulkan (Windows, Linux)

ตอนนี้ผู้ใช้ Windows และ Linux สามารถทดสอบแอป Vulkan ด้วยโปรแกรมจำลองของ Android ได้สูงสุด Vulkan 1.1 เมื่อใช้ อิมเมจระบบ ที่เข้ากันได้ (Android Q Beta 3 ขึ้นไปสำหรับ Vulkan 1.1, Android Q Beta 2 สำหรับ Vulkan 1.0) และ GPU โฮสต์ที่เข้ากันได้ (ซึ่งรวมถึง GPU ส่วนใหญ่ของ Intel, NVIDIA และ AMD ตั้งแต่ปี 2014 เป็นต้นมา)

หากต้องการเปิดใช้การรองรับ Vulkan คุณต้องเพิ่มฟีเจอร์ต่อไปนี้ลงในไฟล์ ~/.android/advancedFeatures.ini (สร้างไฟล์หากยังไม่มี)

  • Vulkan = on
  • GLDirectMem = on

การสนับสนุนเบื้องต้นสำหรับนักพัฒนา ROM

ตอนนี้ผู้พัฒนา ROM ที่สร้างเป้าหมาย sdk_phone_x86 หรือ sdk_phone_x86_64 (userdebug, eng) ในสาขา master ของ AOSP สามารถเรียกใช้โปรแกรมจำลองที่เปิดใช้ Vulkan ได้แล้ว

การรองรับนี้ยังอยู่ระหว่างการทดสอบและมีไว้สำหรับนักพัฒนาซอฟต์แวร์ที่ทำงานกับ อิมเมจระบบ ไดรเวอร์ และเกมเอนจินเป็นหลัก ส่วนขยายหลายรายการยังคงหายไป อย่างไรก็ตาม ระบบรองรับหน่วยความจำ HOST_COHERENT และตอนนี้คุณควรจะ เรียกใช้ตัวอย่างบทแนะนำเกี่ยวกับ Vulkan API ได้แล้ว

หากใช้ Linux คุณสามารถลองทำได้โดยใช้คำสั่งต่อไปนี้

mkdir aosp-master
cd aosp-master
repo init -u https://android.googlesource.com/platform/manifest -b master --depth=1
repo sync -c -j12
. build/envsetup.sh
lunch sdk_phone_x86_64-userdebug
make -j12
emulator -no-snapshot -feature Vulkan,GLDirectMem

การแสดงผล Skia ด้วย Vulkan

GPU ของ NVIDIA และ AMD ที่รองรับ Vulkan ยังรองรับการทำงานร่วมกันแบบไม่คัดลอกกับ OpenGL ผ่านส่วนขยาย GL_EXT_memory_objects ด้วย โปรแกรมจำลองใช้ประโยชน์จากความสามารถนี้เพื่อมอบวิธีที่สมบูรณ์ในการแสดงผล UI ของ Android โดยใช้ Skia Vulkan API

หากคุณมี GPU ของ NVIDIA หรือ AMD ที่รองรับ Vulkan ให้ใช้คำสั่งต่อไปนี้เพื่อทดสอบการแสดงผล Skia ด้วยอิมเมจระบบที่เข้ากันได้ (Android Q Beta 3 ขึ้นไป)

adb shell
su
setprop debug.hwui.renderer skiavk
stop
start

การรองรับ Vulkan ใน macOS

การรองรับ macOS ยังอยู่ในขั้นทดลอง แต่โปรแกรมจำลองมี API ของ Swiftshader, MoltenVK และ libportability (gfx-rs) อยู่แล้ว คุณทดสอบ API เหล่านี้ได้โดยการตั้งค่าตัวแปรสภาพแวดล้อมต่อไปนี้

  • Swiftshader: ANDROID_EMU_VK_ICD=swiftshader
  • MoltenVK: ANDROID_EMU_VK_ICD=moltenvk
  • libportability: ANDROID_EMU_VK_ICD=portability

ปัญหาที่ทราบ

บางครั้ง HAXM อาจแมปหน่วยความจำที่สอดคล้องของ Vulkan กับแขกรับเชิญไม่สำเร็จและปิดโปรแกรมจำลอง ปัญหานี้จะได้รับการแก้ไขในการอัปเดต HAXM ที่กำลังจะมาถึง

โปรแกรมจำลองการสตรีม gRPC (Linux)

เราพยายามทำให้โปรแกรมจำลองมีความหลากหลายมากที่สุดอยู่เสมอด้วยการอนุญาตให้ การแสดงผล GPU ของโฮสต์และการโต้ตอบในบริบทการทำงานที่หลากหลายที่สุด ผู้ใช้ CI และเดสก์ท็อประยะไกลของเราพบปัญหาที่เกิดขึ้นมานานดังนี้

  • การส่งคำสั่งอินพุตไปยังโปรแกรมจำลองโดยอัตโนมัติเกี่ยวข้องกับการ เรียกใช้คำสั่ง adb shell ซึ่งอาจมีค่าใช้จ่ายสูง หรือการใช้ คอนโซล telnet ซึ่งเร็วกว่า แต่อาจใช้ไม่ได้กับการกำหนดค่าเครือข่ายบางอย่าง
  • ผู้ใช้ CI มักจะเรียกใช้โปรแกรมจำลองแบบไม่มีส่วนหัว ซึ่งอาจทำให้สังเกตเห็นปัญหาที่ต้องใช้หน้าจอที่มองเห็นได้หรือโต้ตอบได้ยาก
  • ผู้ใช้เดสก์ท็อประยะไกลมักโต้ตอบกับโปรแกรมจำลองไม่ได้เมื่อใช้การแสดงผล GPU ของโฮสต์ เนื่องจากโดยทั่วไปแล้วการแสดงผล GPU จะเชื่อมโยงกับจอแสดงผลที่ไม่ใช่จอแสดงผลเสมือนของโฮสต์

เพื่อแก้ไขปัญหานี้ เมื่อทำงานในเครื่อง Linux ตอนนี้โปรแกรมจำลองจะให้บริการ gRPC gRPC เป็นเฟรมเวิร์กทั่วไป สำหรับ RPC ที่ทำงานผ่าน HTTP

โดยค่าเริ่มต้น ระบบจะปิดใช้บริการ gRPC ของโปรแกรมจำลอง แต่คุณสามารถเปิดใช้งานบริการได้โดยใช้ตัวเลือกบรรทัดคำสั่งต่อไปนี้ ซึ่ง <port> คือพอร์ตที่โปรแกรมจำลองควรให้บริการคำขอ gRPC (โดยปกติคือ 5556)

-grpc <port>

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

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

ดูรายการคำสั่งทั้งหมดที่ใช้ได้ที่protobuf นี้

เราได้จัดเตรียมไคลเอ็นต์ตัวอย่าง ที่คุณสามารถอ้างอิงได้เพื่อช่วยให้คุณเริ่มต้นใช้งาน gRPC ได้

ปัจจุบันตัวอย่างนี้รวมถึงตัวอย่างต่อไปนี้

  • บริการที่ใช้ Go ซึ่งใช้เพื่อค้นหาสถานะของโปรแกรมจำลองได้
  • แอป React ที่สาธิตการโต้ตอบระยะไกลผ่านภาพหน้าจอและอินพุต RPC ตัวอย่างนี้ต้องใช้ Protobuf เวอร์ชัน 3.7.0 ขึ้นไป
  • ตัวอย่าง Python ที่ค้นหาการกำหนดค่า VM ของโปรแกรมจำลอง แล้วส่งชุดคำสั่ง

28.0.25 (29 มีนาคม 2019)

การอัปเดตนี้มีการปรับปรุงและการแก้ไขต่อไปนี้

บิลด์โปรแกรมจำลองแบบไม่มีส่วนหัว

การตั้งค่าโปรแกรมจำลองกับ Docker และเวิร์กโฟลว์การผสานรวมอย่างต่อเนื่อง (CI) อื่นๆ เป็นเรื่องยากเนื่องจากความคาดหวังโดยนัยของระบบที่ควรจะรองรับ Qt พร้อมกับการขึ้นต่อกันของไลบรารีที่ใช้ร่วมกัน (รวมถึงปัญหาอื่นๆ)

เราได้เปิดตัวตัวเรียกใช้โปรแกรมจำลองเวอร์ชันหนึ่งที่มีไฟล์ปฏิบัติการ QEMU ซึ่งไม่ขึ้นอยู่กับ Qt เพื่อเป็นขั้นตอนแรกในการแก้ไขปัญหานี้ ใน Linux จะยังมีลิงก์ไปยัง libX11 แต่เราหวังว่าจะนำออกได้ในเร็วๆ นี้

หากต้องการใช้โปรแกรมจำลองแบบไม่มีส่วนหัว ให้เรียกใช้โปรแกรมจำลองจากบรรทัดคำสั่งตามปกติ แต่ให้แทนที่การเรียกใช้ไบนารีของโปรแกรมจำลองด้วย emulator-headless ดูข้อมูลเพิ่มเติมได้ที่การอัปเดตการเปิดตัว 28.1.8 Canary

  • แก้ไขการกระตุกและการแสดงเฟรมที่ไม่ถูกต้องใน GPU ของ Intel เมื่อเรียกใช้อิมเมจระบบ Android Q
  • แก้ไขปัญหาที่หน้าจอสีดำจะแสดงเมื่อใช้รูปภาพระบบ Android Q กับสกิน Pixel 2 XL
  • ตอนนี้ระบบจะใช้ไบนารี BIOS ล่าสุดเพื่อเริ่มต้นโปรแกรมจำลอง การเปลี่ยนแปลงนี้ จะช่วยลดข้อผิดพลาด "คำขอปิด vCPU" ซึ่งเกิดขึ้นในบางครั้งเมื่อ เปิดตัวโปรแกรมจำลองใน Windows
  • ย้อนกลับการแก้ไขปัญหา"การแสดงผลไม่ถูกต้องเมื่อกลับมาใช้รูปภาพระบบ Android Q จากสแนปชอต"
  • ผู้ใช้พบปัญหาเกี่ยวกับโปรแกรมจำลอง"ไม่ได้รับอนุญาต" เนื่องจากการเปลี่ยนแปลงที่ไม่เข้ากันใน ADB ใน platform-tools 28.0.2 ตอนนี้คุณใช้ ADB จาก platform-tools 28.0.2 กับโปรแกรมจำลองได้อย่างปลอดภัยแล้ว หากพบปัญหาเกี่ยวกับโปรแกรมจำลองที่ "ไม่ได้รับอนุญาต" ให้ทำตาม ขั้นตอนการแก้ปัญหาต่อไปนี้
    1. ออกจากโปรแกรมจำลองทั้งหมด
    2. ลบทั้งไฟล์ ~/.android/adbkey และ ~/.android/adbkey.pub
    3. เรียกใช้คำสั่งต่อไปนี้ adb kill-server
    4. เรียกใช้คำสั่งต่อไปนี้ adb devices
    5. ล้างข้อมูล AVD
    6. เปิดโปรแกรมจำลองอีกครั้ง

28.0.23 (29 มกราคม 2019)

การอัปเดตนี้มีการปรับปรุงและการแก้ไขต่อไปนี้

ระบบจะปิดใช้อินพุตเสียงของผู้จัดการประชุมโดยค่าเริ่มต้น

โพสต์ล่าสุดใน Reddit อธิบายรายละเอียดว่าระบบปฏิบัติการ Android สำหรับผู้มาเยือนจะใช้เสียงจากไมโครโฟนของโฮสต์เสมอ และทำให้ "Ok Google" ทำงานโดยไม่คาดคิด ขออภัยในความไม่สะดวก และเราจะทำงานร่วมกับทีม Android เพื่อให้มั่นใจว่าการตรวจหาคีย์เวิร์ดจะ ปิดใช้ในอิมเมจระบบด้วย

เราจึงทำการเปลี่ยนแปลงต่อไปนี้เพื่อแก้ปัญหานี้

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

ข้อมูลอัปเดตเกี่ยวกับการตรวจสอบการใช้งาน CPU

ระหว่างการตรวจสอบ Project Marble เราสังเกตเห็นว่าการใช้งาน CPU สูงในโปรแกรมจำลองมักจะอยู่ใน 3 หมวดหมู่ต่อไปนี้

ขณะไม่มีการใช้งาน: รูปภาพการอัปเดตแอปอัตโนมัติใน Play Store

เราพบว่าแอปที่ติดตั้งทั้งหมดจะได้รับการอัปเดตเป็นระยะๆ แม้ว่าผู้ใช้จะไม่ได้เข้าสู่ระบบก็ตาม ในระหว่างกระบวนการนี้ การใช้งาน CPU จะเพิ่มขึ้นเป็นจำนวน คอร์ x 100% (โดยทั่วไปคือประมาณ 400%) ใน GMSCore และ dex2oat คุณสามารถลดปัญหานี้ได้โดยปิดใช้การอัปเดตแอปอัตโนมัติในแอป Play Store

เมื่อไม่มีการใช้งาน: การตรวจหาคำสั่งให้ดำเนินการ

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

ขณะใช้งานและบางครั้งเมื่อไม่มีการใช้งาน: ภาพเคลื่อนไหว

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

28.0.22 (21 ธันวาคม 2018)

การอัปเดตนี้มีการปรับปรุงและการแก้ไขต่อไปนี้

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

28.0.20 (11 ธันวาคม 2018)

การอัปเดตนี้มีการปรับปรุงและการแก้ไขต่อไปนี้

  • แก้ไขปัญหาใน Windows ที่ทำให้โปรแกรมจำลองค้างเมื่อโหลดสแนปชอต ด้วย GPU ของ Intel บางรุ่น
  • แก้ไขปัญหาที่ทำให้เกิดunauthorizedสถานะอุปกรณ์ ADB เมื่อใช้ตำแหน่งANDROID_SDK_HOMEที่ไม่เป็นไปตามมาตรฐาน
  • แก้ไขปัญหาใน Windows ที่ทำให้โปรแกรมจำลองขัดข้องเมื่อบูตอิมเมจระบบที่ปิดใช้การเร่งความเร็ว CPU
  • แก้ไขปัญหาการแสดงผลของโปรแกรมจำลองที่ภาพแตก ตอนนี้การดาวน์แซมปลิงควรใช้งานได้แล้ว
  • แก้ไขปัญหาใน macOS 10.14 ขึ้นไปที่การควบคุมการมองด้วยเมาส์ของกล้องฉากเสมือนอาจไวเกินไปเนื่องจากการโต้ตอบกับการตั้งค่าความปลอดภัยของการช่วยเหลือพิเศษใหม่
  • แก้ไขข้อผิดพลาดในการคำนวณเขตเวลาที่อาจทำให้นาฬิกาของโปรแกรมจำลองเปลี่ยนแปลงเป็นครั้งคราว
  • แก้ไขข้อผิดพลาดในการแสดงผลในแอป cocos2d และ Unreal engine ต่างๆ
  • เพิ่มการรองรับ Wi-Fi Peer-to-Peer ในโปรแกรมจำลอง ตอนนี้อีมูเลเตอร์ 2 ตัวสามารถสื่อสารกันได้โดยตรงผ่าน Wi-Fi หากใช้ อิมเมจ Pie Play Store ล่าสุด หากต้องการใช้การเชื่อมต่อแบบเพียร์ทูเพียร์ผ่าน Wi-Fi ให้เริ่ม AVD 2 เครื่องด้วยอาร์กิวเมนต์ -wifi-server-port และ -wifi-client-port เดียวกัน
    • emulator @<server-avd-name> -wifi-server-port 9999
    • emulator @<client-avd-name>-wifi-client-port 9999
  • เพิ่มการรองรับเว็บแคมเพิ่มเติมใน Windows โดยการใช้ขนาดเฟรมที่ไม่รองรับและปรับขนาดแบบไดนามิกให้พอดีกับการตั้งค่ากล้องใน Android Guest

28.0.16 (พฤศจิกายน 2018)

การอัปเดตนี้รวมถึงฟีเจอร์ใหม่หลายอย่าง การปรับปรุงฟีเจอร์ที่มีอยู่ และการแก้ไขข้อบกพร่อง

การใช้ทรัพยากร

ตอนนี้โปรแกรมจำลองใช้ RAM โดยรวมน้อยลง โดยเฉพาะเมื่อใช้อิมเมจระบบที่มีระดับ API 28 ขึ้นไป อิมเมจระบบเหล่านี้มีการใช้งานหน่วยความจำที่ได้รับการปรับปรุงสำหรับ ไดรเวอร์กราฟิกฝั่งแขก

นอกจากนี้ เรายังได้ปรับปรุงการใช้ทรัพยากรในด้านต่อไปนี้ด้วย

  • ลดการใช้งานหน่วยความจำของโปรแกรมจำลองระหว่างการทดสอบที่ใช้เวลานาน หากยังคง พบปัญหาเกี่ยวกับการใช้งานหน่วยความจำระหว่างการทดสอบที่ใช้เวลานาน โปรดสร้าง ปัญหาที่อธิบาย Use Case ของคุณในIssue Tracker
  • ลดการใช้งาน CPU เมื่อเรียกใช้แอปที่มีภาพเคลื่อนไหว
  • แก้ไขปัญหาที่บริบท QEMU AIO อาจรั่วใน Windows

เรียกใช้ AVD เดียวกันหลายอินสแตนซ์พร้อมกัน

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

หากต้องการเรียกใช้ AVD เดียวกันหลายอินสแตนซ์พร้อมกัน ให้เปิดใช้ AVD ใดก็ได้ หลังจากอินสแตนซ์แรกจากบรรทัดคำสั่งโดยใช้-read-only

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

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

เรายินดีรับฟังความคิดเห็นของคุณเกี่ยวกับกรณีการใช้งานที่เป็นไปได้ซึ่งเป็นส่วนหนึ่งของเวิร์กโฟลว์แบบอินเทอร์แอกทีฟหรือ CI ปกติ โปรดสร้างหรือโหวตปัญหาในเครื่องมือติดตามปัญหา

สแนปชอต RAM ของเครื่องเสมือนที่สำรองข้อมูลไว้ในไฟล์

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

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

  • ใช้ Flag -no-snapshot-save หรือ -read-only เมื่อเปิดโปรแกรมจำลอง จากบรรทัดคำสั่ง
  • ไปที่การควบคุมเพิ่มเติม > สแนปชอต > การตั้งค่า แล้วเปลี่ยนบันทึกสถานะปัจจุบันเป็น Quickboot โดยอัตโนมัติไหมเป็นไม่
  • คุณจะต้องรีสตาร์ทโปรแกรมจำลองหลังจากเลือกตัวเลือกนี้ หากตั้งค่าโปรแกรมจำลองให้บันทึกอัตโนมัติ คุณจะเรียกใช้คำสั่งต่อไปนี้เพื่อตั้งค่า จุดตรวจสอบได้
    adb emu avd snapshot remap 0
    
    หลังจากเรียกใช้คำสั่งนี้ สแนปชอต Quickboot ของโปรแกรมจำลองจะยังคงอยู่ที่ จุดตรวจสอบนั้น เรียกใช้คำสั่งเดิมอีกครั้งเพื่อโหลดโปรแกรมจำลองจาก จุดตรวจสอบ

สแนปชอตที่ถ่ายและโหลดผ่านฟังก์ชัน UI ของสแนปชอตจะทำงานเหมือนเดิมโดยไม่มีการแมปไฟล์

เนื่องจากการเปลี่ยนแปลงนี้เป็นการเปลี่ยนแปลงครั้งใหญ่ในวิธีการทำงานของ Quickboot เราจึงขอ ขอบคุณเป็นอย่างยิ่งหากคุณแจ้งความคิดเห็นว่าการเปลี่ยนแปลงนี้ช่วยปรับปรุงประสิทธิภาพของ Quickboot หรือไม่ และคุณพบปัญหาใดบ้างเมื่อใช้ Quickboot หากพบปัญหา คุณสามารถ ปิดใช้ฟีเจอร์นี้ได้โดยเพิ่มบรรทัดต่อไปนี้ลงในไฟล์ ~/.android/advancedFeatures.ini

QuickbootFileBacked = off

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

QEMU 2.12

เราได้รีเบส QEMU เวอร์ชันของเราจาก QEMU 2.9 เป็น QEMU 2.12 การอัปเดตนี้ รวมถึงการเปลี่ยนแปลง QEMU ต่อไปนี้

การเปลี่ยนแปลงที่สำคัญบางอย่างซึ่งส่งผลต่อโปรแกรมจำลองของ Android มีดังนี้

  • x86: gdbstub ตอนนี้ให้สิทธิ์เข้าถึงรีจิสเตอร์ SSE แล้ว
  • อิมเมจดิสก์: เพิ่มการล็อกอิมเมจและเปิดใช้โดยค่าเริ่มต้น กระบวนการ QEMU หลายรายการเขียนไปยังอิมเมจเดียวกันไม่ได้ ตราบใดที่โฮสต์รองรับ OFD หรือ การล็อก POSIX เว้นแต่จะมีการระบุตัวเลือกไว้เป็นอย่างอื่น
  • qemu-img: qemu-img resize รองรับการจัดสรรล่วงหน้าสำหรับส่วนใหม่ของรูปภาพ
  • ตอนนี้ qemu และ qemu-img รองรับการลดขนาด QCOW2 แล้ว

การช่วยเหลือพิเศษ

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

กราฟิก

  • แก้ไขปัญหาการเข้าถึงหน่วยความจำเกินขอบเขตที่อาจเกิดขึ้นกับตัวชี้อาร์เรย์ของจุดยอด OpenGL ES
  • GPU รุ่นเก่าบางรุ่นไม่รองรับ OpenGL 2.1 ขึ้นไป (ซึ่งจำเป็น) หรือ มีปัญหาด้านความน่าเชื่อถืออื่นๆ ปัญหาเหล่านี้อาจทำให้โปรแกรมจำลองขัดข้องเมื่อเริ่มต้น ค้าง หรือใช้งานไม่ได้ในการตั้งค่า GPU เริ่มต้น ตอนนี้โปรแกรมจำลองจะเปลี่ยนไปใช้ตัวแสดงผล Swiftshader โดยอัตโนมัติหากตรวจพบว่ามีการใช้ GPU เหล่านี้
  • แก้ไขปัญหาที่ทำให้โปรแกรมจำลองไม่โพสต์เฟรมบัฟเฟอร์ที่ถูกต้องหากมีการเชื่อมโยง FBO != 0 ในขณะที่ eglSwapBuffers
  • แก้ไขปัญหาที่จอแสดงผล Android เสมือนจะแสดงเฉพาะที่มุมซ้ายบน เราเชื่อว่าสาเหตุเกิดจากตัวแปรสภาพแวดล้อม Qt ที่กำหนดค่าไม่ถูกต้อง ตอนนี้โปรแกรมจำลองจะลบล้างตัวแปรสภาพแวดล้อมทั้งหมดที่เกี่ยวข้องกับการปรับขนาด Qt
  • แก้ไขปัญหาที่โปรแกรมจำลองขัดข้องในบางสถานการณ์เมื่อโหลดแอป GLES1 จากสแนปชอต
  • แก้ไขปัญหาการทำงานพร้อมกันใน OpenGL และการเปิดใช้เธรดการแสดงผลที่อาจส่งผลให้มีการปล่อยหน่วยความจำซ้ำหรือข้อมูลเสียหาย
  • ตอนนี้โปรแกรมจำลองของ Android รองรับการรองรับเท็กซ์เจอร์ที่บีบอัด ASTC LDR (GL_KHR_texture_compression_astc_ldr) สำหรับอิมเมจระบบที่ใช้ระดับ API 28 ขึ้นไป
  • ตอนนี้ GPU รุ่นใหม่ส่วนใหญ่ควรเปิดตัวโปรแกรมจำลองด้วย OpenGL ES 3.x ที่เปิดใช้โดยค่าเริ่มต้นได้โดยไม่ต้องใช้GLESDynamicVersionแฟล็กฟีเจอร์
  • -gpu guest (การแสดงผลซอฟต์แวร์ในแขกรับเชิญ) ถูกเลิกใช้งานแล้ว ตอนนี้อิมเมจระบบสำหรับ API ระดับ 28 ขึ้นไปจะเปลี่ยนไปใช้ Swiftshader โดยอัตโนมัติแทน (-gpu swiftshader_indirect)
  • หากเปิดโปรแกรมจำลองจากบรรทัดคำสั่งโดยใช้ Flag -no-window ตอนนี้โปรแกรมแสดงผลเริ่มต้นคือ Swiftshader

ตำแหน่ง

  • ตอนนี้โปรแกรมจำลองสามารถอัปเดตทิศทางพร้อมกับตำแหน่งละติจูดและลองจิจูดได้แล้ว เซ็นเซอร์เสมือนของเครื่องวัดค่าความเข้มข้นของสนามแม่เหล็กจะปรับตัวเองแบบไดนามิกให้ชี้ไปทางเหนือแม่เหล็กโดยอนุมานการเคลื่อนไหวเมื่อเล่นไฟล์ GPX หรือ KML
  • ตอนนี้คุณตั้งค่าความเร็วของอุปกรณ์ได้ในหน้าตำแหน่ง
  • เมื่อเล่นไฟล์ GPX หรือ KML ระบบจะตั้งค่าความเร็วโดยอัตโนมัติ และจะ ตั้งค่าเป็น 0 เมื่อการเล่นสิ้นสุดลง
  • ระบบจะไม่จำกัดระดับความสูงให้อยู่ระหว่าง -1,000 ถึง +10,000 เมตรอีกต่อไป
  • แก้ไขปัญหาที่ตำแหน่ง GPS เสมือนจะไม่ได้รับการอัปเดตเป็นระยะๆ เว้นแต่จะเปิดหน้าต่างการควบคุมเพิ่มเติมอย่างน้อย 1 ครั้ง

กล้อง

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

Play Store

เพื่อแก้ไขปัญหาพื้นที่ในดิสก์ในรูปภาพ Play Store เต็ม ตอนนี้โปรแกรมจำลองจะปรับขนาดพาร์ติชัน userdata เป็น 6 GB โดยอัตโนมัติเมื่อเรียกใช้ด้วย AVD ของ Play Store ใหม่

การปรับปรุงและแก้ไขคุณภาพทั่วไป

  • ผู้ใช้บางรายรายงานว่าโปรแกรมจำลองทำงานช้า เราพบสาเหตุที่เป็นไปได้ประการหนึ่ง ที่ทำให้ไดเรกทอรีชั่วคราวของโปรแกรมจำลองมีไฟล์เก่า มากเกินไป วิธีแก้ปัญหาคือโปรแกรมจำลองจะไม่จัดเก็บไฟล์การตรวจสอบความมีชีวิตของ ADB ในไดเรกทอรีนั้นอีกต่อไป แต่การลบเนื้อหา ของโฟลเดอร์นั้นก็อาจช่วยได้เช่นกัน โฟลเดอร์จะอยู่ในตำแหน่งใดตำแหน่งหนึ่งต่อไปนี้ ขึ้นอยู่กับระบบปฏิบัติการของคุณ
    • Windows: C:\Users\<username>\AppData\Local\Temp\AndroidEmulator\*
    • macOS หรือ Linux: /tmp/android-<username>/*
  • หากโปรแกรมจำลองเริ่มต้นไม่ได้เนื่องจากมี RAM ไม่เพียงพอ ระบบจะแสดงข้อความแสดงข้อผิดพลาด หากคุณใช้ Windows และสังเกตเห็นว่ามี RAM ว่าง แต่ยังคงเริ่มโปรแกรมจำลองไม่ได้ แสดงว่าอาจมีการใช้หน่วยความจำเสมือน เกิน หากต้องการความช่วยเหลือเกี่ยวกับปัญหานี้ โปรดดูหน้าการแก้ปัญหาของโปรแกรมจำลอง
  • ตอนนี้-sysdirตัวเลือกบรรทัดคำสั่งจะลบล้างไดเรกทอรีรูปภาพของระบบที่อนุมานได้อย่างถูกต้องแล้ว
  • ตอนนี้โมเด็มเสมือนรองรับข้อมูลกิจกรรมโมเดล +MAI แล้ว
  • แก้ไขปัญหาต่างๆ เกี่ยวกับการรั่วไหลของหน่วยความจำ หน่วยความจำเสียหาย และการใช้งาน CPU หากคุณพบปัญหาเกี่ยวกับข้อขัดข้อง หน่วยความจำรั่ว หรือการใช้ทรัพยากรอื่นๆ สูง โปรดสร้างปัญหาใน Issue Tracker
  • แก้ไขปัญหาที่เกิดขึ้นอีกครั้งใน macOS 10.14 ซึ่งการใช้ชุดหูฟังบลูทูธกับโปรแกรมจำลองจะทำให้คุณภาพเสียงโดยรวมลดลง โปรแกรมจำลองจึงหลีกเลี่ยงการใช้เสียงผ่านบลูทูธเมื่อทำงานบน macOS เพื่อป้องกันปัญหานี้ (ปัญหา 37070892)
  • แก้ไขปัญหาใน Windows ที่นาฬิกาของโปรแกรมจำลองไม่ได้อยู่ในเขตเวลาที่ถูกต้อง
  • แก้ไขปัญหาความช้าและค้างของโปรแกรมจำลองในระบบ Linux ที่มีฮาร์ดไดรฟ์ (HDD)
  • แก้ไขคำเตือนในการคอมไพล์บางรายการที่อาจทำให้สแต็กเสียหายใน macOS
  • แก้ไขปัญหาที่อาจส่งผลให้รายงานการหยุดทำงานทำให้เข้าใจผิด
  • แก้ไขปัญหาเกี่ยวกับการทำลาย Thread Pool ซึ่งอาจทำให้เกิดข้อขัดข้องหากสร้างเธรดใดเธรดหนึ่งไม่สำเร็จ
  • แก้ไขปัญหาใน macOS ที่ตัวจับเวลาไม่น่าเชื่อถือ ทำให้เกิดการค้าง และพฤติกรรมแปลกๆ อื่นๆ หากพบว่าโปรแกรมจำลองค้างใน macOS โปรดสร้างปัญหาใน Issue Tracker
  • แก้ไขปัญหาที่การปิดโปรแกรมจำลองจะปิดใช้ UI แต่ไม่ได้ปิดโปรแกรมจำลองจริงๆ
  • แก้ไขปัญหาที่เกี่ยวข้องกับการขัดข้องเป็นครั้งคราว ซึ่งรวมถึงการหยุดทำงานเนื่องจากเปิดอินสแตนซ์ของ /dev/urandom มากเกินไป
  • แก้ไขปัญหาที่ทำให้โปรแกรมจำลองเริ่มต้นไม่สำเร็จหลังจากครั้งแรก หาก adb ถูกบังคับให้สิ้นสุด
  • ระบบได้นำบิลด์ MIPS ออกแล้ว หากยังต้องการ MIPS โปรดสร้างปัญหาใน Issue Tracker
  • แก้ไขปัญหาที่การเชื่อมต่อ ADB อาจเสียหายเมื่อโหลดสแนปชอต
  • แก้ไขปัญหาที่หน้าต่างโปรแกรมจำลองจะมีภาพติดตาหรือเคลื่อนย้าย ออกนอกหน้าจอเมื่อกลับมาใช้สแนปชอตที่การวางแนวอุปกรณ์แตกต่าง จากการวางแนวเริ่มต้นของ AVD
  • แก้ไขปัญหาเกี่ยวกับการขัดข้องเมื่อบันทึกสแนปชอต
  • ใน Linux ระบบไฟล์ Btrfs อาจทำให้เกิดการชะลอตัวอย่างมากเนื่องจากโปรแกรมจำลอง จะบันทึกสแนปชอตโดยอัตโนมัติและใช้การคัดลอกเมื่อมีการเขียนสำหรับอุปกรณ์ ดิสก์เสมือน เราขอแนะนำให้ล้างไดเรกทอรี ~/.android/avd และเรียกใช้คำสั่งต่อไปนี้ในไดเรกทอรี ~/.android/avd ที่ว่างเปล่า
    chattr +C
    
    การดำเนินการนี้จะสร้างสแนปชอตใหม่ในโฟลเดอร์ที่ปิดใช้การคัดลอกเมื่อมีการแก้ไข

HAXM 7.3.2

เราขอพูดถึง HAXM 7.3.2 อีกครั้งเนื่องจากต้องติดตั้งเพื่อให้ อิมเมจระบบล่าสุดทำงานได้อย่างถูกต้องในโปรแกรมจำลอง HAXM 7.3.2 ควรพร้อมใช้งานในช่องทางเสถียรอยู่แล้ว และยังติดตั้งด้วยตนเองได้จาก https://github.com/intel/haxm/releases

ปัญหาบางส่วนที่ HAXM เวอร์ชันนี้แก้ไขมีดังนี้

  • แก้ไขข้อขัดข้องแบบสุ่มของระบบปฏิบัติการของผู้เข้าพักที่ใช้เคอร์เนล Linux เวอร์ชันล่าสุด (>= 4.6) เช่น Ubuntu 18.04 (#39, #74)
  • แก้ไขข้อบกพร่องของโปรแกรมจำลองคำสั่ง x86 ที่อาจทำให้โฮสต์ขัดข้อง (#93)

การเลิกใช้งาน Windows 32 บิต

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

โปรดแจ้งให้เราทราบใน Issue Tracker หากคุณใช้โปรแกรมจำลองของ Android เวอร์ชัน 32 บิตที่ทำงานบน Windows อยู่ในปัจจุบัน และบอกให้เราทราบว่าเราจะร่วมงานกับคุณต่อไปได้อย่างไร

27.3.10 (สิงหาคม 2018)

การอัปเดตนี้มีการแก้ไขข้อบกพร่องต่อไปนี้

แก้ไขการกำหนดค่าขนาด RAM

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

เพื่อลดปัญหานี้ โปรแกรมจำลองจะเพิ่มระดับ RAM ขั้นต่ำสำหรับอิมเมจที่ใช้ระดับ API 26 ขึ้นไปเป็นระดับเริ่มต้นของ Android Studio ที่ 1536 MB หากไฟล์ config.ini ของ AVD ไม่แสดง hw.ramSize เป็นเมกะไบต์ โปรดสร้างปัญหาใน Issue Tracker คุณจะค้นหาไฟล์ config.ini ได้ในตำแหน่งต่อไปนี้

~/.android/avd/<avdname>.avd/config.ini

27.3.9 (กรกฎาคม 2018)

การอัปเดตนี้มีการปรับปรุงและการแก้ไขข้อบกพร่องต่อไปนี้

ปรับปรุงข้อความแสดงข้อผิดพลาดสำหรับ Windows Hypervisor Platform

ผู้ใช้บางรายประสบปัญหาในการวินิจฉัยสาเหตุที่ Windows Hypervisor Platform (WHPX) เริ่มต้นไม่สำเร็จเมื่อเปิดใช้งานโปรแกรมจำลอง WHPX เราได้เพิ่มข้อความแสดงข้อผิดพลาดที่ให้ข้อมูลมากขึ้นเพื่อช่วยคุณ วินิจฉัยปัญหาเหล่านี้ คุณสามารถ เปิดใช้ข้อความแสดงข้อผิดพลาดเหล่านี้ได้โดยการเรียกใช้โปรแกรมจำลองจากบรรทัดคำสั่งโดยใช้ แฟล็ก -verbose

การแก้ไขทั่วไป

  • แก้ไขข้อผิดพลาด OpenGL ที่เกิดขึ้นเมื่อโหลดสแนปชอตในแอปกล้อง

27.3.8 (กรกฎาคม 2018)

การอัปเดตนี้รวมถึงฟีเจอร์ใหม่หลายอย่าง การปรับปรุงฟีเจอร์ที่มีอยู่ และการแก้ไขข้อบกพร่อง

สแนปชอต

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

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

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

คุณแก้ไขชื่อและคำอธิบายของสแนปชอตที่บันทึกไว้แต่ละรายการได้

ดูรายละเอียดได้ที่สแนปชอต

HAXM 7.2.0

HAXM 7.2.0 พร้อมให้บริการในทุกช่องทางแล้ว

การอัปเดตนี้มีการแก้ไขข้อบกพร่องและปรับปรุงการรองรับ RAM จำนวนมาก นอกจากนี้ การอัปเดต HAXM และ Emulator 27.3 ขึ้นไปจะโหลดเนื้อหาของสแนปชอตลงใน RAM ตามต้องการแทนที่จะโหลดสแนปชอตทั้งหมดเมื่ออุปกรณ์เสมือนเริ่มต้น การเปลี่ยนแปลงนี้จะช่วยลดเวลาที่ใช้ในการโหลดสแนปชอตได้อย่างมาก

โปรดดูรายละเอียดที่หัวข้อการกำหนดค่าการเร่งความเร็ว VM

27.2.9 (พฤษภาคม 2018)

การอัปเดตนี้รวมถึงฟีเจอร์ใหม่หลายอย่าง การปรับปรุงฟีเจอร์ที่มีอยู่ และการแก้ไขข้อบกพร่อง

การบันทึกหน้าจอ

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

ตัวควบคุมการบันทึกหน้าจอจะอยู่ในแท็บบันทึกหน้าจอของหน้าต่างตัวควบคุมเพิ่มเติม

เคล็ดลับ: คุณยังเปิดตัวควบคุมการบันทึกหน้าจอได้โดย กด Control + Shift + R (Command + Shift + R ใน Mac)

หากต้องการเริ่มบันทึกหน้าจอ ให้คลิกปุ่มเริ่มบันทึกในแท็บบันทึก หน้าจอ หากต้องการหยุดบันทึก ให้คลิกหยุดบันทึก

ตัวควบคุมสำหรับการเล่นและบันทึกวิดีโอที่บันทึกไว้จะอยู่ที่ด้านล่างของแท็บบันทึกหน้าจอ หากต้องการบันทึกวิดีโอ ให้เลือก WebM หรือ GIF จาก เมนูที่ด้านล่างของแท็บ แล้วคลิกบันทึก

นอกจากนี้ คุณยังบันทึกและบันทึกการบันทึกหน้าจอจากโปรแกรมจำลองได้โดยใช้ คำสั่งต่อไปนี้ในบรรทัดคำสั่ง

adb emu screenrecord start --time-limit 10 [path to save video]/sample_video.webm

ภาพหน้าจอ

คุณถ่ายภาพหน้าจอจากบรรทัดคำสั่งได้ด้วยคำสั่งใดคำสั่งหนึ่งต่อไปนี้

  • screenrecord screenshot [destination-directory]
  • adb emu screenrecord screenshot [destination-directory]

ระบบจะบันทึกภาพหน้าจอในรูปแบบ PNG

กล้องฉากเสมือนและ ARCore

การพัฒนาและทดสอบแอป Augmented Reality (AR) ด้วย ARCore จะง่ายยิ่งขึ้นด้วยกล้องฉากเสมือนใหม่ ซึ่งช่วยให้คุณทดลองใช้ประสบการณ์ AR ภายในสภาพแวดล้อมเสมือนได้

ดูข้อมูลเกี่ยวกับการใช้กล้องฉากเสมือนในโปรแกรมจำลองได้ที่ เรียกใช้แอป AR ในโปรแกรมจำลองของ Android

รูปภาพ Google Play Store ในอุปกรณ์ Pixel

ตอนนี้ Google Play Store พร้อมใช้งานสำหรับอิมเมจอุปกรณ์ Pixel และ Pixel 2 แล้ว ซึ่งระบุไว้ใน AVD Manager ใน Android Studio 3.2 ขึ้นไปพร้อมโลโก้ Google Play ในคอลัมน์ Play Store AVD ที่เปิดใช้ Google Play Store จะมีแท็บ Google Play ในกล่องโต้ตอบการควบคุมเพิ่มเติม ซึ่งมีปุ่มที่สะดวกสำหรับการอัปเดตบริการ Google Play ใน อุปกรณ์

สแนปชอต

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

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

การแสดงผลด้วย Skia

เมื่อใช้รูปภาพสำหรับ API 27 ขึ้นไป โปรแกรมจำลองจะแสดงผล UI ของ Android ด้วย Skia ซึ่งแสดงผลได้อย่างราบรื่นและมีประสิทธิภาพมากขึ้น

ตอนนี้การใช้ Skia กำหนดให้คุณต้องเปิดใช้โดยชัดแจ้ง

หากต้องการเปิดใช้การแสดงผล Skia ให้ใช้คำสั่งต่อไปนี้ใน adb shell

  su
  setprop debug.hwui.renderer skiagl
  stop
  start

กล้อง

ใน Windows ตอนนี้ โปรแกรมจำลองของ Android ใช้ Media Foundation เป็นแบ็กเอนด์ของเว็บแคม ซึ่งช่วยปรับปรุงประสิทธิภาพและอัตราเฟรมสำหรับการจับภาพจากเว็บแคมได้อย่างมาก โดยมีความละเอียดสูงสุด 720p 30 FPS

ตอนนี้คุณใช้ webcam0 และ webcam1 พร้อมกันใน Mac ได้แล้ว

เบ็ดเตล็ด

มีการเปลี่ยนตัวเลือกบรรทัดคำสั่ง -phone-number-prefix เป็น -phone-number [number] ซึ่งช่วยให้ตั้งค่าหมายเลขโทรศัพท์แบบเต็มได้

ตอนนี้คุณใช้ที่อยู่ SMS ที่เป็นตัวอักษรและตัวเลขได้แล้ว

การแก้ไข

  • ตอนนี้โปรแกรมจำลองของ Android เวอร์ชัน Linux สร้างขึ้นโดยใช้ Clang C++ Toolchain ที่ทันสมัย การเปลี่ยนแปลงนี้แก้ไขปัญหาที่โปรแกรมจำลองเริ่มต้นไม่สำเร็จ เนื่องจากข้อผิดพลาด libGL และ libstdc++
  • แก้ไขสาเหตุหลายประการที่ทำให้เกิดการขัดข้องและค้าง
  • ตอนนี้โปรแกรมจำลองจะตรวจสอบพื้นที่ว่างในดิสก์ว่ามีเพียงพอหรือไม่เมื่อเริ่มต้นทำงาน และจะไม่เริ่มทำงานจนกว่าจะมีพื้นที่ว่างอย่างน้อย 2 GB เพื่อหลีกเลี่ยงการขัดข้องและการหยุดทำงานที่เกิดจากพื้นที่ว่างในดิสก์ไม่เพียงพอ
  • แก้ไขปัญหาที่ทำให้เกม Unity บางเกมแสดงผลไม่ได้
  • แก้ไขปัญหา DNS ที่ทำให้โปรแกรมจำลองเชื่อมต่อกับเครือข่ายไม่ได้
  • แก้ไขปัญหาที่ทำให้การเปลี่ยนแปลงพื้นที่เก็บข้อมูลภายในที่จัดสรรให้กับ AVD ผ่านกล่องโต้ตอบการกำหนดค่าอุปกรณ์เสมือนไม่ทำงาน
  • แก้ไขปัญหาการสร้างกระบวนการ adb จำนวนมากและไม่ปิดอย่างถูกต้อง
  • แก้ไขปัญหาที่ทำให้ปุ่มหมุนและส่วนอื่นๆ ของ UI ไม่ตอบสนอง เว้นแต่จะเปิดหน้าต่างตัวควบคุมเพิ่มเติม
  • แก้ไขปัญหาที่ทำให้การคัดลอกและวางจากโฮสต์ไม่ทำงาน เว้นแต่จะเปิดกล่องโต้ตอบการควบคุมเพิ่มเติมอย่างน้อย 1 ครั้ง
  • เราได้อัปเดตสี่เหลี่ยมผืนผ้าสำหรับปรับขนาดของโปรแกรมจำลองแบบไร้กรอบให้สอดคล้องกับธีมภาพของโปรแกรมจำลองได้ดียิ่งขึ้น
  • ตอนนี้ระบบจะปิดใช้งานโทรศัพท์และ SMS อย่างถูกต้องเมื่อเปิดโหมดบนเครื่องบิน
  • แก้ไขปัญหาที่ทำให้ฟังก์ชัน SMS และฟังก์ชันเซลลูลาร์ถูกปิดใช้หลังจาก โหลดสแนปชอต
  • คุณจะไม่ได้รับข้อความเตือนที่ผิดพลาดซึ่งระบุว่า “Unable to open... \pstore.bin. Permission denied.”
  • แก้ไขปัญหาที่ทำให้ย้ายตำแหน่ง AVD บนหน้าจอ Mac บางรุ่นไม่ได้
  • แก้ไขปัญหาหน้าจอกะพริบและหน้าจอว่างในคอมพิวเตอร์ MacBook Pro รุ่นใหม่ เมื่อเรียกใช้ AVD ที่มีสกิน Pixel 2 XL
  • แก้ไขปัญหาหน้าจอว่างเมื่อเปลี่ยนเป็นโหมดซูมขณะที่โปรแกรมจำลองแบบไม่มีกรอบทำงานอยู่
  • แก้ไขปัญหาที่ทำให้สกินของอุปกรณ์และเนื้อหาของโปรแกรมจำลองเลื่อนออกจากการซิงค์เมื่อซูมเข้า

หากยังคงพบปัญหาการค้างหรือปัญหาความไม่เสถียรอื่นๆ โปรดรายงานปัญหา

27.1.12 (มีนาคม 2018)

การอัปเดตนี้มีการแก้ไขปัญหาต่อไปนี้

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

หากยังคงพบปัญหาการค้างหรือปัญหาความไม่เสถียรอื่นๆ โปรดรายงานปัญหา

การอัปเดตนี้พร้อมกับอิมเมจระบบปัจจุบันและ Android Studio เวอร์ชันตัวอย่างจะช่วยให้คุณใช้โปรแกรมจำลองของ Android เพื่อเรียกใช้แอปพลิเคชันเทคโนโลยีความจริงเสริม (AR) ที่สร้างด้วย ARCore ได้ ดูข้อกำหนดและวิธีการโดยละเอียดได้ที่หัวข้อเรียกใช้แอป AR ในโปรแกรมจำลองของ Android

27.1.10 (กุมภาพันธ์ 2018)

  • ความละเอียดในการบันทึกภาพด้วยกล้อง

    ตอนนี้คุณสามารถจับภาพเฟรม 720p จากเว็บแคมที่ต่ออยู่ได้แล้ว

    หากต้องการใช้กับอิมเมจระบบ Android 8.1 (API ระดับ 27) ขึ้นไป เว็บแคมที่แนบมาต้องมีความสามารถในการจับภาพเฟรม 720p

  • การแก้ไข

    • แก้ไขปัญหาที่ทำให้การจับภาพจากเว็บแคมแสดงผลเป็นภาพที่บิดเบี้ยว หรือเป็นสีเขียวทั้งหมดในบางครั้ง
    • แก้ไขปัญหาที่ทำให้เห็นข้อความต่อไปนี้แม้ว่าจะไม่มีการแฮงก์จริงก็ตาม "โปรแกรมจำลอง: ข้อผิดพลาด: ตรวจพบเทรดที่แฮงก์ 'Qt event loop' ไม่มีการตอบสนองเป็นเวลา 15000 มิลลิวินาที"

หากยังคงพบปัญหาการค้างหรือปัญหาความไม่เสถียรอื่นๆ โปรดรายงานปัญหา

27.1.7 (กุมภาพันธ์ 2018)

  • หน้าต่างโปรแกรมจำลองแบบไร้กรอบ

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

  • การปรับปรุงการเปิดเครื่องอย่างรวดเร็วเพื่อให้การทำงานกับ Snapshot ของ AVD มีประสิทธิภาพมากขึ้น

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

    โปรดดูรายละเอียดในเอกสารประกอบเกี่ยวกับการเปิดเครื่องอย่างรวดเร็ว

  • โปรแกรมจำลองได้รับการอัปเดตให้ใช้ QEMU 2.9 แล้ว

    การปรับปรุงที่สำคัญบางส่วนมีดังนี้

    • เพิ่มประสิทธิภาพ I/O และการล็อกเธรด I/O แบบละเอียดเพื่อประสิทธิภาพที่ดียิ่งขึ้น
    • แก้ไขข้อบกพร่องตั้งแต่ QEMU 2.8 (26.1.4)
    • การใช้งานแบ็กเอนด์ HAXM ใหม่

    ดูรายการการเปลี่ยนแปลงทั้งหมดได้ในบันทึกการเปลี่ยนแปลงของ QEMU 2.9

  • การติดตั้งใช้งาน Swiftshader ที่เป็นไปตาม OpenGL ES 3.0

    ตอนนี้โปรแกรมแสดงผล Swiftshader ของโปรแกรมจำลองเป็นไปตาม OpenGL ES 3.0 อย่างสมบูรณ์แล้ว ดูรายละเอียดของโปรแกรมแสดงผล Swiftshader ได้ที่ส่วนการตั้งค่า > ขั้นสูง ของการควบคุมเพิ่มเติม

  • การแก้ไข

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

27.0.5 (มกราคม 2018)

  • ตอนนี้ระบบจะปิดใช้ ANGLE สำหรับการแสดงผลใน Windows โดยค่าเริ่มต้น

    หาก ANGLE ทำงานได้ดีกว่า คุณสามารถเปิดใช้ ANGLE อีกครั้งได้โดยใช้บรรทัดคำสั่ง แฟล็ก -gpu angle_indirect หรือเปิดหน้าต่างการควบคุมเพิ่มเติม แล้วไปที่การตั้งค่า > ขั้นสูง แล้วเลือก ANGLE D3D11 สำหรับ การตั้งค่าโปรแกรมแสดงผล OpenGL ES

  • แก้ไขปัญหาที่ Shift+B ไม่พิมพ์อักขระ B ตัวพิมพ์ใหญ่

27.0.2 (ธันวาคม 2017)

  • ฟีเจอร์การเปิดเครื่องอย่างรวดเร็วใหม่ช่วยให้เวลาเริ่มต้นของโปรแกรมจำลองเร็วขึ้น โดยอิงตามสแนปชอตของอินสแตนซ์ AVD

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

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

    • ใช่: บันทึกภาพรวมการบูตอย่างรวดเร็วเสมอเมื่อปิดโปรแกรมจำลอง โดยตัวเลือกนี้คือค่าเริ่มต้น
    • ไม่: อย่าบันทึกสแนปชอตการเปิดเครื่องอย่างรวดเร็ว ให้ทำการเปิดเครื่องใหม่เสมอ
    • ถาม: ถามว่าจะบันทึกสแนปชอตการบูตอย่างรวดเร็วหรือไม่เมื่อปิด โปรแกรมจำลอง

    สินค้าที่เลือกจะแสดงเฉพาะใน AVD ที่เปิดอยู่เท่านั้น

    ดูข้อมูลเพิ่มเติมได้ที่เอกสารประกอบเกี่ยวกับการเปิดเครื่องอย่างรวดเร็ว

  • เพิ่มการรองรับ OpenGL ES 3 ของ Mac (สำหรับอิมเมจระบบที่ใช้ระดับ API 24 ขึ้นไป, Google APIs และ ABI ของ x86)

  • ตอนนี้โปรแกรมจำลองใช้โปรไฟล์หลักของ OpenGL หากมี เพื่อเพิ่มความเสถียรในแอป OpenGL ES 2 ขึ้นไป

  • ตัวเลือกใหม่สำหรับการแสดงผลด้วย Swiftshader / ANGLE

    • -gpu swiftshader_indirect: Swiftshader เวอร์ชันที่เร็วขึ้นและเสถียรมากขึ้น ซึ่งใช้ได้กับการเปิดเครื่องอย่างรวดเร็ว
    • -gpu angle_indirect (Windows เท่านั้น): ANGLE D3D เวอร์ชันที่มีเสถียรภาพมากขึ้น ซึ่งใช้ได้กับการเปิดเครื่องอย่างรวดเร็วด้วย

    ตอนนี้เราเลิกใช้งานตัวเลือก -gpu swiftshader และ -gpu angle เวอร์ชันเก่าแล้ว ในหน้าต่างการควบคุมแบบขยาย ตัวเลือก "SwiftShader" และ "ANGLE" สำหรับ การตั้งค่าโปรแกรมแสดงผล OpenGL ES ในการตั้งค่า > ขั้นสูง จะใช้ตัวแปร *_indirect แล้ว

  • การแก้ไขข้อบกพร่องอื่นๆ หลายรายการ

26.1.4 (สิงหาคม 2017)

รุ่นนี้เป็นรุ่นย่อยที่มีการแก้ไขข้อบกพร่องและการปรับปรุงการกำหนดค่า GPU ดังต่อไปนี้

  • เปิดใช้ภาพเคลื่อนไหวการบูตเมื่อเรียกใช้ในโปรแกรมแสดงผล ANGLE
  • ปิดใช้ GLES3 เมื่อเรียกใช้ในโปรแกรมแสดงผล ANGLE

26.1.3 (สิงหาคม 2017)

รุ่นนี้เป็นการเปิดตัวรุ่นย่อยที่มีการแก้ไขข้อบกพร่อง การปรับปรุงประสิทธิภาพ และการเปลี่ยนแปลงฟีเจอร์เล็กๆ น้อยๆ

  • ตอนนี้คุณต้องใช้เวอร์ชันนี้เพื่อใช้รูปภาพระบบ Android 8.0 ล่าสุด โดยจะเป็นไปตามข้อกำหนดของ Treble และมีพาร์ติชัน vendor.img แยกกัน
  • HAXM 6.2.0 เวอร์ชันใหม่พร้อมใช้งานแล้ว (ตรวจสอบ เครื่องมือจัดการ SDK) และมีการอัปเดตต่อไปนี้
    • ปรับปรุงการใช้งานหน่วยความจำ ชุดการทำงานสูงสุดของหน่วยความจำที่ HAXM ปักหมุดไว้จะไม่เท่ากับขนาด RAM ของ AVD อีกต่อไป แต่จะมีการแบ่งหน้าหน่วยความจำตามต้องการแทน ซึ่งจะช่วยให้โปรแกรมจำลองทำงานได้อย่างน่าเชื่อถือมากขึ้นในเครื่องที่มี RAM น้อย
    • ตอนนี้โปรแกรมจำลองที่มี HAXM 6.2.0 สามารถบูตได้เร็วขึ้นใน macOS โดยข้ามขั้นตอนการเริ่มต้นที่ยาวนาน
  • การปรับปรุงการกำหนดค่า GPU
    • แก้ไขปัญหาหน้าจอสีดำเมื่อเปิดเครื่องขณะทำการแสดงผลซอฟต์แวร์ฝั่งแขกโดยเปลี่ยนกลับไปใช้การแสดงผลซอฟต์แวร์ฝั่งโฮสต์ด้วย Swiftshader การแก้ไขล่าสุดของอิมเมจระบบสำหรับ API ระดับ 19-25 ที่มี Google APIs ควรมีการแสดงผลฝั่งแขกที่ใช้งานได้
    • แก้ไขปัญหาที่โปรแกรมจำลองเปลี่ยนไปใช้โปรแกรมแสดงผลซอฟต์แวร์ เนื่องจากตรวจพบว่ามี GPU ของ Intel รุ่นเก่า แต่จริงๆ แล้วโปรแกรมจำลอง ทำงานบน GPU แยก ระบบจะกำหนด GPU ที่จะเปลี่ยนไปใช้การแสดงผล ANGLE หรือ Swiftshader ดังนี้
      • iGPU ของ Intel รุ่นเก่ามีปัญหาเกี่ยวกับไดรเวอร์ทั้งในไดรเวอร์ OpenGL และ ANGLE D3D ผู้ใช้ที่มี Intel HD Graphics 3xxx และรุ่นเก่ากว่าจะใช้ Swiftshader
      • ผู้ใช้บางรายรายงานว่าใช้รูปภาพระดับ API 25 ไม่ได้เนื่องจากข้อบกพร่องที่ทำให้ "Pixel Launcher หยุดทำงานอยู่เรื่อยๆ" ดูเหมือนว่าจะเป็น ปัญหาเกี่ยวกับไดรเวอร์ใน Intel HD 4xxx บางรุ่น ดังนั้นระบบจะเปลี่ยนไปใช้ ANGLE โดยอัตโนมัติ
    • เราขอแนะนำให้ใช้ GPU ของ NVIDIA หรือ AMD แยกต่างหาก หรือ GPU ของ Intel รุ่นใหม่กว่า (Iris, HD 5xxx, HD 5xx/6xx) เพื่อให้ได้ผลลัพธ์ที่ดีที่สุดในการจำลอง GPU
    • แก้ไขปัญหาที่โปรแกรมจำลองเริ่มต้นไม่สำเร็จ (การจำลอง OpenGL เริ่มต้นไม่สำเร็จ) หากกำหนดค่า AVD ด้วย hw.gpu.mode=host และเปิดใช้โปรแกรมจำลองในไคลเอ็นต์เดสก์ท็อประยะไกล
    • ชี้แจงการตั้งค่า "ระดับ API ของ OpenGL ES (ต้องรีสตาร์ท)" เพิ่มตัวเลือกในการดาวน์เกรดจาก OpenGL ES 3 เป็น OpenGL ES 2 หากพบปัญหาหรือต้องการทดสอบในระดับ API ของ OpenGL ES ที่ต่ำกว่า
    • เราเลิกใช้งานตัวแสดงผล Mesa แล้ว ตอนนี้ hw.gpu.mode=mesa จะเปลี่ยนไปใช้ Swiftshader ในโฮสต์โดยอัตโนมัติ
  • การปรับปรุงสำหรับ macOS
    • ตอนนี้โปรแกรมจำลองเข้ากันได้กับ macOS 10.13 High Sierra อย่างเต็มรูปแบบ ผ่าน Hypervisor.Framework หรือ HAXM 6.2.0
    • ตอนนี้ Hypervisor.framework จะเปิดใช้โดยค่าเริ่มต้นใน macOS สำหรับรูปภาพ x86 ขนาด 32 บิต เพื่อปรับปรุงประสิทธิภาพและความเข้ากันได้ของ macOS หากพบปัญหาเกี่ยวกับฟีเจอร์นี้โดยเฉพาะ โปรดส่งรายงานข้อบกพร่องและต่อท้าย HVF = off ไปยัง ~/.android/advancedFeatures.ini (สร้างไฟล์นี้หากไม่มี)
    • แก้ไขปัญหาที่ไม่มีอินเทอร์เน็ต / แนบโปรแกรมแก้ไขข้อบกพร่องไม่สำเร็จขณะใช้ Hypervisor.framework
    • เราได้แทนที่การจับภาพจากกล้องที่ใช้ QTKit ด้วยการจับภาพที่บัฟเฟอร์ซึ่งอิงตาม AVFoundation เพื่อเพิ่มความเข้ากันได้และประสิทธิภาพของการจับภาพจากเว็บแคม
  • เพิ่มการรองรับ Wi-Fi ในอิมเมจระบบบางรายการ (ปัจจุบันรองรับเฉพาะระดับ API 25) จุดเข้าใช้งานชื่อ "AndroidWifi" พร้อมใช้งานแล้ว และ Android จะเชื่อมต่อกับจุดเข้าใช้งานนี้โดยอัตโนมัติ คุณปิดใช้การรองรับ Wi-Fi ได้โดยการเรียกใช้โปรแกรมจำลองด้วยพารามิเตอร์บรรทัดคำสั่ง -feature -Wifi
  • ผู้ใช้บางรายแสดงความกังวลว่าอิมเมจระบบ Play Store ที่มีขนาดคงที่ มีพื้นที่เก็บข้อมูลไม่เพียงพอ ด้วยเหตุนี้ เราจึงเพิ่มขนาดเป็น 2 GB โดยค่าเริ่มต้น (จาก 800 MB)
  • เพิ่มแป้นพิมพ์ลัด (Ctrl+Shift+U) เพื่อเปิดหน้า UI การรายงานข้อบกพร่อง จากหน้าการตั้งค่าโดยตรง
  • แก้ไขปัญหาที่หากใช้ CPU รุ่นเก่าที่มี Intel x86 EPT แต่ไม่มี UG โปรแกรมจำลองจะบูตไม่สำเร็จหากมีการกำหนดค่ามากกว่า 1 คอร์
  • แก้ไขปัญหาที่ระบบตรวจจับ HyperV ไม่ถูกต้องหากโปรแกรมจำลอง ทำงานในไฮเปอร์ไวเซอร์ Xen
  • แก้ไขปัญหาที่โปรแกรมจำลองจะขัดข้องเมื่อเริ่มต้นในการกำหนดค่า Linux บางอย่าง

26.1.2 (กรกฎาคม 2017)

รุ่นนี้มีฟีเจอร์ใหม่และการปรับปรุงประสิทธิภาพ

  • เพิ่มความสามารถในการกำหนดค่าพร็อกซี HTTP ที่กำหนดเองใน ส่วนควบคุมเพิ่มเติม (คลิกเพิ่มเติม จากนั้นคลิกการตั้งค่าและ พร็อกซี) โดยค่าเริ่มต้น โปรแกรมจำลองจะใช้การตั้งค่าพร็อกซี HTTP ของ Android Studio แต่หน้าจอนี้จะช่วยให้คุณกำหนดค่าพร็อกซีด้วยตนเองได้

  • เพิ่มการรองรับ VNC สำหรับ GPU ในโหมดผู้มาเยือนเพื่อให้ดูและควบคุมโปรแกรมจำลองจากระยะไกลได้ เช่น คุณสามารถเปิดโปรแกรมจำลองและให้ VNC ฟัง พอร์ต 5901 ได้ดังนี้

    1. ดำเนินการ: emulator -gpu guest -avd avd_name -no-window -qemu -vnc :1
    2. เปิดโปรแกรมดู VNC เช่น โปรแกรมดู tightvnc เพื่อเชื่อมต่อกับพอร์ต 5901

      • หากต้องการใช้ไคลเอ็นต์การแชร์หน้าจอในตัวของ Mac คุณจะต้องมีรหัสผ่าน VNC เมื่อเปิดตัวจำลอง หากต้องการตั้งรหัสผ่าน ให้ใช้คำสั่งต่อไปนี้

        emulator -gpu guest -avd avd_name -no-window -qemu -vnc :1,password -monitor stdio

        จากนั้นป้อน change vnc password ลงในคอนโซล แล้วป้อนรหัสผ่าน

    ปัจจุบันโหมด VNC ยังไม่รองรับ Android O

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

  • เพิ่มเซ็นเซอร์ไจโรสโคปลงในแผงโปรแกรมจำลองและเซ็นเซอร์เสมือน ซึ่งต้องใช้ อิมเมจระบบที่รองรับไจโรสโคปจึงจะทำงานได้ (ปัจจุบันคือระดับ API 24 และ 25)

  • เพิ่ม DNS ที่โฮสต์ต้องการลงในรายการ DNS ของ Qemu ใน Windows เมื่ออินเทอร์เฟซเครือข่ายเสมือนหลายรายการในโฮสต์ทำให้มีที่อยู่ DNS หลายรายการซึ่งใช้กับโปรแกรมจำลองไม่ได้

  • เพิ่มการรองรับ Hypervisor.Framework ของ macOS เวอร์ชันทดลองสำหรับอิมเมจ x86 ขนาด 32 บิต ใน macOS 10.10 ขึ้นไปผ่านค่าสถานะของเซิร์ฟเวอร์ ซึ่งจะช่วยปรับปรุงเวลาในการบูตและ ประสิทธิภาพ

    • หากพบปัญหา ให้เพิ่มบรรทัด HVF = off ใน ~/.android/advancedFeatures.ini
  • ตอนนี้ระบบได้เปิดใช้ OpenGL ES 3.x โดยค่าเริ่มต้นสำหรับอิมเมจระบบและ GPU ของโฮสต์ที่รองรับ OpenGL ES 3 แล้ว ปัจจุบันมีเพียง Android O (ระดับ API 26) และโฮสต์ Windows/Linux เท่านั้นที่รองรับ OpenGL ES 3

    • หากพบปัญหาเกี่ยวกับ OpenGL ES 3 ให้เพิ่มบรรทัด GLESDynamicVersion = off ใน ~/.android/advancedFeatures.ini
  • ตอนนี้โปรแกรมจำลองใช้ FBO ของ OpenGL นอกหน้าจอสำหรับการแสดงผลทั้งหมด ยกเว้นการโพสต์รูปภาพที่แสดงสุดท้าย ซึ่งจะช่วยแก้ปัญหาความสอดคล้องของสีในแพลตฟอร์มต่างๆ

  • หลังจากรวบรวมข้อมูลเกี่ยวกับปัญหาการทำงานของโปรแกรมจำลองที่ช้าลงอย่างกะทันหันแล้ว เราได้พิจารณา ว่าปัญหาอาจเกิดจากการโต้ตอบบางอย่างระหว่างไดรเวอร์ OpenGL ของ Intel รุ่นเก่า กับการอัปเดต Windows ด้วยเหตุนี้ ผู้ใช้ที่มี Intel HD 4000, 3000, 2000 (และ GPU ที่เกี่ยวข้อง) จะมีการตั้งค่าการแสดงผลเป็น D3D Renderer (ANGLE) หรือ Swiftshader (ซอฟต์แวร์เรนเดอเรอร์) โดยค่าเริ่มต้น

26.0.0 (มีนาคม 2017)

รุ่นนี้ใช้ได้กับ API ระดับ 26 นอกจากนี้ ยังมีการ ปรับปรุงประสิทธิภาพและแก้ไขข้อบกพร่องอีกด้วย

การแก้ไขเล็กน้อย 26.0.3 (พฤษภาคม 2017)

  • เพิ่มฟีเจอร์แฟล็กที่อัปเดตออนไลน์ได้เพื่อแก้ไขปัญหาที่เกิดจากการกำหนดค่าฮาร์ดแวร์ที่เป็นปัญหาได้อย่างรวดเร็ว ซึ่งจะช่วยให้ Google เปิดตัวการแก้ไขและฟีเจอร์ที่ขึ้นอยู่กับการกำหนดค่าของผู้ใช้ได้โดย การอัปเดตแฟล็กฝั่งเซิร์ฟเวอร์ หากพบปัญหาเกี่ยวกับฮาร์ดแวร์ที่เฉพาะเจาะจง โปรดรายงานข้อบกพร่องเพื่อให้เราตรวจสอบปัญหาได้
  • เพิ่มการรองรับการป้อนข้อมูลแบบหมุนสำหรับรูปภาพระบบ Android Wear API ระดับ 25 หากต้องการจำลองแป้นหมุนป้อนข้อมูลในอุปกรณ์ Wear ให้คลิกแท็บการป้อนข้อมูลแบบหมุนในหน้าต่างแบบขยาย
  • ตอนนี้คุณปรับขนาดกล่องโต้ตอบการรายงานข้อขัดข้องได้แล้ว และจะไม่รีเซ็ตเวลาที่จะส่งรายงานข้อขัดข้องเป็นถามโดยไม่มีการป้อนข้อมูลอีกต่อไป
  • ตอนนี้โปรแกรมจำลอง 32 บิตกำหนดให้ขนาด RAM ของ AVD สูงสุดต้องน้อยกว่าหรือเท่ากับ 512 MB เพื่อป้องกันไม่ให้โปรแกรมจำลองมีพื้นที่ไม่เพียงพอในพื้นที่ที่อยู่เสมือน 2 GB
  • เพิ่มการรองรับเส้นทางแบบสัมบูรณ์ในอิมเมจโปรแกรมจำลอง
  • เพิ่มแท็บใหม่ในหน้าต่างแบบขยายสำหรับรูปภาพ Google Play Store ซึ่ง แสดงเวอร์ชันของบริการ Google Play และปุ่มเพื่อตรวจหาการอัปเดตบริการ Google Play
  • เพิ่มเมนูแบบเลื่อนลงเพื่อเลือกตัวแสดงผล OpenGL ในหน้าการตั้งค่าโปรแกรมจำลอง หากพบปัญหาเกี่ยวกับไดรเวอร์ OpenGL ในเครื่อง Windows ให้ลองใช้ตัวเลือก ANGLE (D3D11) หรือ ANGLE (D3D9) (ต้องรีสตาร์ท ) หากพบปัญหาเกี่ยวกับไดรเวอร์ OpenGL ในเครื่องที่ไม่ใช่ Windows ให้ลองใช้โปรแกรมแสดงผลด้วยซอฟต์แวร์ Swiftshader (ต้องรีสตาร์ท)
  • แก้ไขข้อขัดข้องที่เกิดขึ้นไม่บ่อยนักเมื่อออกจากระบบเมื่อโปรแกรมจำลองได้รับทั้งคำสั่ง exit และ minimize
  • แก้ไขปัญหาการปรับขนาดเมื่อเปลี่ยนจอแสดงผลในเครื่อง Mac (ปัญหา 268296)
  • แก้ไขปัญหาที่อีมูเลเตอร์ใช้ CPU 300% และคงสถานะดังกล่าวไว้ หลังจากที่คอมพิวเตอร์โฮสต์กลับมาทำงานจากโหมดสลีปหรือเมื่ออีมูเลเตอร์ ทำงานเป็นเวลานาน
  • แก้ไขข้อขัดข้องเมื่อปิดโปรแกรมจำลอง

การอัปเดตด้วย HAXM v6.1.1 (มีนาคม 2017)

หมายเหตุ: HAXM v6.1.1 พร้อมให้บริการสำหรับผู้ใช้ Mac ผ่าน SDK Manager ตั้งแต่วันที่ 30 มีนาคม และจะพร้อมให้บริการสำหรับผู้ใช้ Windows ในเร็วๆ นี้

โปรแกรมจำลองของ Android เวอร์ชัน 26.0.0 รองรับ HAXM v6.1.1 ซึ่งมีการอัปเดตดังต่อไปนี้

  • เปิดใช้การจำลองหน่วยตรวจสอบประสิทธิภาพ (PMU) (ปัญหา 223377)
  • แก้ไขการทำงานร่วมกันกับ VirtualBox และ Docker ใน Mac (ปัญหา 197915)
  • แก้ไขข้อความแสดงข้อผิดพลาดในการติดตั้งที่แสดงเมื่อโปรแกรมติดตั้ง ตรวจไม่พบ Intel VT-x ใน Windows ซึ่งมักจะเป็นเพราะเปิดใช้ Hyper-V
  • เพิ่มการรองรับการเร่งความเร็วโปรแกรมจำลองของ Android ใน VM ของ Windows ที่ใช้ Hyper-V การอัปเดตนี้กำหนดให้อินสแตนซ์ Hyper-V ของโฮสต์ (อินสแตนซ์ที่จัดการ VM/เกสต์ของ Windows) ต้องใช้ Hyper-V เวอร์ชันล่าสุดที่เปิดใช้การจำลองเสมือนแบบซ้อน ต้องปิดใช้ Hyper-V ใน อินสแตนซ์ Hyper-V ของแขก (VM ของ Windows)

การขึ้นต่อกัน

  • เครื่องมือแพลตฟอร์ม Android SDK เวอร์ชันแก้ไข 25.0.4 ขึ้นไป
  • Android SDK Tools ฉบับแก้ไข 26.0.0 ขึ้นไป

ฟีเจอร์ใหม่และการแก้ไขข้อบกพร่อง

  • ใช้ได้กับ API ระดับ 26
  • เป็นไปตามข้อกำหนดของ GLES 2.0 อย่างสมบูรณ์ เมื่อมี GPU โฮสต์ที่มีไดรเวอร์ OpenGL ของเดสก์ท็อปที่สอดคล้องกัน ตอนนี้โปรแกรมจำลองจะผ่านการทดสอบ dEQP-GLES2 ของ CTS ของ Android 100% mustpass list ฟีเจอร์นี้เปิดตัวแล้วสำหรับรูปภาพ x86 ที่ระดับ API 24 (รีวิชัน 11 ขึ้นไป) และจะรวมไว้ในอิมเมจระบบทั้งหมดในเร็วๆ นี้
  • ปรับปรุงประสิทธิภาพการเล่นวิดีโอ ตอนนี้โปรแกรมจำลองจะจัดเก็บบัฟเฟอร์สีของวิดีโอทั้งหมด ไว้ในหน่วยความจำที่ใช้ร่วมกันของโฮสต์/เกสต์ และทำการแปลง YUV เป็น RGB ขั้นสุดท้ายที่จำเป็น ใน GPU ปัจจุบันระบบส่วนใหญ่ควรมีประสิทธิภาพเพียงพอที่จะรองรับ 1080p30 โดยฟีเจอร์นี้เปิดตัวแล้วสำหรับรูปภาพ x86 ที่ระดับ API 24 (รีวิชัน 11 ขึ้นไป) และจะรวมไว้ในอิมเมจระบบทั้งหมดในเร็วๆ นี้
  • ตอนนี้โปรแกรมจำลองจะยกเลิกการลงทะเบียนตัวเองจากadb devicesในรายการเมื่อออกและปิดพอร์ต TCP ที่เปิดอยู่บนเครื่อง Linux อย่างถูกต้องแล้ว
  • ตอนนี้การเชื่อมต่อ adb เสถียรมากขึ้นแล้ว ตรวจพบโปรแกรมจำลองที่กำลังทำงาน ได้เร็วขึ้น และจะไม่เปลี่ยนเป็นสถานะ "ออฟไลน์" หรือ "ไม่ได้รับอนุญาต" อีกต่อไป

25.3.0 (มีนาคม 2017)

ตั้งแต่รุ่นนี้เป็นต้นไป ระบบจะเผยแพร่โปรแกรมจำลองของ Android แยกจาก SDK Tools รุ่นนี้มีการปรับปรุงประสิทธิภาพ ฟีเจอร์ใหม่ และการแก้ไขข้อบกพร่องต่างๆ

การแก้ไขเล็กน้อย 25.3.1 (มีนาคม 2017)

  • แก้ไขข้อขัดข้องที่เกิดขึ้นในการกำหนดค่า GPU บางอย่างโดยการปิดใช้ GLAsyncSwap โดยค่าเริ่มต้น เราได้เพิ่มฟีเจอร์นี้ในเวอร์ชัน 25.3.0 เพื่อปรับปรุงการกำหนดเวลาเฟรมและเฟรมต่อวินาทีสำหรับเกม และวิดีโอ แต่ทำให้โปรแกรมจำลองล้มเหลวในการกำหนดค่าเครื่องที่ไม่รู้จักบางอย่าง คุณเปิดใช้ด้วยตนเองได้โดยเปิดandroid_sdk/emulator/lib/advancedFeatures.iniไฟล์และGLAsyncSwap = onการตั้งค่า

การขึ้นต่อกัน

  • เครื่องมือแพลตฟอร์ม Android SDK เวอร์ชันแก้ไข 24 ขึ้นไป
  • Android SDK Tools เวอร์ชัน 25.3.0

ฟีเจอร์ใหม่และการแก้ไขข้อบกพร่อง

  • อัปเดตเครื่องมือจำลองเป็น QEMU 2.7 ซึ่งรวมถึงการแก้ไขข้อบกพร่องล่าสุดทั้งหมด ประสิทธิภาพที่ดียิ่งขึ้น และฟีเจอร์ใหม่ๆ
  • รองรับ IPv6 ใหม่
  • ตอนนี้โปรแกรมจำลองใช้ SwiftShader เป็นตัวแสดงผลซอฟต์แวร์ล้วนๆ ในโฮสต์แล้ว
  • การปรับปรุงประสิทธิภาพของ Android Pipe: ตอนนี้ Android Pipe ซึ่งเป็นช่องทางการสื่อสารหลักระหว่างโปรแกรมจำลองกับระบบปฏิบัติการ Android เร็วขึ้นกว่าเดิมมาก มีเวลาในการตอบสนองที่ต่ำลง และมีประสิทธิภาพแบบมัลติเธรดที่ดีขึ้น ซึ่งจะช่วยปรับปรุงประสิทธิภาพของโปรแกรมจำลองหลายอย่าง รวมถึงสิ่งต่อไปนี้
    • ปรับปรุงความเร็วในการพุช/ดึงข้อมูล ADB
    • รองรับการเร่งความเร็ว 3 มิติได้ดียิ่งขึ้น
    • เพิ่มการตอบสนองโดยรวมของโปรแกรมจำลอง
    • ปรับปรุงประสิทธิภาพกราฟิก
  • ตอนนี้โปรแกรมจำลองใช้บัฟเฟอร์ฝั่ง GPU (glBindBuffers / glBufferData) เมื่อแขกขอ ซึ่งจะช่วยลดค่าใช้จ่ายของ CPU ในบางแอป
  • ปรับปรุงการรองรับเสียง
  • I/O ของดิสก์เร็วขึ้น: ตอนนี้โปรแกรมจำลองใช้เธรดแยกต่างหากเพื่อ ส่ง I/O ของดิสก์ ซึ่งส่งผลให้เวลาในการตอบสนองต่ำลงและอัตราการส่งข้อมูลดีขึ้น (ความเร็ว I/O แบบลำดับเร็วขึ้นประมาณ 1.5 เท่า ความเร็ว I/O แบบสุ่มเร็วขึ้นประมาณ 5 เท่า) นอกจากนี้ยังช่วย ลดจำนวนการล้างข้อมูลไปยังดิสก์ ซึ่งส่งผลให้โหลดของอุปกรณ์จริง ลดลงอย่างมาก
  • ตอนนี้โปรแกรมจำลองใช้ไฟล์แบบกระจายสำหรับการบูตดิสก์ในเครื่อง Windows ซึ่งช่วยเร่งการบูตครั้งแรกและการบูต "wipe-data" เมื่อสร้างหรือรีเซ็ต AVD ตอนนี้โปรแกรมจำลองจะเขียนข้อมูล 100-200 MB ลงในดิสก์แทนที่จะเป็น 2 GB ขึ้นไป
  • การปรับปรุง GUI ต่างๆ
    • ตอนนี้โปรแกรมจำลองใช้ Qt 5.7.0 ซึ่งมีการแก้ไขข้อบกพร่องและ ปรับปรุงประสิทธิภาพ
    • การเริ่มต้น UI จะไม่พยายามโหลดไฟล์ที่เรียกใช้งานได้ทั้งหมดของโปรแกรมจำลอง เป็นปลั๊กอิน Qt อีกต่อไป จึงใช้เวลาน้อยลงอย่างมาก โดยเฉพาะใน HDD
    • ตอนนี้การโต้ตอบ UI เร็วขึ้นและราบรื่นขึ้น ซึ่งรวมถึง การหมุน การปรับขนาดหน้าต่าง และการโหลดหน้าต่างควบคุมแบบขยาย และการปิด

OpenXR™ และโลโก้ OpenXR เป็นเครื่องหมายการค้าของ The Khronos Group Inc. และจดทะเบียนเป็นเครื่องหมายการค้าในจีน สหภาพยุโรป ญี่ปุ่น และสหราชอาณาจักร