โปรแกรมจำลองของ Android มาพร้อมกับ Android Studio
เวอร์ชันของโปรแกรมจำลองก่อน 25.3.0 มีการเผยแพร่เป็นส่วนหนึ่งของ Android SDK Tools
หากต้องการตรวจสอบว่าคุณใช้เวอร์ชันล่าสุดอยู่ ให้ตรวจหาการอัปเดตใน เครื่องมือจัดการ SDK
หากต้องการดาวน์โหลดโปรแกรมจำลองของ Android เวอร์ชันก่อนหน้า โปรดดูที่เก็บถาวรสำหรับการดาวน์โหลดโปรแกรมจำลอง
ดูบันทึกประจำรุ่นสำหรับโปรแกรมจำลองเวอร์ชันก่อน 25.3.0 ได้ที่บันทึกประจำรุ่นของเครื่องมือ Android SDK
หากต้องการดูว่าปัญหาใดได้รับการแก้ไขแล้วใน Android Emulator เวอร์ชันล่าสุด โปรดดูปัญหาที่ปิดแล้ว
ดูปัญหาที่ทราบและการแก้ปัญหาได้ที่การแก้ปัญหาโปรแกรมจำลอง
36.6.11 เวอร์ชันเสถียร (2 มิ.ย. 2026)
ตั้งแต่ API 37 เป็นต้นไป หน่วยความจำขั้นต่ำ (RAM) ที่ VM ของ AVD ใช้จะเพิ่มขึ้นเป็น 4 GB
เพื่อรองรับความต้องการหน่วยความจำที่สูงขึ้นของ Android 17 (API 37) ตอนนี้ Android Virtual Devices (AVD) ของโทรศัพท์จึงต้องมี RAM ขั้นต่ำ 4 GB อย่างเคร่งครัด หากกำหนดค่า AVD ให้มีหน่วยความจำน้อยกว่านี้ โปรแกรมจำลองจะเขียนทับการตั้งค่า โดยอัตโนมัติเพื่อจัดสรรหน่วยความจำอย่างน้อย 4 GB เพื่อป้องกันปัญหาที่อาจเกิดขึ้นขณะรันไทม์
เพิ่มโหมดกล้อง "สภาพแวดล้อม" ลงในโปรแกรมจำลองเพื่อใช้เป็นพื้นหลังฉากเสมือนที่กำหนดค่าได้ ฉากเหล่านี้กำหนดไว้ในไฟล์ environment.ini ของ AVD และ สามารถโหลดซ้ำแบบไดนามิกได้ในขณะรันไทม์
แก้ไขข้อบกพร่องที่การแสดงตัวอย่างสแนปชอตในโปรแกรมจำลองแบบสแตนด์อโลนไม่ถูกล้างหลังจากลบสแนปชอต
[การแก้ไขข้อบกพร่อง]Issue #506475581 เสียงของโปรแกรมจำลองผิดเพี้ยนอย่างรุนแรงใน macOS เมื่อใช้อินเทอร์เฟซเสียงที่มีมากกว่า 2 ช่อง (ลูปแบ็ก, เอาต์พุตหลายรายการ)
[แก้ไขข้อบกพร่อง]ปัญหา #516455370 แก้ไขปัญหาหน่วยความจำรั่วที่สำคัญใน macOS 26.3 เมื่อปิดโปรแกรมจำลอง ซึ่งเกี่ยวข้องกับการล้างข้อมูลทรัพยากรที่ใช้โดย Hypervisor.framework APIs
แพตช์ 36.5.11 (23 เม.ย. 2026)
- [แก้ไขข้อบกพร่อง]ปัญหา #492228020 โปรแกรมจำลองของ Android แสดงหน้าจอสีดำเมื่อใช้การแสดงกราฟิกฮาร์ดแวร์/อัตโนมัติใน GPU ของ Intel
36.5.10 เวอร์ชันเสถียร (2 เม.ย. 2026)
การอัปเดตนี้รวมถึงฟีเจอร์และการแก้ไขข้อบกพร่องต่อไปนี้
ทดสอบการโต้ตอบแบบหลายอุปกรณ์ด้วยโปรแกรมจำลองของ Android
ตอนนี้โปรแกรมจำลองของ Android มีสแต็กเครือข่ายใหม่เพื่อปรับปรุงการทดสอบแบบหลายอุปกรณ์ โดยไม่ต้องกำหนดค่าการส่งต่อพอร์ตด้วยตนเองเพื่อเชื่อมต่ออินสแตนซ์ AVD หลายรายการในโฮสต์เดียวกัน ตอนนี้ AVD สามารถค้นหาและสื่อสารกันโดยอัตโนมัติ ราวกับว่าอยู่ในเครือข่ายเสมือนเดียวกัน ซึ่งช่วยให้ทดสอบการโต้ตอบแบบเพียร์ทูเพียร์ได้อย่างราบรื่นโดยใช้โปรโตคอลต่างๆ เช่น Wi-Fi Direct และ Network Service Discovery
สแต็กเครือข่ายใหม่นี้มีข้อดีหลักๆ หลายประการสำหรับนักพัฒนาแอป ดังนี้
- ไม่ต้องกำหนดค่า: ไม่ต้องส่งต่อพอร์ตด้วยตนเองหรือเขียนสคริปต์คำสั่ง 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
ดูข้อมูลเกี่ยวกับการถอนการติดตั้ง 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 โปรแกรมจำลองของ Android XR ขัดข้องพร้อมข้อผิดพลาดของ 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 ต่อไปนี้
- 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
- อัปเดตไลบรารีกราฟิกที่ใช้สำหรับการแสดงผลซอฟต์แวร์
- [การแก้ไขข้อบกพร่อง]ปัญหา 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 พร้อมให้ใช้งานกับการทดสอบที่ใช้เครื่องมือซึ่งทำงานภายในโปรแกรมจำลองของ Android แล้ว ซึ่งจะช่วยให้ทดสอบสถานการณ์ที่สมจริงได้ ฟีเจอร์นี้ช่วยให้นักพัฒนาแอปโต้ตอบกับปลายทาง 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 Beta 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 Pass Through
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.inihw.sensor.hinge.sub_type = hinge/foldพร้อมใช้งานแล้ว ดูข้อมูลเพิ่มเติมได้ที่บล็อกโพสต์ การพัฒนาสำหรับ Android 11 ด้วย Android Emulatorตอนนี้ระบบจะเปิดใช้เซ็นเซอร์บานพับโดยค่าเริ่มต้น
หากกำหนดค่าอุปกรณ์แบบพับได้ไว้ ตอนนี้โปรแกรมจำลองจะส่งการอัปเดตเซ็นเซอร์มุมบานพับ และการเปลี่ยนแปลงท่าทางไปยังแขกรับเชิญ อุปกรณ์แบบพับได้ที่มีอยู่จะอัปเดตมุมเซ็นเซอร์บานพับและท่าทางเมื่อกดปุ่มพับหรือปุ่มกางของแถบเครื่องมือ

โปรแกรมจำลองสำหรับโฮสต์ 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 แล้ว
- มีการนำปลายทางของไปป์ดาร์วินออกแล้ว
- ตอนนี้การถอดรหัส 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 ของโปรแกรมจำลอง เส้นทางไฟล์การค้นพบในกรณีการใช้งานที่ฝังอยู่ใน 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 NoDeviceframe หรือหากต้องการล็อกไว้ ให้เพิ่ม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/<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 ก่อนหน้าได้ดียิ่งขึ้น ซึ่งก่อนหน้านี้ใช้วิธีการที่ไม่มีประสิทธิภาพ - แก้ไขข้อขัดข้องระหว่างการสิ้นสุดเมื่อใช้ตัวเลือก
-wifi-server-port - ตอนนี้โปรแกรมจำลองจะพิมพ์คำเตือนหากมีการส่งตัวเลือกที่ไม่รองรับไปยัง
-prop(รองรับเฉพาะพร็อพเพอร์ตี้ qemu.*) - เมื่อสร้างโปรแกรมจำลองใน Windows โอกาสที่จะเห็น ความล้มเหลวที่ไม่แน่นอนในการเขียนไปยังไฟล์จะน้อยลง ดูข้อมูลเพิ่มเติมได้ที่วิธีการสร้างใน Windows
- ปิดใช้ปุ่มซูมสำหรับ AVD แบบพับได้ซึ่งทำให้เกิดปัญหา
- ตอนนี้โปรแกรมจำลองจะรายงานเวลาในการบูตที่มาจากการรีบูตอุปกรณ์ได้อย่างถูกต้องแล้ว
- Linux: ในกรณีที่สิทธิ์ KVM ไม่เพียงพอ ตอนนี้โปรแกรมจำลองจะพิมพ์วิธีการแก้ไขข้อบกพร่องได้รวดเร็วยิ่งขึ้น
- แก้ปัญหาที่โปรแกรมจำลองบูตอิมเมจระบบล่าสุดที่ไม่มีการเร่งความเร็วไม่ได้
- แก้ไขการเสียหายของหน่วยความจำหรือการขัดข้องเมื่อเริ่มต้นจากเครื่องตรวจหาการบูตเสร็จสมบูรณ์
- แก้ไขปัญหาหน่วยความจำรั่วไหลในระหว่างเซสชันการบันทึกหน้าจอเป็นเวลานาน
- อัปเดตไอคอนโปรแกรมจำลองให้สอดคล้องกับการสร้างแบรนด์ของ Studio 4.1
- เพิ่มการรองรับการตรวจหาเซสชันระยะไกลใน Windows ให้ดียิ่งขึ้น
การแก้ไข: กราฟิกและการถอดรหัสวิดีโอ
- แก้ไขปัญหาที่เกม Asphalt 9 เวอร์ชันล่าสุดแสดงผลเป็นหน้าจอสีดำ
- นำสแปมเกี่ยวกับการล้างบัฟเฟอร์ที่แมปด้วย
NULLออกแล้ว - แก้ไข Race Condition เมื่อล้างสถานะ Vulkan เมื่อแอป Vulkan ของแขกรับเชิญ ออก
- ตอนนี้เราได้รวม Shader การจำลอง 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 - เนื่องจากเราได้นำสำเนารุ่น D3D9 ของโปรแกรมแสดงผล ANGLE ออกไปเมื่อ 2-3 เวอร์ชันที่แล้ว ตอนนี้เราจึงเปลี่ยนผู้ใช้ที่ใช้โปรแกรมแสดงผลนั้นไปเป็น d3d11 ANGLE โดยอัตโนมัติด้วย หากมีการเลือก ในค่ากำหนด 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"
- แก้ไขปัญหาเกี่ยวกับอุปสรรคของไปป์ไลน์ที่ไม่จำเป็นในเท็กซ์เจอร์ที่บีบอัดจำลอง ใน 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
สำหรับการอัปเดตนี้ ความพยายามส่วนใหญ่ในโปรเจ็กต์ Marble ของเรามุ่งเน้นไปที่การลด การใช้ทรัพยากรของโปรแกรมจำลอง เช่น การลดการใช้ CPU ของโปรแกรมจำลองขณะที่ไม่ได้ใช้งาน นอกจากนี้ เรายังได้รวมการเปลี่ยนแปลงที่จะช่วยให้ทำงานกับโปรแกรมจำลองในสภาพแวดล้อมที่หลากหลายได้ง่ายขึ้น และได้แก้ไขปัญหาด้านคุณภาพทั่วไปแล้ว
ส่วนต่อไปนี้จะอธิบายการปรับปรุง Project Marble ที่รวมอยู่ในการอัปเดตนี้
การปรับปรุงลักษณะการทำงานของเสียงสำหรับโฮสต์
ตั้งแต่เวอร์ชัน 28.0.3 เป็นต้นไป โปรแกรมจำลองจะบล็อกอินพุตเสียง จากโฮสต์โดยค่าเริ่มต้น
หากต้องการใช้ข้อมูลเสียงของโฮสต์ คุณสามารถเปิดใช้ตัวเลือกดังกล่าวได้โดยไปที่ การควบคุมเพิ่มเติม > ไมโครโฟน แล้วเปิดใช้ไมโครโฟนเสมือนใช้เสียงนำเข้าของโฮสต์ ระบบจะปิดใช้ตัวเลือกนี้โดยอัตโนมัติทุกครั้งที่รีสตาร์ทโปรแกรมจำลอง
หากใช้บรรทัดคำสั่ง คุณยังเปิดใช้เสียงของโฮสต์ได้โดยใช้ตัวเลือก -allow-host-audio และใช้คำสั่ง ADB ต่อไปนี้เพื่อเปิดหรือปิดข้อมูลเสียงของโฮสต์ได้ตามลำดับ
adb emu avd hostmiconadb emu avd hostmicoff
การปรับปรุงสำหรับการสร้างโปรแกรมจำลองแบบไม่มีส่วนหัว
ตั้งแต่เวอร์ชัน 28.0.25 เป็นต้นไป โปรแกรมจำลองจะมีตัวเลือกการสร้างแบบไม่มีส่วนหัว ซึ่งเรียกใช้ได้โดยไม่ต้องใช้ UI คุณใช้บิลด์แบบไม่มีส่วนหัวเพื่อช่วยตั้งค่า โปรแกรมจำลองสำหรับเวิร์กโฟลว์ Docker และการรวมอย่างต่อเนื่อง (CI) ได้
ในการอัปเดตครั้งนี้ เราได้ปรับปรุงเพิ่มเติมเพื่อให้โปรแกรมจำลองทำงานได้โดยมีจำนวนการอ้างอิงขั้นต่ำ ใน Linux บิลด์แบบไม่มีส่วนหัวจะไม่รวมไลบรารี pulseaudio หรือ libX11 อีกต่อไป ไลบรารีที่ใช้ร่วมกันซึ่งขึ้นอยู่กับระบบที่ไม่ได้รวมอยู่ในแพ็กเกจกับโปรแกรมจำลองได้ลดลงเหลือรายการต่อไปนี้
Linux-vdso.so.1Libutil.so.1Libm.so.6Libdl.so.2Librt.so.1Libpthread.so.0Libgcc_s.so.1Libc.so.6ld-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 pauseadb 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 5554avd bugreport
- ในอิมเมจระบบ Android Q โปรแกรมจำลองจะเพิ่มขนาด RAM ขั้นต่ำเป็น 2 GB
- เพิ่มการบันทึกและการพิมพ์เมื่อใดก็ตามที่ OpenGL หรือ Hypervisor เริ่มต้นไม่สำเร็จ
- หากโปรแกรมจำลองเริ่มอินสแตนซ์
-read-onlyของ AVD พร้อมกันไม่ได้ ตอนนี้โปรแกรมจำลองจะพยายามเปิดใช้-read-onlyAVD อีก 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) - กาง:
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 = onGLDirectMem = on
การสนับสนุนเบื้องต้นสำหรับนักพัฒนา ROM
ตอนนี้ นักพัฒนา ROM ที่สร้างเป้าหมาย sdk_phone_x86 หรือ sdk_phone_x86_64
(userdebug, eng เวอร์ชัน) ในสาขา master ของ AOSP สามารถเรียกใช้โปรแกรมจำลองที่เปิดใช้ Vulkan ได้แล้ว
การรองรับนี้ยังอยู่ในขั้นทดลองและมีไว้สำหรับนักพัฒนาแอปที่ทำงานกับ
อิมเมจระบบ ไดรเวอร์ และเอนจินเกมเป็นหลัก ส่วนขยายหลายรายการยังคงขาดหายไป
อย่างไรก็ตาม HOST_COHERENTระบบรองรับหน่วยความจำแล้ว และตอนนี้คุณควรจะ
เรียกใช้ตัวอย่างบทแนะนำเกี่ยวกับ Vulkan API ได้
หากใช้ Linux คุณสามารถลองทำได้โดยใช้คำสั่งต่อไปนี้
mkdir aosp-mastercd aosp-masterrepo init -u https://android.googlesource.com/platform/manifest -b master --depth=1repo sync -c -j12. build/envsetup.shlunch sdk_phone_x86_64-userdebugmake -j12emulator -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 shellsusetprop debug.hwui.renderer skiavkstopstart
การรองรับ 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 พร้อมกับทรัพยากร Dependency ของไลบรารีที่ใช้ร่วมกัน (รวมถึงปัญหาอื่นๆ)
ในขั้นแรกเพื่อแก้ไขปัญหานี้ เราได้เปิดตัวโปรแกรมเปิดตัวโปรแกรมจำลองเวอร์ชันหนึ่งที่มีไฟล์ปฏิบัติการ 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 กับโปรแกรมจำลองได้อย่างปลอดภัยแล้ว หากพบปัญหาเกี่ยวกับโปรแกรมจำลอง "ไม่ได้รับอนุญาต" ให้ทำตาม
ขั้นตอนการแก้ปัญหาต่อไปนี้
- ออกจากโปรแกรมจำลองทั้งหมด
- ลบทั้งไฟล์
~/.android/adbkeyและ~/.android/adbkey.pub - เรียกใช้คำสั่งต่อไปนี้
adb kill-server - เรียกใช้คำสั่งต่อไปนี้
adb devices - ล้างข้อมูล AVD
- เปิดโปรแกรมจำลองอีกครั้ง
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%) ซึ่งเกิดจากการตรวจจับคำที่นิยม ที่ส่งคำสั่ง ping ไปยังโฮสต์อยู่ตลอดเวลา คุณไม่สามารถลดปัญหานี้ได้โดยการปิดใช้การป้อนข้อมูลเสียงของโฮสต์ เนื่องจากต้นทุน 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 แบบเพียร์ทูเพียร์ในโปรแกรมจำลอง
ตอนนี้โปรแกรมจำลอง 2 ตัวสามารถสื่อสารกันโดยตรงผ่าน Wi-Fi ได้หากใช้รูปภาพ Pie Play Store ล่าสุด
หากต้องการใช้ Wi-Fi แบบเพียร์ทูเพียร์ ให้เริ่ม AVD 2 ตัวด้วยอาร์กิวเมนต์
-wifi-server-portและ-wifi-client-portเดียวกันemulator @<server-avd-name> -wifi-server-port 9999emulator @<client-avd-name>-wifi-client-port 9999
- เพิ่มการรองรับเว็บแคมเพิ่มเติมใน Windows โดยการใช้ขนาดเฟรมที่ไม่รองรับ และปรับขนาดแบบไดนามิกให้พอดีกับการตั้งค่ากล้องใน Android Guest
28.0.16 (พฤศจิกายน 2018)
การอัปเดตนี้รวมถึงฟีเจอร์ใหม่หลายอย่าง การปรับปรุงฟีเจอร์ที่มีอยู่ และการแก้ไขข้อบกพร่อง
การใช้ทรัพยากร
ตอนนี้โปรแกรมจำลองใช้ RAM โดยรวมน้อยลง โดยเฉพาะเมื่อใช้อิมเมจระบบที่มีระดับ API 28 ขึ้นไป อิมเมจระบบเหล่านี้มีการใช้งานหน่วยความจำที่ได้รับการปรับปรุงสำหรับ ไดรเวอร์กราฟิกฝั่งแขก
นอกจากนี้ เรายังได้ปรับปรุงการใช้ทรัพยากรในด้านต่อไปนี้ด้วย
- ลดการใช้หน่วยความจำของโปรแกรมจำลองระหว่างการทดสอบที่ใช้เวลานาน หากยังคงพบปัญหาเกี่ยวกับการใช้หน่วยความจำระหว่างการทดสอบที่ใช้เวลานาน โปรดสร้างปัญหาที่อธิบาย Use Case ของคุณในเครื่องมือติดตามปัญหา
- ลดการใช้งาน CPU เมื่อเรียกใช้แอปที่มีภาพเคลื่อนไหว
- แก้ไขปัญหาที่บริบท QEMU AIO อาจรั่วใน Windows
เรียกใช้ AVD รายการเดียวหลายอินสแตนซ์พร้อมกัน
ตอนนี้คุณสามารถเปิดใช้ AVD เดียวกันหลายอินสแตนซ์และเรียกใช้พร้อมกันได้แล้ว อินสแตนซ์ที่คุณเปิดใช้หลังจากอินสแตนซ์แรกจะเป็นแบบอ่านอย่างเดียว และระบบจะทิ้งการเปลี่ยนแปลงดิสก์เสมือนของแขกเมื่อออก
หากต้องการเรียกใช้ AVD เดียวกันหลายอินสแตนซ์พร้อมกัน ให้เปิดอินสแตนซ์ใดก็ได้
หลังจากอินสแตนซ์แรกจากบรรทัดคำสั่งโดยใช้-read-onlyแฟล็ก
ฟีเจอร์นี้ทำงานได้โดยการคัดลอกไฟล์ QCOW2 ที่เชื่อมโยงกับส่วนที่เขียนได้ของอิมเมจ Android นอกจากนี้ เรายังได้รวมqemu-imgเครื่องมือบรรทัดคำสั่งเพื่อช่วยคุณจัดการพื้นที่ดิสก์ เพื่อให้คุณสามารถคอมมิตไฟล์ QCOW2 ล่วงหน้าก่อนที่จะเปิดใช้หลายอินสแตนซ์
นอกจากนี้ เมื่อใช้ร่วมกับฟีเจอร์สแนปชอต RAM ของเครื่องเสมือนที่สำรองข้อมูลในไฟล์ อินสแตนซ์ AVD หลายรายการจะแชร์สแนปชอต Quickboot ของ AVD หลักเป็นแหล่งที่มาทั่วไปของ RAM ของเครื่องเสมือนแบบคัดลอกเมื่อมีการแก้ไข คุณสมบัตินี้หมายความว่าอินสแตนซ์จะแชร์ RAM ส่วนใหญ่ร่วมกัน ใช้ฟีเจอร์นี้เพื่อทำการทดสอบที่ต้องใช้อุปกรณ์หลายเครื่องเพื่อเรียกใช้แบบคู่ขนาน
เรายินดีรับฟังความคิดเห็นของคุณเกี่ยวกับกรณีการใช้งานที่เป็นไปได้ซึ่งเป็นส่วนหนึ่งของเวิร์กโฟลว์แบบอินเทอร์แอกทีฟหรือ CI ปกติ โปรดสร้างหรือโหวตปัญหาใน Issue Tracker
สแนปชอต RAM ของเครื่องเสมือนที่สำรองข้อมูลไว้ในไฟล์
การจัดสรรและแมป RAM ของแขกรับเชิญเป็นไฟล์ล่วงหน้าทำให้ตอนนี้โปรแกรมจำลองสามารถบันทึกสแนปชอต Quickboot ในระหว่างรันไทม์ได้ แทนที่จะทำงานทั้งหมดเมื่อออกจากระบบ หาก คุณพบว่าใช้เวลานานในการบันทึกเมื่อปิดโปรแกรมจำลอง ให้เปิดใช้ฟีเจอร์นี้เพื่อปรับปรุงประสิทธิภาพ Quickboot โดยค่าเริ่มต้น ระบบจะบันทึกภาพรวม Quickboot เมื่อออก และโหลดอีกครั้งทุกครั้ง เหมือนกับการระงับและ ปลุกอุปกรณ์จริง
เนื่องจากตอนนี้ระบบจะบันทึก RAM ของแขกรับเชิญใน Android โดยอัตโนมัติเป็นค่าเริ่มต้น หากต้องการกำหนด สถานะอุปกรณ์และโหลดจากสถานะนั้นซ้ำๆ คุณต้องบอกให้โปรแกรมจำลอง ทิ้งการเปลี่ยนแปลงหลังแต่ละเซสชัน โดยทำได้ดังนี้
- ใช้ Flag
-no-snapshot-saveหรือ-read-onlyเมื่อเปิดโปรแกรมจำลอง จากบรรทัดคำสั่ง - ไปที่การควบคุมเพิ่มเติม > สแนปชอต > การตั้งค่า แล้วเปลี่ยนบันทึกสถานะปัจจุบันเป็น Quickboot โดยอัตโนมัติไหมเป็นไม่
- คุณจะต้องรีสตาร์ทโปรแกรมจำลองหลังจากเลือกตัวเลือกนี้ หากตั้งค่าโปรแกรมจำลองให้บันทึกอัตโนมัติ คุณจะเรียกใช้คำสั่งต่อไปนี้เพื่อตั้งค่า
จุดตรวจสอบได้
หลังจากเรียกใช้คำสั่งนี้แล้ว สแนปชอต Quickboot ของโปรแกรมจำลองจะอยู่ที่จุดตรวจสอบนั้น เรียกใช้คำสั่งเดิมอีกครั้งเพื่อโหลดโปรแกรมจำลองจากจุดตรวจสอบadb emu avd snapshot remap 0
สแนปชอตที่ถ่ายและโหลดผ่านฟังก์ชัน 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 ดังนี้
- https://wiki.qemu.org/ChangeLog/2.10
- https://wiki.qemu.org/ChangeLog/2.11
- https://wiki.qemu.org/ChangeLog/2.12
การเปลี่ยนแปลงที่สำคัญบางอย่างซึ่งส่งผลต่อโปรแกรมจำลองของ 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>/*
- Windows:
- หากโปรแกรมจำลองเริ่มต้นไม่ได้เนื่องจากมี 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 ควร พร้อมใช้งานในช่องทาง Stable อยู่แล้ว และยังติดตั้งด้วยตนเองได้จาก 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 เป็นเมกะไบต์
โปรดสร้างปัญหาใน เครื่องมือติดตามปัญหา
คุณจะดูไฟล์ 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 Emulator เพื่อเรียกใช้แอปพลิเคชัน Augmented Reality ที่สร้างด้วย ARCore ได้ ดูข้อกำหนดและวิธีการโดยละเอียดได้ที่หัวข้อเรียกใช้แอป AR ในโปรแกรมจำลองของ Android
27.1.10 (กุมภาพันธ์ 2018)
ความละเอียดในการบันทึกภาพด้วยกล้อง
ตอนนี้คุณสามารถจับภาพเฟรม 720p จากเว็บแคมที่ต่ออยู่ได้แล้ว
หากต้องการใช้กับอิมเมจระบบ Android 8.1 (API ระดับ 27) ขึ้นไป เว็บแคมที่เชื่อมต่อจะต้องมีความสามารถในการจับภาพเฟรม 720p
จำนวนช่องโหว่ที่แก้ไขได้
- แก้ไขปัญหาที่ทำให้การจับภาพจากเว็บแคมบางครั้งแสดงผลเป็นภาพที่บิดเบี้ยว หรือเป็นสีเขียวทั้งหมด
- แก้ไขปัญหาที่ทำให้เห็นข้อความต่อไปนี้แม้ในกรณีที่ไม่มีการแฮงก์จริง "โปรแกรมจำลอง: ข้อผิดพลาด: ตรวจพบเธรดที่ค้าง "Qt event loop" ไม่มีการตอบสนองเป็นเวลา 15000 มิลลิวินาที"
หากยังคงพบปัญหาการค้างหรือความไม่เสถียรอื่นๆ โปรดรายงานปัญหา
27.1.7 (กุมภาพันธ์ 2018)
หน้าต่างโปรแกรมจำลองแบบไร้กรอบ
ตอนนี้โดยค่าเริ่มต้น โปรแกรมจำลองที่มีไฟล์สกินของอุปกรณ์จะแสดงโดยไม่มี กรอบหน้าต่างล้อมรอบ หากต้องการแสดงกรอบหน้าต่างรอบๆ ให้เปิดใช้แสดงกรอบหน้าต่างรอบอุปกรณ์ในแผงการตั้งค่าของหน้าต่างการควบคุม เพิ่มเติม
การปรับปรุงการเปิดเครื่องอย่างรวดเร็วเพื่อให้การทำงานกับ 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 หากพบปัญหาเกี่ยวกับ Hypervisor.framework โดยเฉพาะ โปรดส่งรายงานข้อบกพร่องและต่อท้าย
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 Hypervisor
- แก้ไขปัญหาที่โปรแกรมจำลองจะขัดข้องเมื่อเริ่มต้นใน การกำหนดค่า Linux บางอย่าง
26.1.2 (กรกฎาคม 2017)
รุ่นนี้มีฟีเจอร์ใหม่และการปรับปรุงประสิทธิภาพ
เพิ่มความสามารถในการกำหนดค่าพร็อกซี HTTP ที่กำหนดเองใน ส่วนควบคุมเพิ่มเติม (คลิกเพิ่มเติม
จากนั้นคลิกการตั้งค่าและ
พร็อกซี) โดยค่าเริ่มต้น โปรแกรมจำลองจะใช้การตั้งค่าพร็อกซี HTTP ของ Android Studio
แต่หน้าจอนี้จะช่วยให้คุณกำหนดค่าพร็อกซีด้วยตนเองได้
เพิ่มการรองรับ VNC สำหรับ GPU ในโหมดผู้มาเยือนเพื่อให้ดูและควบคุมโปรแกรมจำลองจากระยะไกลได้ เช่น คุณสามารถเปิดโปรแกรมจำลองและอนุญาตให้ VNC รับฟังพอร์ต 5901 ได้ดังนี้
- ดำเนินการ:
emulator -gpu guest -avd avd_name -no-window -qemu -vnc :1 เปิดโปรแกรมดู VNC เช่น tightvnc viewer เพื่อเชื่อมต่อกับพอร์ต 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
- หากพบปัญหาเกี่ยวกับ OpenGL ES 3 ให้เพิ่มบรรทัด
ตอนนี้โปรแกรมจำลองใช้ 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 ของเดสก์ท็อปที่สอดคล้องกัน
ตอนนี้โปรแกรมจำลองจะผ่าน 100% ของ dEQP-GLES2 ของ Android CTS
mustpasslist ฟีเจอร์นี้เปิดตัวแล้วสำหรับอิมเมจ 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. และจดทะเบียนเป็นเครื่องหมายการค้าในจีน สหภาพยุโรป ญี่ปุ่น และสหราชอาณาจักร