โปรแกรมจำลองของ Android รวมอยู่ใน Android Studio
โปรแกรมจำลองเวอร์ชันก่อน 25.3.0 ได้รับการเผยแพร่เป็นส่วนหนึ่งของ Android SDK Tools
หากต้องการตรวจสอบว่าคุณมีเวอร์ชันล่าสุด ให้ดูการอัปเดตในเครื่องมือจัดการ SDK
หากต้องการดาวน์โหลดโปรแกรมจำลองของ Android เวอร์ชันก่อนหน้า โปรดดูที่เก็บถาวรการดาวน์โหลดโปรแกรมจำลอง
ดูบันทึกประจำรุ่นของโปรแกรมจำลองเวอร์ชันก่อน 25.3.0 ได้ที่บันทึกประจำรุ่นของ Android SDK Tools
หากต้องการดูว่าปัญหาใดได้รับการแก้ไขแล้วในโปรแกรมจำลองของ Android เวอร์ชันล่าสุด โปรดดูปัญหาที่ปิดแล้ว
ดูปัญหาที่ทราบและการแก้ปัญหาได้ที่การแก้ปัญหาเกี่ยวกับโปรแกรมจำลอง
โปรแกรมจำลองของ Android รุ่นถัดไป (เวอร์ชันตัวอย่าง)
ตั้งแต่ Android Studio Rabbit 3 Canary 1 เป็นต้นไป ตัวอย่างโปรแกรมจำลองของ Android รุ่นถัดไปจะพร้อมใช้งานและใช้โดยค่าเริ่มต้นสำหรับอุปกรณ์เสมือนจริงที่มีสิทธิ์
การอัปเกรดจาก QEMU 2 Fork เดิมเป็น QEMU (v11+) อัปสตรีมที่ทันสมัย เครื่องมือใหม่นี้มีการแยกกระบวนการของเครื่องมือ/UI ที่ออกแบบมาเพื่อคุณภาพสูงขึ้นและประสิทธิภาพที่สูงขึ้น
นักพัฒนาแอปจะได้รับประโยชน์จากสิ่งต่อไปนี้
- เวลาเปิดเครื่องเร็วขึ้นและลดค่าใช้จ่ายในการประมวลผล CPU/หน่วยความจำ
- ปรับปรุงความเสถียรของเซสชันโดยใช้กระบวนการ UI และเครื่องมือที่แยกต่างหาก
- การจำลองเสมือนที่ทันสมัยพร้อมโมเดลฮาร์ดแวร์ virtio ที่อัปเดตและกราฟิก Vulkan
หากต้องการเริ่มต้นใช้งาน ให้สร้าง AVD ของโทรศัพท์ที่ใช้ระดับ API 37.0 ขึ้นไป แล้วเปิดใช้งานจาก Android Studio Canary AVD ที่มีอยู่จะยังคงทำงานได้อย่างราบรื่นในโปรแกรมจำลองแบบคลาสสิกในตอนนี้
37.2.12 เวอร์ชันเสถียร (1 ต.ค. 2026)
[แก้ไขข้อบกพร่อง]ปัญหา #537802959 macOS (Apple Silicon): gRPC streamScreenshot ที่มี ImageTransport MMAP ทำให้เครื่องมือจำลองขัดข้อง / ไม่เขียนเฟรมโดยไม่มีการแจ้งเตือน
[แก้ไขข้อบกพร่อง]ปัญหา #507078580 โปรแกรมจำลองป้องกันไม่ให้ macOS เข้าสู่โหมดสลีป
[แก้ไขข้อบกพร่อง]ปัญหา #506475581 แก้ไขปัญหาเสียงผิดเพี้ยนที่ยังคงอยู่และเสียงแตกเมื่อเริ่มต้นระบบใน macOS เมื่อใช้อินเทอร์เฟซเสียงที่มีมากกว่า 2 ช่องสัญญาณ (Loopback, หลายเอาต์พุต)
37.1.11 เวอร์ชันเสถียร (30 ก.ค. 2026)
ไดรเวอร์ไฮเปอร์ไวเซอร์ของโปรแกรมจำลองของ Android (AEHD) จะหยุดให้บริการในวันที่ 31 ธันวาคม 2026 เพื่อช่วยในการเปลี่ยนผ่าน ตอนนี้ Android Studio จะช่วยผู้ใช้ Windows แปลงจาก AEHD เป็น Windows Hypervisor Platform (WHPX) ดูข้อมูลเกี่ยวกับการกำหนดค่าการเร่งความเร็ว VM โดยใช้ WHPX ได้ที่หัวข้อกำหนดค่าการเร่งความเร็ว VM โดยใช้ WHPX

เพิ่ม AVD ของ Pixel 10a แล้ว
เพิ่มการรองรับส่วนขยาย Vulkan ใหม่ที่จำเป็นสำหรับการเรียกใช้ API 37 System Image
[แก้ไขข้อบกพร่อง]ปัญหา #324465986 ไม่มีข้อผิดพลาดเกี่ยวกับพื้นที่เก็บข้อมูลไม่เพียงพอเมื่อถ่ายภาพสแนปชอตในโปรแกรมจำลองที่ไม่มีพื้นที่ว่าง
[แก้ไขข้อบกพร่อง]ปัญหา #526671872 รองรับคำต่อท้ายหน่วย (เช่น "6G", "32M") สำหรับการกำหนดค่า RAM ของ AVD และขนาดฮีปของ VM ใน config.ini
[แก้ไขข้อบกพร่อง]ปัญหา #325814592 ปัญหาที่พบใน macOS 14 ซึ่งโปรแกรมจำลองเริ่มค้างและทำงานช้ามากหลังจากเริ่มกล้อง
36.6.11 เวอร์ชันเสถียร (2 มิ.ย. 2026)
ตั้งแต่ API 37 เป็นต้นไป หน่วยความจำ (RAM) ขั้นต่ำที่ VM ของ AVD ใช้จะเพิ่มขึ้นเป็น 4 GB
อุปกรณ์เสมือน Android (AVD) ของโทรศัพท์ต้องมี RAM ขั้นต่ำ 4 GB เพื่อรองรับความต้องการหน่วยความจำที่สูงขึ้นของ Android 17 (API 37) หากกำหนดค่า AVD ให้มีหน่วยความจำน้อยกว่านี้ โปรแกรมจำลองจะเขียนทับการตั้งค่าโดยอัตโนมัติเพื่อจัดสรรหน่วยความจำอย่างน้อย 4 GB เพื่อป้องกันปัญหาที่อาจเกิดขึ้นระหว่างรันไทม์
เพิ่มโหมดกล้อง "สภาพแวดล้อม" ลงในโปรแกรมจำลองสำหรับพื้นหลังฉากเสมือนที่กำหนดค่าได้ ฉากเหล่านี้กำหนดไว้ในไฟล์ environment.ini ของ AVD และสามารถโหลดซ้ำแบบไดนามิกได้ที่รันไทม์
แก้ไขข้อบกพร่องที่ตัวอย่างภาพรวมในโปรแกรมจำลองแบบสแตนด์อโลนไม่ถูกล้างหลังจากลบภาพรวมแล้ว
[แก้ไขข้อบกพร่อง]ปัญหา #506475581 เสียงของโปรแกรมจำลองผิดเพี้ยนอย่างรุนแรงใน macOS เมื่อใช้อินเทอร์เฟซเสียงที่มีมากกว่า 2 ช่อง (Loopback, เอาต์พุตหลายช่อง)
[แก้ไขข้อบกพร่อง]ปัญหา #516455370 แก้ไขปัญหาหน่วยความจำรั่วไหลที่สำคัญใน macOS 26.3 เมื่อปิดโปรแกรมจำลอง ซึ่งเกี่ยวข้องกับการล้างทรัพยากรที่ใช้โดย API ของ Hypervisor.framework
แพตช์ 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 เวอร์ชันล่าสุดในเครื่องมือจัดการ SDK ของ Android Studio ดูข้อมูลเพิ่มเติมในเอกสารประกอบได้ที่นี่
ฟีเจอร์เพิ่มเติมและการแก้ไขข้อบกพร่อง
เพิ่ม 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)
เพื่อปรับปรุงการเลือก GPU ภายในอินเทอร์เฟซผู้ใช้ ตัวควบคุมเพิ่มเติมของโปรแกรมจำลองของ Android จึงมีตัวเลือกฮาร์ดแวร์และซอฟต์แวร์ที่เฉพาะเจาะจงแล้ว สำหรับผู้ใช้บรรทัดคำสั่ง ตอนนี้คุณสามารถใช้ตัวเลือก "-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 คุณจะเห็นแบนเนอร์รายงานว่าไม่มี Hypervisor และลิงก์การดำเนินการเพื่อติดตั้ง 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
XR AVD สามารถเรียกใช้แบบฝังในหน้าต่างที่ใช้ Android Studio ได้
การปรับปรุงรายละเอียดรายงานข้อขัดข้องใน Windows เพื่อเปิดใช้การดัมพ์ทั้งหมดของโปรแกรมจำลอง
[แก้ไขข้อบกพร่อง]ปัญหา #410485043 โปรแกรมจำลองของ Android อุปกรณ์ XR ขัดข้องพร้อมข้อผิดพลาด Vulkan
[แก้ไขข้อบกพร่อง]ปัญหา #388718417 libndk_translation.so ยกเลิกและทำให้เกิดข้อขัดข้องใน Arm64AesEncode
35.5.10 เวอร์ชันเสถียร (6 พ.ค. 2025)
เพิ่มการตรวจสอบความเข้ากันได้ของ CPU เพิ่มเติมพร้อมข้อความแสดงข้อผิดพลาด (เช่น พื้นที่ในดิสก์ไม่เพียงพอ)
แก้ไขข้อบกพร่องที่เกี่ยวข้องกับการจัดการหน่วยความจำ Vulkan และ Use Case ที่ไม่ถูกต้อง
ระบบจะตรวจสอบและข้ามการรองรับสแนปชอต 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
หมายเหตุ: โปรแกรมจำลอง 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 ได้รับการทดสอบกับการกำหนดค่าฮาร์ดแวร์ต่อไปนี้
- Mac (ARM)
- Windows 11
- nVidia GPU, 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
โปรแกรมจำลอง - การจำลองระนาบและ Anchor:
- บางครั้ง Anchor จะไม่เกิดใหม่ใกล้กับตำแหน่งเดิม
- แผงที่เคลื่อนย้ายได้อาจไม่ยึดติดกับผนังหรือเพดาน
- ระนาบจำลองไม่ตรงกับเลย์เอาต์ทางกายภาพของห้อง 3 มิติในโหมดส่งผ่าน
- พื้นที่จำกัดโดยรวมในการยึดวัตถุในห้องเสมือนจริง
- อาร์ติแฟกต์ขนาดเล็กที่มองเห็นได้ในมุมมองการแสดงภาพบน Windows
- ในบางกรณี การวาง Anchor อาจทำให้แอปขัดข้อง
- เส้นสีดำอาจปรากฏที่ด้านบนของแอปเมื่อย้ายแอปไปใกล้กับพื้นใน Windows
โปรแกรมจำลอง - อื่นๆ:
- โปรแกรมจำลองจะเริ่มทำงานในโหมด "สแตนด์อโลน" เท่านั้น ระบบยังไม่รองรับโหมด "ฝัง" (UI แบบฝัง)
- การเข้าสู่ระบบด้วยบัญชีในโปรแกรมจำลองบน Windows อาจทำให้โปรแกรมจำลองหยุดตอบสนอง
- เนื้อหา UI ของหน้าต่างอาจหายไปหลังจากปรับขนาด (วิธีแก้ปัญหาชั่วคราว: กดปุ่ม "หน้าแรก")
- ในแอป JXRCore ActivityPanelTest แผงรองจะไม่แสดงในตอนแรก
- รายการการตั้งค่าด่วนอาจหายไปจากการตั้งค่าระบบหลังจากผ่านไประยะหนึ่ง
- UI ของโปรแกรมจำลองอาจปรากฏนอกขอบเขตหน้าจอในตอนแรก หากเป็นเช่นนั้น ให้ปรับขนาดหน้าต่างโปรแกรมจำลองเล็กน้อย แล้วหน้าต่างควรจะกลับเข้าที่
- โปรแกรมจำลองอาจไม่เริ่มทำงานเมื่อใช้ Chrome Remote Desktop ใน Windows
- ขณะนี้โปรแกรมจำลองยังไม่รองรับ OpenXR และแอป OpenXR อาจทำให้โปรแกรมจำลองขัดข้อง
- ข้อผิดพลาดที่เกิดขึ้นไม่บ่อยนักเมื่อพยายามส่งรายงานข้อบกพร่องโดยใช้การตั้งค่าเพิ่มเติมของ Android Studio ใน Windows
- ไอคอน "ย้อนกลับ" ไม่แสดงอย่างถูกต้องในแอปการตั้งค่าจนกว่าเคอร์เซอร์จะวางเมาส์เหนือไอคอนดังกล่าวบน Mac
- ในบางกรณี การสร้างอาจเกิดข้อผิดพลาดเมื่อใช้โมดูล "โปรไฟล์พื้นฐาน" เป็นส่วนหนึ่งของโปรเจ็กต์เทมเพลต XR
- การช่วยเหลือพิเศษ "XR Talkback" ยังผสานรวมกับโปรแกรมจำลองเพียงบางส่วนเท่านั้น
แอป 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 เวอร์ชันเสถียร
- อัปเดตเป็น Qt 6.5.3
- ความเข้ากันได้สำหรับการอัปเดต Google Maps API ที่ใช้ในฟีเจอร์ตำแหน่งในการควบคุมเพิ่มเติมของโปรแกรมจำลอง ซึ่งจะเกิดขึ้นในช่วงปลายเดือนพฤษภาคม
- การแก้ไขข้อขัดข้องที่มีผลกระทบสูง
- การแก้ไขต่างๆ ใน Pixel AVD
- อัปเดตไลบรารีกราฟิกที่ใช้สำหรับการแสดงผลซอฟต์แวร์
- [แก้ไขข้อบกพร่อง]ปัญหา 225541819 การเปิด Chrome ทำให้โปรแกรมจำลองขัดข้องใน x86_64
- [แก้ไขข้อบกพร่อง]ปัญหา 314614435 แยกวิเคราะห์สวิตช์
-http-proxyไม่ถูกต้อง
34.1.20 (1 เมษายน 2024)
ทดสอบกับ Android Studio Iguana เวอร์ชันเสถียร
- [แก้ไขข้อบกพร่อง] ปัญหา #314614435: แก้ไขปัญหาที่ระบบแยกวิเคราะห์สวิตช์
-http-proxyไม่ถูกต้อง
34.1.19 (7 มีนาคม 2024)
ทดสอบกับ Android Studio Iguana เวอร์ชันเสถียร
- [แก้ไขข้อบกพร่อง] ปัญหา #312677259: แก้ไขหน้าจอค้างในโปรแกรมจำลองแบบฝังหลังจากปรับขนาดหน้าต่าง
34.1.18 (29 ก.พ. 2024)
ทดสอบกับ Android Studio Iguana เวอร์ชันเสถียร
- เพิ่มอุปกรณ์ต่อไปนี้ลงในโปรแกรมจำลองแล้ว
- Pixel Fold
- Pixel Tablet
- Pixel 8
- Pixel 8 Pro
- Pixel 7a
- การทดสอบการผสานรวม gRPC: ตอนนี้ปลายทาง gRPC พร้อมใช้งานสำหรับการทดสอบที่มีการวัดคุมซึ่งทำงานภายในโปรแกรมจำลอง ซึ่งจะช่วยให้ทดสอบสถานการณ์จริงได้ ฟีเจอร์นี้ช่วยให้นักพัฒนาแอปโต้ตอบกับปลายทาง gRPC ที่โฮสต์โดยโปรแกรมจำลองของ Android ได้อย่างปลอดภัยจากภายในการทดสอบการวัดคุมของ Android
- การแก้ไขข้อบกพร่องหลายรายการ
- แก้ไขข้อบกพร่อง: ปรับปรุงความสามารถในการใช้งานอุปกรณ์แบบพับได้
- การแก้ไขข้อบกพร่อง: ปรับตำแหน่งของโปรแกรมจำลองหลังจากการหมุน
- การแก้ไขข้อขัดข้อง
33.1.24 (28 ธ.ค. 2023)
ทดสอบกับ Android Studio Hedgehog เวอร์ชันเสถียรและ Iguana เวอร์ชันเบต้า 1
- แก้ไขปัญหาเว็บแคมของโปรแกรมจำลองที่ไม่อนุญาตให้บันทึกหน้าจอในรูปแบบ MP4
- แก้ไขข้อขัดข้องของโปรแกรมจำลองใน Pixel Fold AVD เมื่อกางออกระหว่างการบันทึกหน้าจอ
- แก้ไขปัญหาที่ Pixel Fold แสดงสกินโทรศัพท์ที่แตกต่างออกไปพร้อมแป้นพิมพ์ที่แยกออกมาและใช้งานไม่ได้ (แก้ไขใน Windows, Mac Intel และ Linux)
- แก้ไขข้อบกพร่องในลักษณะที่ปรากฏในเซ็นเซอร์เสมือนในโหมดสแตนด์อโลน (แก้ไขใน Windows, Mac Intel และ Linux)
- แก้ไขข้อขัดข้องบางอย่าง โดยเฉพาะขณะปิดโปรแกรมจำลอง
33.1.23 (30 พ.ย. 2023)
ทดสอบด้วย Android Studio Giraffe Patch 4 และ Hedgehog เวอร์ชันเสถียร
- การติดตั้งใช้งานอุปกรณ์แบบพับได้ใหม่เพื่อจำลองอุปกรณ์ 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 สำหรับเซ็นเซอร์ในโปรแกรมจำลอง 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 เวอร์ชันเสถียร
- แก้ไขการวางแนวและการบิดเบี้ยวของกล้องในโปรแกรมจำลอง
- [แก้ไขข้อบกพร่อง] ปัญหา #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
- ปิดใช้การใช้ลิงก์สัญลักษณ์ขณะแตกไฟล์ ZIP ของโปรแกรมจำลองของ 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 Beta 1
การอัปเดตนี้มีการปรับปรุงและการแก้ไขต่อไปนี้
- [แก้ไขข้อบกพร่อง] ปัญหา #247843000: ข้อผิดพลาดในการจัดการ Relative Path ของ AVD
- เพิ่มขนาดดิสก์สำหรับ API 24 ขึ้นไป
31.3.11 (23 กันยายน 2022)
ทดสอบกับ Android Studio Dolphin และ Electric Eel Canary 10
การอัปเดตนี้มีการปรับปรุงและการแก้ไขต่อไปนี้
- [แก้ไขข้อบกพร่อง] AVD ของโปรแกรมจำลองที่ฝังขัดข้องในหน้าต่างการควบคุมเพิ่มเติม
- [แก้ไขข้อบกพร่อง] ปัญหา #183139207: ปัญหาเกี่ยวกับเสียงที่เชื่อมโยงกับโปรแกรมจำลองที่เปิดใช้งานไมโครโฟน
- [แก้ไขข้อบกพร่อง] ปัญหา #229764024: ข้อบกพร่องเกี่ยวกับการแตะค้างใน AVD ซึ่งส่งผลให้เกิดปัญหาเกี่ยวกับลักษณะการทำงานของ UI
- [แก้ไขข้อบกพร่อง] ข้อผิดพลาดในการเปิดใช้ API 33 AVD บน 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 Emulator เพื่อรองรับเซ็นเซอร์ Android มาตรฐาน
- เชื่อมต่อโปรแกรมจำลองกับอุปกรณ์ต่อพ่วงและอุปกรณ์ต่างๆ โดยใช้ USB ที่มีฟีเจอร์ USB Pass Through
30.4.5 (23 กุมภาพันธ์ 2021)
การอัปเดตนี้มีการปรับปรุงและการแก้ไขต่อไปนี้
- macOS: แก้ไขปัญหาเสียงที่ป้อนผิดเพี้ยน
- เพิ่มการรองรับ virtio-vsock ในพื้นที่ผู้ใช้
- อิมเมจระบบในอนาคตจะใช้ virtio-console สำหรับข้อความ logcat และเคอร์เนล
- เร่งความเร็วในการแสดงผล Vulkan
- เพิ่มการรองรับการแก้ไขข้อบกพร่องของสแนปชอตเมื่อการทดสอบไม่สำเร็จ
- virtio-gpu: อัปเดตคำจำกัดความเพื่อรองรับ enum ของทรัพยากร 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ตอนนี้อุปกรณ์แบบพับได้ยังมีพารามิเตอร์ประเภทย่อยด้วย พร็อพเพอร์ตี้
hw.sensor.hinge.sub_type = hinge/foldของconfig.iniเผยแพร่แล้ว อ่านข้อมูลเพิ่มเติมได้ที่บล็อกโพสต์การพัฒนาสำหรับ Android 11 ด้วยโปรแกรมจำลองของ Androidตอนนี้ระบบจะเปิดใช้เซ็นเซอร์บานพับโดยค่าเริ่มต้น
หากมีการกำหนดค่าอุปกรณ์แบบพับได้ ตอนนี้โปรแกรมจำลองจะส่งการอัปเดตเซ็นเซอร์มุมบานพับและการเปลี่ยนแปลงท่าทางไปยังผู้ใช้ทั่วไป ตอนนี้อุปกรณ์แบบพับได้ที่มีอยู่จะอัปเดตมุมและท่าทางของเซ็นเซอร์บานพับเมื่อกดปุ่มพับหรือกางออกของแถบเครื่องมือ

โปรแกรมจำลองสำหรับโฮสต์ ARM64
ตอนนี้ซอร์สโค้ดของโปรแกรมจำลอง Linux รองรับการคอมไพล์แบบข้ามระบบจากโฮสต์ x86_64 ไปยัง arm64 แล้ว ซึ่งช่วยให้เรียกใช้อิมเมจระบบ arm64 ด้วยระบบเสมือนจริง KVM ได้ ปัจจุบันระบบรองรับเฉพาะ
-gpu swiftshader_indirect(การแสดงผลโฮสต์ Swiftshader arm64) แต่คุณยังใช้ชุดไลบรารี GPU libEGL/libGLESv2 ของโฮสต์ที่เข้ากันได้โดยแทนที่ 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 ที่กำลังจะเปิดตัว
- เนื่องจากวิธีการทำงานของการแสดงผลโปรแกรมจำลอง ตอนนี้เราจึงประมวลผล virtio-gpu virtqueue ในเธรด vcpu (เนื่องจากการแสดงผลถูกถ่ายโอนไปยังเธรดอื่นๆ อยู่แล้ว) การแสดงผล virtio-gpu จะเปิดใช้ในอิมเมจระบบและเวอร์ชันโปรแกรมจำลองในอนาคต
- ในอิมเมจระบบในอนาคต โปรแกรมจำลองจะเรียกใช้กราฟิกทั้งหมดด้วยสแต็กที่ใช้ virtio-gpu ได้
ฟีเจอร์ใหม่และการเพิ่มประสิทธิภาพอื่นๆ
- ตอนนี้การปล่อยผ่านสัญญาณ USB พร้อมใช้งานใน Windows โดยใช้
-qemu -usb -device usb-host,vendorid=<usb-vendor-id>,productid=<usb-product-id>แล้ว (ซึ่งควรจะใช้งานได้บน Linux และ macOS อยู่แล้ว) - อัปเดตไลบรารี WebRTC เป็น M83
- ตอนนี้โปรแกรมจำลองรองรับการสตรีมเสียงในคอนเทนเนอร์ผ่าน WebRTC แล้ว
- นำปลายทางไปป์ darwinn ออกแล้ว
- ตอนนี้การถอดรหัส CUDA VPx สำหรับวิดีโอพร้อมใช้งานแล้ว หากการถอดรหัส CUDA VPx พร้อมใช้งานในฮาร์ดแวร์ผ่านตัวแปรสภาพแวดล้อม
ANDROID_EMU_MEDIA_DECODER_CUDA_VPX=1 - ใน macOS ตอนนี้ SSE 4.1 และ 4.2 พร้อมใช้งานจากภายใน Android Guest แล้ว
- ใน macOS ตอนนี้ INVTSC จะเปิดใช้อยู่โดยค่าเริ่มต้น ซึ่งจะช่วยปรับปรุงความแม่นยำของการวัดเวลาจากผู้มาเยือน
- ตอนนี้เราจะติดตามแผงควบคุมแบบขยายที่ผู้ใช้เลือกในเมตริก
- ตอนนี้โปรแกรมจำลอง Linux จะใช้นาฬิกาแบบพาราเวอร์ชวลไลเซชันของ KVM เมื่อเวอร์ชันเคอร์เนลของเกสต์เป็น >= 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 NoDeviceหรือหากต้องการล็อกไว้ ให้เพิ่มNoDeviceFrame = onลงใน~/.android/advancedFeatures.ini(สร้างไฟล์นี้หากยังไม่มี)เพิ่มรายการแบบเลื่อนลงในหน้าเครือข่ายมือถือเพื่อเปิดและปิดการรองรับการวัดปริมาณข้อมูล ซึ่งจะไม่มีผลกับอิมเมจระบบรุ่นเก่าที่ไม่รองรับปุ่มเปิด/ปิดการวัดปริมาณข้อมูล 5G
- นอกจากนี้ยังเพิ่มคำสั่งคอนโซลเพื่อวัตถุประสงค์เดียวกันด้วย:
gsm meter on|off
- นอกจากนี้ยังเพิ่มคำสั่งคอนโซลเพื่อวัตถุประสงค์เดียวกันด้วย:
อัปเกรด Toolchain / บิลด์เป็น 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 Anti-Cheat และแสดงข้อความเตือนหากตรวจพบ Vanguard
- แก้ไขข้อผิดพลาด
FD_SETSIZEใน Windows แล้ว ตอนนี้เราใช้WSAEventSelect()แทนselect()เพื่อสร้างการเชื่อมต่อแบบไม่บล็อกกับเซิร์ฟเวอร์ Loopback - เพิ่มการรองรับฟีเจอร์ F16C CPUID ลงในโปรแกรมจำลอง Linux พร้อมแก้ไขปัญหาการเรียกใช้แอปพลิเคชัน ARM64 บางแอปผ่านการแปล NDK ส่วน macOS/Windows อยู่ระหว่างดำเนินการ
- แก้ไขการเล่นเส้นทาง GPX/KML ให้เป็นไปตามการประทับเวลา
- แก้ไขไอคอนที่เด้งขึ้นมาเมื่อเปิดใช้งานสำหรับ MacOs
- หาก
hw.audioInput=noและhw.audioOutput=noในconfig.iniเสียงของโปรแกรมจำลองจะปิดใช้อย่างถูกต้องแล้ว - แก้ไขปัญหาที่หากหน้าต่างโปรแกรมจำลองถูกย่อขณะที่หน้าต่างการควบคุมเพิ่มเติมเปิดอยู่แต่ไม่ได้ใช้งาน หน้าต่างการควบคุมเพิ่มเติมจะยังคงแสดงขึ้นเมื่อปรับขนาดหน้าต่างโปรแกรมจำลอง เราจะนําลักษณะการทำงานนี้ (กรณีที่มีหน้าต่างการควบคุมแบบขยายที่ใช้งานอยู่) ออกโดยสมบูรณ์ในการอัปเดตในอนาคต
- แก้ไขข้อบกพร่องที่ทำให้ Wi-Fi ไม่เชื่อมต่อเมื่อโปรแกรมจำลองเริ่มทำงาน
- แก้ไขปัญหาการค้างเมื่อออกจากระบบเมื่อโปรแกรมจำลองออกคำสั่ง Shell ที่มีระยะหมดเวลาที่ยาวนานหรือไม่แน่นอน
- อัปเดต pc-bios พร้อมการแก้ไขเพื่อรองรับรูปภาพขนาดใหญ่ที่ส่งไปยัง
-initrdได้ดียิ่งขึ้น BIOS ก่อนหน้านี้ใช้วิธีที่ไม่มีประสิทธิภาพอย่างมาก - แก้ไขข้อขัดข้องระหว่างการสิ้นสุดเมื่อใช้ตัวเลือก
-wifi-server-port - ตอนนี้โปรแกรมจำลองจะแสดงคำเตือนหากมีการส่งตัวเลือกที่ไม่รองรับไปยัง
-prop(รองรับเฉพาะพร็อพเพอร์ตี้ qemu.*) - เมื่อสร้างโปรแกรมจำลองใน Windows โอกาสที่จะพบความล้มเหลวที่ไม่แน่นอนในการเขียนไฟล์ควรจะน้อยลง ดูข้อมูลเพิ่มเติมได้ที่วิธีการสร้าง Windows
- ปิดใช้ปุ่มซูมสำหรับ AVD แบบพับได้ซึ่งทำให้เกิดปัญหา
- ตอนนี้โปรแกรมจำลองจะรายงานเวลาเปิดเครื่องที่มาจากการรีบูตอุปกรณ์อย่างถูกต้อง
- Linux: ในกรณีที่สิทธิ์ KVM ไม่เพียงพอ โปรแกรมจำลองจะพิมพ์วิธีการแก้ไขข้อบกพร่องได้รวดเร็วยิ่งขึ้น
- แก้ไขปัญหาที่โปรแกรมจำลองไม่สามารถเปิดอิมเมจระบบล่าสุดโดยไม่มีการเร่งความเร็ว
- แก้ไขความเสียหายของหน่วยความจำหรือข้อขัดข้องเมื่อเริ่มต้นจากตัวตรวจจับการเปิดเครื่องเสร็จสมบูรณ์
- แก้ไขปัญหาหน่วยความจำรั่วไหลระหว่างเซสชันการบันทึกหน้าจอที่ยาวนาน
- อัปเดตไอคอนโปรแกรมจำลองให้สอดคล้องกับการสร้างแบรนด์ของ Studio 4.1
- เพิ่มการรองรับการตรวจหาเซสชันระยะไกลใน Windows ที่ดียิ่งขึ้น
การแก้ไข: กราฟิกและการถอดรหัสวิดีโอ
- แก้ไขปัญหาที่เกม Asphalt 9 เวอร์ชันล่าสุดแสดงผลเป็นหน้าจอสีดำ
- นำสแปมเกี่ยวกับการล้างบัฟเฟอร์ที่แมปด้วย
NULLออกแล้ว - แก้ไขภาวะแข่งขันเมื่อปิดสถานะ Vulkan เมื่อแอป Vulkan ของผู้มาเยือนออก
- ตอนนี้ระบบจะรวมเฉดเดอร์การจำลอง Vulkan ASTC/ETC2 ไว้ในไลบรารี libOpenglRender แล้ว ซึ่งจะเชื่อถือได้มากกว่าการอ่านจากระบบไฟล์
- แก้ไขปัญหาใน Vulkan ที่หากทำงานร่วมกับอินสแตนซ์ Vulkan 1.0 บนโฮสต์
vkGetImageMemoryRequirements2KHRจะล้างช่องpNextของโครงสร้างVkMemoryRequirements2ที่แสดงผลอย่างไม่ถูกต้อง - แก้ไขหน่วยความจำรั่วไหลในโปรแกรมแสดงผล Vulkan
- แก้ไขปัญหาการถดถอยล่าสุดที่ตัวปรับเฉดสี GLSL ES 1.00 ที่มีชื่อตัวแปรอย่าง
isampler2Dคอมไพล์ไม่สำเร็จ - อัปเดตโปรแกรมแปล Shader ของ ANGLE ด้วยการแก้ไขต่างๆ ที่ช่วยแก้ปัญหาการคอมไพล์ Shader บน Linux ที่อาจล้มเหลว
- ตอนนี้เราจะทำให้โปรแกรมจำลองขัดข้องหากคอมไพล์ Shader ของ Blit ในบัฟเฟอร์เฟรมพื้นฐานไม่สำเร็จ เพื่อติดตามปรากฏการณ์นี้
- อัปเดตโปรแกรมแปลภาษา Shader ของ ANGLE เพื่อให้สอดคล้องกับ ANGLE ต้นทาง ซึ่งช่วยแก้ไขปัญหาเกี่ยวกับความเสียหายของหน่วยความจำเมื่อแปลและพับค่าคงที่ของตัวปรับเฉดสี OpenGL ES ที่ใช้เมทริกซ์ที่ไม่ใช่สี่เหลี่ยมจัตุรัส ตอนนี้ Shader Translator เป็นไลบรารีที่ใช้ร่วมกันแยกต่างหากชื่อ
libshadertranslator.dll - แก้ไขปัญหาเกี่ยวกับการเริ่มต้น Vulkan ในไดรเวอร์ GPU บางตัว ซึ่งไม่พบฟังก์ชันอุปกรณ์ 1.1 บางอย่าง
- Vulkan: เราได้เปลี่ยนกลับไปใช้ตัวโหลดที่สร้างไว้ล่วงหน้าเนื่องจากการใช้ตัวโหลด Vulkan ของระบบทำให้เกิดปัญหาในการตั้งค่าบางอย่าง เราจะหาโซลูชันที่ดีกว่านี้
- แก้ไขปัญหาเมื่อใช้หน่วยความจำภายนอกของ Vulkan ซึ่งอาจมีการนำเข้าดัชนีประเภทหน่วยความจำที่ไม่ตรงกันในโฮสต์
- แก้ไขปัญหาในการจำลอง
GL_ALIASED_POINT_SIZE_RANGEที่โฮสต์ไม่รองรับ enum - แก้ไขปัญหาที่ GPU ของโฮสต์บางตัวไม่สามารถคอมไพล์ Skia Shader ได้เนื่องจากข้อผิดพลาดที่เกี่ยวข้องกับ
GL_EXT_shader_framebuffer_fetch - เนื่องจากเราได้นำสำเนาของโปรแกรมแสดงผล D3D9 ANGLE ออกไปเมื่อไม่กี่เวอร์ชันก่อน ตอนนี้เราจึงเปลี่ยนผู้ใช้ที่ใช้โปรแกรมแสดงผลดังกล่าวเป็น 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 ที่เปิดใช้โหมดหน้าต่างรูปแบบอิสระได้โดยเลือกโปรไฟล์ฮาร์ดแวร์แท็บเล็ตรูปแบบอิสระขนาด 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: ตอนนี้โปรแกรมจำลองจะใช้
libgccDLL ที่เราจัดส่งให้แทนการคอมไพล์ด้วยlibgccแบบคงที่ - Linux: เพิ่มการรองรับ logcat ลงใน gRPC API ดูข้อมูลเพิ่มเติมเกี่ยวกับ gRPC ได้ที่โปรแกรมจำลองสตรีมมิง gRPC (Linux)
- ตอนนี้โปรแกรมจำลองมีบิลด์แบบ Headless สำหรับผู้ใช้ x86 แบบ 32 บิต (
qemu-system-i386) ฟีเจอร์นี้ช่วยให้รูปภาพ x86 แบบ 32 บิตสำหรับ API ระดับ 26 และต่ำกว่าทำงานร่วมกับบิลด์แบบ Headless ได้ โปรดทราบว่าสำหรับ Guest 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 ของสแนปชอตจะปิดใช้สำหรับอิมเมจระบบ Automotive เนื่องจากปัจจุบันระบบยังไม่รองรับสแนปชอตสำหรับอิมเมจระบบเหล่านี้
29.0.6 (1 พฤษภาคม 2019)
การอัปเดตนี้รวมถึงฟีเจอร์ใหม่หลายรายการ การปรับปรุงฟีเจอร์ที่มีอยู่ และการแก้ไขข้อบกพร่อง
การนำการรองรับ QEMU1 และ Windows 32 บิตออก
เราจะไม่จัดส่งไบนารี QEMU1 และ Windows 32 บิตอีกต่อไปเพื่อดูแลรักษาโปรแกรมจำลองให้ดียิ่งขึ้น หากใช้ Windows 32 บิต คุณจะอัปเกรดเป็นเวอร์ชัน 29.0.6 ไม่ได้
ข้อกำหนดสำหรับอิมเมจระบบ Android Q
หากต้องการเรียกใช้ AVD ที่ใช้อิมเมจระบบ Android Q ตอนนี้คุณต้องใช้เวอร์ชัน 29.0.6 (เวอร์ชันที่เผยแพร่นี้) ขึ้นไป
การปรับปรุง Project Marble
การอัปเดตนี้เป็นการสานต่องานของเราในโครงการริเริ่ม Project Marble ที่ประกาศในงาน Android Developer Summit เมื่อเดือนพฤศจิกายน 2018 ดูข้อมูลเพิ่มเติมเกี่ยวกับการปรับปรุงอื่นๆ ของ Project Marble ในรุ่นก่อนหน้าได้ที่โปรแกรมจำลองของ Android: การปรับปรุง Project Marble
สำหรับการอัปเดตนี้ ความพยายามส่วนใหญ่ของเราใน Project Marble มุ่งเน้นไปที่การลดการใช้ทรัพยากรของโปรแกรมจำลอง เช่น การลดการใช้ CPU ของโปรแกรมจำลองขณะไม่มีการใช้งาน นอกจากนี้ เรายังได้รวมการเปลี่ยนแปลงที่ช่วยให้ทำงานกับโปรแกรมจำลองในสภาพแวดล้อมที่หลากหลายมากขึ้นได้ง่ายขึ้น และเราได้แก้ไขปัญหาด้านคุณภาพทั่วไปแล้ว
ส่วนต่อไปนี้จะอธิบายการปรับปรุง Project Marble ที่รวมอยู่ในการอัปเดตนี้
การปรับปรุงลักษณะการทำงานของเสียงของผู้จัด
ตั้งแต่เวอร์ชัน 28.0.3 เป็นต้นไป โปรแกรมจำลองจะบล็อกอินพุตเสียงจากโฮสต์โดยค่าเริ่มต้น
หากต้องการใช้ข้อมูลเสียงของโฮสต์ คุณสามารถเปิดใช้ตัวเลือกดังกล่าวได้โดยไปที่การควบคุมเพิ่มเติม > ไมโครโฟน แล้วเปิดใช้ไมโครโฟนเสมือนใช้เสียงที่โฮสต์ป้อน ระบบจะปิดใช้ตัวเลือกนี้โดยอัตโนมัติทุกครั้งที่รีสตาร์ทโปรแกรมจำลอง
หากใช้บรรทัดคำสั่ง คุณยังเปิดใช้เสียงของโฮสต์ได้โดยใช้ตัวเลือก -allow-host-audio และใช้คำสั่ง ADB ต่อไปนี้เพื่อเปิดหรือปิดข้อมูลเสียงของโฮสต์ตามลำดับ
adb emu avd hostmiconadb emu avd hostmicoff
การปรับปรุงสำหรับบิลด์โปรแกรมจำลองแบบ Headless
ตั้งแต่เวอร์ชัน 28.0.25 เป็นต้นไป โปรแกรมจำลองจะมีตัวเลือกบิลด์แบบไม่มีส่วนหัวที่ทำงานได้โดยไม่ต้องมี UI คุณสามารถใช้บิลด์แบบ Headless เพื่อช่วยตั้งค่าโปรแกรมจำลองสำหรับเวิร์กโฟลว์ Docker และการรวมอย่างต่อเนื่อง (CI)
ในการอัปเดตนี้ เราได้ทำการปรับปรุงเพิ่มเติมเพื่อให้โปรแกรมจำลองทำงานโดยมีทรัพยากร Dependency น้อยที่สุด ใน Linux บิลด์แบบ Headless จะไม่มีไลบรารี 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
อัปเกรดไลบรารี Qt UI เป็น 5.12 LTS
การอัปเดตนี้รวมการปรับปรุงต่อไปนี้จากรุ่น Qt 5.12 LTS
- ตอนนี้โปรแกรมจำลองจะใช้สำเนา
libpngของตัวเองเพื่อถอดรหัสรูปภาพ PNG เพื่อหลีกเลี่ยงข้อขัดข้องในการถอดรหัสlibpngของ Qt เมื่อเริ่มอิมเมจระบบบางรายการ - เพื่อแก้ไขปัญหาเกี่ยวกับการติดตั้ง Linux บางรายการที่มีไลบรารีที่ขึ้นอยู่กับ Qt เวอร์ชันที่เข้ากันไม่ได้ ตอนนี้เราจึงรวม
libfreetype,libsoftokn,libsqlite3และlibxkbcommonไว้กับโปรแกรมจำลอง - ตอนนี้โปรแกรมจำลองจะใช้ไลบรารีการจัดการหน้าต่างแบบเนทีฟของแพลตฟอร์มเพื่อรับขนาดจอภาพ แทนที่จะใช้ไลบรารี Qt ที่แสดงผลลัพธ์ที่ไม่น่าเชื่อถือ
การเพิ่มประสิทธิภาพ CPU โดยอัตโนมัติหลังจากการเปิดเครื่องใหม่
เพื่อแก้ไขปัญหาการใช้งาน CPU ตอนนี้โปรแกรมจำลองจะเรียกใช้คำสั่ง ADB ต่อไปนี้ในการเปิดเครื่องใหม่หลังจากได้รับสัญญาณ boot complete
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 ในเบื้องหลังบนหน้าจอหลักและใน Launcher ได้อย่างมากเมื่อแอป 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 นั้นยังล้างไฟล์ที่ไม่มีการใช้งานไม่เสร็จ - สำหรับอิมเมจระบบที่กำลังจะเปิดตัว ตอนนี้โปรแกรมจำลองรองรับ Hardware Composer 2.0 แล้ว การเปลี่ยนแปลงนี้จะช่วยลดโอเวอร์เฮดของไดรเวอร์เมื่อเรียกใช้ภาพเคลื่อนไหวส่วนใหญ่
- ตอนนี้บิลด์ของโปรแกรมจำลองจะอิงตาม CMake/Ninja
- ใน UI ตัวควบคุมเพิ่มเติมของโปรแกรมจำลอง เส้นแบ่งในตารางแป้นพิมพ์ลัดได้รับการกู้คืนแล้ว
- ตอนนี้ผู้ใช้สามารถเลือกให้เมตริกการใช้งาน CPU และ RAM แก่ทีมของเราในช่วงเวลา 10 วินาทีได้แล้ว เราใช้เมตริกเหล่านี้เพื่อเพิ่มข้อมูลเกี่ยวกับการใช้ทรัพยากรของโปรแกรมจำลองด้วย Use Case ต่างๆ จากผู้ใช้ ซึ่งช่วยให้เราทำให้โปรแกรมจำลองมีประสิทธิภาพและตอบสนองได้ดียิ่งขึ้น
การแก้ไขทั่วไปสำหรับ Project Marble
การอัปเดตนี้ยังรวมถึงการแก้ไขทั่วไปต่อไปนี้ซึ่งเป็นส่วนหนึ่งของโครงการริเริ่ม Project Marble
- แก้ไขปัญหาการกระตุกและเฟรมที่ไม่ถูกต้องซึ่งแสดงในระบบที่มี Intel GPU เมื่อใช้อิมเมจระบบ Android Q
- แก้ไขปัญหาที่หน้าจอสีดำแสดงขึ้นเมื่อใช้อิมเมจระบบ Android Q กับสกิน Pixel 2 XL (หรือสกินที่มีรอยบากหรือมุมโค้งมน)
- แก้ไขปัญหาที่ตัวเลือกบรรทัดคำสั่ง
-partition-sizeไม่ตั้งค่าขนาดพาร์ติชันข้อมูล - แก้ไขปัญหาที่ pulseaudio ในโปรแกรมจำลอง Linux จะหมุนและใช้ CPU ทั้งคอร์ในบางสถานการณ์
- แก้ไขปัญหาเกี่ยวกับการเข้าถึงหน่วยความจำที่อยู่นอกขอบเขตเมื่อประมวลผลพื้นผิวที่บีบอัด
- แก้ไขข้อผิดพลาด GL ที่เกิดขึ้นบนโฮสต์ใน
glTexSubImage2Dเมื่ออัปเดตบัฟเฟอร์ gralloc บางรายการ (ที่มีรูปแบบ RGB 565, RGB10A2, RGB(A)16F) - แก้ไขปัญหาการแสดงผลในอิมเมจระบบ Android Q ที่มีสแนปชอตซึ่งเรนเดอร์เรขาคณิตของหน้าต่างแจ้งเตือนด้วยการตั้งค่าตัวหารอินสแตนซ์ที่ไม่เหมาะสม
- แก้ไขปัญหาการขัดข้องและการค้างที่เกิดขึ้นได้ยากเมื่อเปิดแอป ซึ่งเกิดจาก Qt สูญเสียสัญญาณหรือมีสถานะที่ไม่สอดคล้องกันเมื่อเริ่มต้นระบบ
- แก้ไขปัญหาการเกิดขึ้นพร้อมกันหลายรายการ ตอนนี้เราสามารถสร้างโปรแกรมจำลอง Linux ด้วย ThreadSanitizer (TSAN) ซึ่งสามารถค้นหาข้อบกพร่องที่ทำซ้ำได้ยากได้อย่างง่ายดาย
- สำหรับผู้ใช้ Linux: เราพบว่าในเคอร์เนลโฮสต์บางรายการ เคอร์เนล Android ของผู้มาเยือนอาจแสดงข้อผิดพลาดและออกจาก KVM พร้อมข้อผิดพลาดทั่วไปเกี่ยวกับฮาร์ดแวร์ ตอนนี้โปรแกรมจำลองจะ
abort()เมื่อเกิดเหตุการณ์นี้ขึ้นเพื่อเพิ่มความสามารถในการแก้ไขข้อบกพร่อง (ก่อนหน้านี้โปรแกรมจำลองจะหยุดทำงาน) - สำหรับผู้ใช้ Linux: เพื่อความสะดวกในการตั้งค่า CI คุณสามารถใช้ตัวเลือกบรรทัดคำสั่ง
-stdouterr-file <file-name>ใหม่เพื่อเปลี่ยนเส้นทางทั้งstdoutและstderrไปยังไฟล์ได้ - แก้ไขปัญหาที่มีการใช้
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 ยังรองรับการทำงานร่วมกันแบบ Zero-Copy กับ 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 และ Remote Desktop ของเราพบปัญหาที่เกิดขึ้นมานานต่อไปนี้
- การส่งคำสั่งอินพุตไปยังโปรแกรมจำลองแบบเป็นโปรแกรมเกี่ยวข้องกับการเรียกใช้คำสั่ง adb shell ที่อาจมีค่าใช้จ่ายสูง หรือการใช้คอนโซล telnet ซึ่งเร็วกว่า แต่อาจใช้ไม่ได้กับการกำหนดค่าเครือข่ายบางอย่าง
- ผู้ใช้ CI มักจะเรียกใช้โปรแกรมจำลองแบบไม่มีส่วนหัว ซึ่งอาจทำให้สังเกตเห็นปัญหาที่ต้องใช้หน้าจอเพื่อดูหรือโต้ตอบได้ยาก
- ผู้ใช้เดสก์ท็อประยะไกลมักจะโต้ตอบกับโปรแกรมจำลองไม่ได้เมื่อใช้การแสดงผล GPU ของโฮสต์ เนื่องจากการแสดงผล GPU มักจะเชื่อมโยงกับจอแสดงผลที่ไม่ใช่แบบเสมือนของโฮสต์
เพื่อแก้ไขปัญหานี้ เมื่อทำงานบนเครื่อง Linux โปรแกรมจำลองจะให้บริการ gRPC gRPC เป็นเฟรมเวิร์กทั่วไปสำหรับ RPC ที่ทำงานผ่าน HTTP
โดยค่าเริ่มต้น บริการ gRPC ของโปรแกรมจำลองจะปิดอยู่ แต่คุณสามารถเปิดใช้งานบริการได้โดยใช้ตัวเลือกบรรทัดคำสั่งต่อไปนี้ โดยที่ <port> คือพอร์ตที่โปรแกรมจำลองควรให้บริการคำขอ gRPC (โดยปกติคือ 5556)
-grpc <port>
เมื่อเริ่มบริการแล้ว คุณจะออกคำสั่ง gRPC จากไคลเอ็นต์ได้ ชุดคำสั่งปัจจุบันช่วยให้ทั้งส่งเหตุการณ์อินพุตและรับภาพหน้าจอได้ คำสั่งเหล่านี้ช่วยแก้ปัญหาต่อไปนี้
- คุณสามารถส่งคำสั่งอินพุตไปยังโปรแกรมจำลองได้โดยมีค่าใช้จ่ายในการดำเนินการต่ำผ่าน HTTP นอกจากนี้ HTTP ยังช่วยให้ส่งคำสั่งในการกำหนดค่าเครือข่ายเพิ่มเติมได้ด้วย
- คุณสามารถส่งคำสั่งภาพหน้าจอเพื่อค้นหาหน้าจอปัจจุบันได้ แม้ว่าโปรแกรมจำลองจะทำงานแบบไม่มีส่วนหัวก็ตาม นอกจากนี้ยังส่งเหตุการณ์อินพุตกลับไปยังโปรแกรมจำลองเพื่อการโต้ตอบได้ด้วย
- ผู้ใช้เดสก์ท็อประยะไกลสามารถเรียกใช้โปรแกรมจำลองแบบ Headless บนจอแสดงผลหลักด้วยการแสดงผลที่เร่งด้วย GPU ขณะใช้ gRPC เพื่อรับภาพหน้าจอและส่งเหตุการณ์อินพุตเพื่อโต้ตอบกับโปรแกรมจำลอง
ดูรายการคำสั่งทั้งหมดที่มีได้ที่ protobuf นี้
เราได้จัดเตรียมไคลเอ็นต์ตัวอย่างไว้ให้คุณใช้อ้างอิงเพื่อช่วยในการเริ่มต้นใช้งาน gRPC
ปัจจุบันตัวอย่างเหล่านี้ประกอบด้วยรายการต่อไปนี้
- บริการที่ใช้ Go ซึ่งใช้เพื่อค้นหาสถานะโปรแกรมจำลองได้
- แอป React ที่สาธิตการโต้ตอบระยะไกลผ่านภาพหน้าจอและ RPC อินพุต ตัวอย่างนี้ต้องใช้ protobuf เวอร์ชัน 3.7.0 ขึ้นไป
- ตัวอย่าง Python ที่ค้นหาการกำหนดค่า VM ของโปรแกรมจำลอง แล้วส่งชุดคำสั่ง
28.0.25 (29 มีนาคม 2019)
การอัปเดตนี้มีการปรับปรุงและการแก้ไขต่อไปนี้
บิลด์โปรแกรมจำลองแบบ Headless
การตั้งค่าโปรแกรมจำลองด้วย Docker และเวิร์กโฟลว์การรวมอย่างต่อเนื่อง (CI) อื่นๆ เป็นเรื่องยากเนื่องจากความคาดหวังโดยนัยของระบบที่สามารถรองรับ Qt พร้อมกับทรัพยากร Dependency ของคลังที่ใช้ร่วมกัน (รวมถึงปัญหาอื่นๆ)
ขั้นตอนแรกในการแก้ไขปัญหานี้คือเราได้เปิดตัวตัวแปรของตัวเปิดโปรแกรมจำลองที่มีไฟล์ปฏิบัติการ QEMU ซึ่งไม่ได้ขึ้นอยู่กับ Qt ใน Linux จะยังมีลิงก์ไปยัง libX11 อยู่ แต่เราหวังว่าจะนำออกได้ในเร็วๆ นี้เช่นกัน
หากต้องการใช้โปรแกรมจำลองแบบไม่มีส่วนหัว ให้เรียกใช้โปรแกรมจำลองจากบรรทัดคำสั่งตามปกติ แต่แทนที่การเรียกใช้ไบนารีของโปรแกรมจำลองด้วย emulator-headless ดูข้อมูลเพิ่มเติมได้ที่การอัปเดตเวอร์ชัน 28.1.8 Canary
- แก้ไขการกระตุกและการแสดงเฟรมที่ไม่ถูกต้องใน Intel GPU เมื่อเรียกใช้ภาพระบบ 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 บางรุ่น
- แก้ไขปัญหาที่ทำให้เกิดสถานะอุปกรณ์ ADB เป็น
unauthorizedเมื่อใช้ตำแหน่ง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 ของคุณใน Issue Tracker
- ลดการใช้งาน CPU เมื่อเรียกใช้แอปที่มีภาพเคลื่อนไหว
- แก้ไขปัญหาที่บริบท QEMU AIO อาจรั่วไหลใน Windows
เรียกใช้ AVD เดียวหลายอินสแตนซ์พร้อมกัน
ตอนนี้คุณสามารถเปิดใช้งาน AVD เดียวกันหลายอินสแตนซ์และเรียกใช้พร้อมกันได้แล้ว อินสแตนซ์ที่คุณเปิดหลังจากอินสแตนซ์แรกจะเป็นแบบอ่านอย่างเดียว และระบบจะทิ้งการเปลี่ยนแปลงในดิสก์เสมือนของผู้มาเยือนเมื่อออก
หากต้องการเรียกใช้ AVD เดียวกันหลายอินสแตนซ์พร้อมกัน ให้เปิดอินสแตนซ์ใดก็ได้หลังจากอินสแตนซ์แรกจากบรรทัดคำสั่งโดยใช้แฟล็ก -read-only
ฟีเจอร์นี้ทำได้โดยการคัดลอกไฟล์ QCOW2 ที่เชื่อมโยงกับส่วนที่เขียนได้ของอิมเมจ Android นอกจากนี้ เรายังรวมเครื่องมือบรรทัดคำสั่ง qemu-img ไว้ด้วยเพื่อช่วยคุณจัดการพื้นที่ในดิสก์ โดยจะช่วยให้คุณคอมมิตไฟล์ QCOW2 ล่วงหน้าก่อนเปิดใช้อินสแตนซ์หลายรายการได้
นอกจากนี้ เมื่อใช้ร่วมกับฟีเจอร์ File-backed guest RAM snapshots อินสแตนซ์ AVD หลายรายการจะแชร์สแนปชอต Quickboot ของ AVD หลักเป็นแหล่งที่มาทั่วไปของ RAM สำหรับผู้มาเยือนแบบคัดลอกเมื่อเขียน พร็อพเพอร์ตี้นี้หมายความว่าอินสแตนซ์จะใช้ RAM ร่วมกันเป็นส่วนใหญ่ ใช้ฟีเจอร์นี้เพื่อทำการทดสอบที่ต้องใช้อุปกรณ์หลายเครื่องเพื่อทำงานพร้อมกัน
เรายินดีรับฟังความคิดเห็นของคุณเกี่ยวกับกรณีการใช้งานที่เป็นไปได้ซึ่งเป็นส่วนหนึ่งของเวิร์กโฟลว์แบบอินเทอร์แอกทีฟหรือ CI ตามปกติของคุณ โปรดสร้างหรือโหวตเห็นด้วยกับปัญหาใน Issue Tracker
สแนปชอต RAM ของผู้มาเยือนที่สำรองข้อมูลไฟล์ไว้
การจัดสรรล่วงหน้าและการแมป RAM ของผู้มาเยือนเป็นไฟล์ช่วยให้โปรแกรมจำลองสามารถบันทึกสแนปชอต Quickboot ระหว่างรันไทม์ได้ แทนที่จะทำงานทั้งหมดเมื่อออก หากคุณพบว่าการบันทึกใช้เวลานานเมื่อปิดโปรแกรมจำลอง ให้เปิดใช้ฟีเจอร์นี้เพื่อปรับปรุงประสิทธิภาพของ Quickboot โดยค่าเริ่มต้น ระบบจะบันทึกภาพรวม Quickboot เมื่อออกและโหลดอีกครั้งทุกครั้ง เช่นเดียวกับการระงับและปลุกอุปกรณ์จริง
เนื่องจากตอนนี้ระบบจะบันทึก RAM ของผู้ใช้ทั่วไปใน Android โดยอัตโนมัติโดยค่าเริ่มต้น หากต้องการกำหนดสถานะอุปกรณ์และโหลดจากสถานะนั้นซ้ำๆ คุณต้องบอกให้โปรแกรมจำลองทิ้งการเปลี่ยนแปลงหลังจากแต่ละเซสชัน ซึ่งทำได้หลายวิธี ดังนี้
- ใช้แฟล็ก
-no-snapshot-saveหรือ-read-onlyเมื่อเปิดโปรแกรมจำลองจากบรรทัดคำสั่ง - ไปที่การควบคุมเพิ่มเติม > สแนปชอต > การตั้งค่า แล้วเปลี่ยนบันทึกสถานะปัจจุบันไปยัง Quickboot โดยอัตโนมัติไหมเป็นไม่
- คุณจะต้องรีสตาร์ทโปรแกรมจำลองหลังจากเลือกตัวเลือกนี้ หากโปรแกรมจำลองตั้งค่าเป็นบันทึกอัตโนมัติ คุณสามารถเรียกใช้คำสั่งต่อไปนี้เพื่อตั้งค่าจุดตรวจสอบได้
หลังจากเรียกใช้คำสั่งนี้ สแนปชอต Quickboot ของโปรแกรมจำลองจะยังคงอยู่ที่จุดตรวจสอบนั้น เรียกใช้คำสั่งเดิมอีกครั้งเพื่อโหลดโปรแกรมจำลองจากจุดตรวจสอบadb emu avd snapshot remap 0
สแนปชอตที่ถ่ายและโหลดผ่าน UI ของสแนปชอตจะทำงานเหมือนเดิมโดยไม่มีการแมปไฟล์
เนื่องจากนี่เป็นการเปลี่ยนแปลงครั้งใหญ่ในวิธีการทำงานของ 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 ของการบันทึกหน้าจอและ Snapshot
- ทำให้ไอคอนการแจ้งเตือนการเปิดเครื่องอย่างรวดเร็วเข้าถึงได้ง่ายขึ้นสำหรับผู้ใช้ที่ตาบอดสี
กราฟิก
- แก้ไขปัญหาการเข้าถึงหน่วยความจำที่อยู่นอกขอบเขตซึ่งอาจเกิดขึ้นกับตัวชี้อาร์เรย์จุดยอด 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) - หากเปิดใช้งานโปรแกรมจำลองจากบรรทัดคำสั่งโดยใช้แฟล็ก
-no-windowโปรแกรมแสดงผลเริ่มต้นจะเป็น Swiftshader
ตำแหน่ง
- ตอนนี้โปรแกรมจำลองสามารถอัปเดตทิศทางพร้อมกับตำแหน่งละติจูดและลองจิจูดได้แล้ว เซ็นเซอร์เสมือนของเครื่องวัดค่าความเข้มข้นของสนามแม่เหล็กจะปรับตัวเองแบบไดนามิกตามทิศเหนือแม่เหล็กโดยอนุมานการเคลื่อนไหวเมื่อเล่นไฟล์ GPX หรือ KML
- ตอนนี้คุณตั้งค่าความเร็วของอุปกรณ์ได้ในหน้าตำแหน่ง
- เมื่อเล่นไฟล์ GPX หรือ KML ระบบจะตั้งค่าความเร็วโดยอัตโนมัติ และตั้งค่าเป็น 0 เมื่อการเล่นสิ้นสุดลง
- ระดับความสูงไม่จำกัดให้อยู่ระหว่าง -1,000 ถึง +10,000 เมตรอีกต่อไป
- แก้ไขปัญหาที่ตำแหน่ง GPS เสมือนไม่อัปเดตเป็นระยะๆ เว้นแต่จะเปิดหน้าต่างการควบคุมเพิ่มเติมอย่างน้อย 1 ครั้ง
กล้อง
ใน Windows ตอนนี้ระบบรองรับเว็บแคมมากขึ้นเนื่องจากโปรแกรมจำลองจะปรับขนาดเฟรมกล้องที่ส่งจากเว็บแคมแบบไดนามิก นอกจากนี้ ฟีเจอร์นี้ยังป้องกันไม่ให้ข้อผิดพลาดในการแสดงเฟรมทำให้โปรแกรมจำลองค้างด้วย
Play Store
เพื่อแก้ไขปัญหาพื้นที่ในดิสก์ไม่เพียงพอสำหรับอิมเมจ Play Store ตอนนี้โปรแกรมจำลองจะปรับขนาดพาร์ติชันข้อมูลผู้ใช้เป็น 6 GB โดยอัตโนมัติเมื่อทำงานกับ AVD ของ Play Store ใหม่
การปรับปรุงคุณภาพและการแก้ไขทั่วไป
- ผู้ใช้บางรายรายงานว่าโปรแกรมจำลองทำงานช้า เราพบสาเหตุที่เป็นไปได้ 1 ประการคือไดเรกทอรีชั่วคราวสำหรับโปรแกรมจำลองมีไฟล์ที่ไม่มีการใช้งานมากเกินไป วิธีแก้ปัญหาชั่วคราวคือโปรแกรมจำลองจะไม่จัดเก็บไฟล์ตรวจสอบความพร้อมใช้งานของ 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ที่ว่างเปล่า การดำเนินการนี้จะสร้างสแนปชอตใหม่ในโฟลเดอร์ที่ปิดใช้ Copy-on-writechattr +C
HAXM 7.3.2
เราขอพูดถึง HAXM 7.3.2 อีกครั้งเนื่องจากต้องติดตั้งเพื่อให้อิมเมจระบบล่าสุดทำงานได้อย่างถูกต้องในโปรแกรมจำลอง HAXM 7.3.2 ควรพร้อมใช้งานในเวอร์ชันเสถียรอยู่แล้ว และยังติดตั้งด้วยตนเองได้จาก https://github.com/intel/haxm/releases
ปัญหาบางอย่างที่ HAXM เวอร์ชันนี้แก้ไขแล้วมีดังนี้
- แก้ไขการขัดข้องแบบสุ่มของระบบปฏิบัติการของแขกที่ใช้เคอร์เนล Linux เวอร์ชันล่าสุด (>= 4.6) เช่น Ubuntu 18.04 (#39, #74)
- แก้ไขข้อบกพร่องของโปรแกรมจำลองคำสั่ง x86 ที่อาจทำให้โฮสต์ขัดข้อง (#93)
การเลิกใช้งาน Windows แบบ 32 บิต
เนื่องจากมีการใช้งานน้อยและมีค่าใช้จ่ายในการบำรุงรักษาสูง เราจึงวางแผนที่จะเลิกใช้งานโปรแกรมจำลองของ Android เวอร์ชัน 32 บิตที่ทำงานบน Windows เราจะเปิดตัวแผนการเปลี่ยนผ่านก่อนที่จะนำโปรแกรมจำลองของ Android เวอร์ชัน 32 บิตออกและสิ้นสุดอายุการใช้งาน อย่างไรก็ตาม เรายินดีรับฟังความคิดเห็นหรือข้อกังวลเกี่ยวกับการเปลี่ยนแปลงในอนาคตนี้
โปรดแจ้งให้เราทราบใน Issue Tracker หากคุณใช้โปรแกรมจำลองของ Android เวอร์ชัน 32 บิตที่ทำงานบน Windows อยู่ในปัจจุบัน และบอกเราว่าเราจะทำงานร่วมกับคุณต่อไปได้อย่างไร
27.3.10 (สิงหาคม 2018)
การอัปเดตนี้มีการแก้ไขข้อบกพร่องต่อไปนี้
การแก้ไขการกำหนดค่าขนาด RAM
ผู้ใช้บางรายรายงานว่าโปรแกรมจำลองทำงานช้า เราพบสาเหตุที่เป็นไปได้ 1 ประการคือมีการตั้งค่าขนาด 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
การพัฒนาและทดสอบแอปเทคโนโลยีความจริงเสริม (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
ใน Mac ตอนนี้คุณสามารถใช้ webcam0 และ webcam1 ร่วมกันได้แล้ว
เบ็ดเตล็ด
ตัวเลือกบรรทัดคำสั่ง -phone-number-prefix เปลี่ยนเป็น -phone-number [number] ซึ่งช่วยให้ตั้งค่าหมายเลขโทรศัพท์แบบเต็มได้
ตอนนี้คุณใช้ที่อยู่ SMS ที่เป็นตัวอักษรและตัวเลขคละกันได้แล้ว
จำนวนช่องโหว่ที่แก้ไขได้
- ตอนนี้โปรแกรมจำลองของ Android เวอร์ชัน Linux สร้างขึ้นโดยใช้ Toolchain ของ Clang C++ ที่ทันสมัย การเปลี่ยนแปลงนี้จะแก้ไขปัญหาที่โปรแกรมจำลองไม่เริ่มทำงานเนื่องจากข้อผิดพลาด 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)
- ค่าที่ตั้งไว้โดยใช้การควบคุมเพิ่มเติม > ตำแหน่งในอินเทอร์เฟซผู้ใช้แบบกราฟิกจะลบล้างตำแหน่ง GPS ที่ตั้งไว้โดยใช้คอนโซล (ปัญหา 73471760)
หากยังพบปัญหาการค้างหรือความไม่เสถียรอื่นๆ โปรดรายงานปัญหา
การอัปเดตนี้ รูปภาพระบบปัจจุบัน และ Android Studio เวอร์ชันตัวอย่างจะช่วยให้คุณใช้โปรแกรมจำลองของ Android เพื่อเรียกใช้แอปพลิเคชันเทคโนโลยีความจริงเสริม (AR) ที่สร้างด้วย ARCore ได้ ดูข้อกำหนดและวิธีการโดยละเอียดได้ที่เรียกใช้แอป AR ในโปรแกรมจำลองของ Android
27.1.10 (กุมภาพันธ์ 2018)
ความละเอียดในการจับภาพของกล้อง
ตอนนี้คุณสามารถจับภาพเฟรม 720p จากเว็บแคมที่เชื่อมต่ออยู่ได้แล้ว
หากต้องการใช้งานกับอิมเมจระบบ Android 8.1 (API ระดับ 27) ขึ้นไป เว็บแคมที่เชื่อมต่อต้องมีความสามารถในการจับภาพเฟรม 720p
จำนวนช่องโหว่ที่แก้ไขได้
- แก้ไขปัญหาที่ทำให้การจับภาพจากเว็บแคมบางครั้งแสดงภาพที่บิดเบี้ยวหรือเป็นสีเขียวทั้งหมด
- แก้ไขปัญหาที่ทำให้เห็นข้อความต่อไปนี้แม้ว่าจะไม่มีการค้างจริง: "โปรแกรมจำลอง: ข้อผิดพลาด: ตรวจพบเทรดที่ค้าง 'วนรอบเหตุการณ์ Qt' ไม่มีการตอบสนองเป็นเวลา 15,000 มิลลิวินาที"
หากยังพบปัญหาการค้างหรือความไม่เสถียรอื่นๆ โปรดรายงานปัญหา
27.1.7 (กุมภาพันธ์ 2018)
หน้าต่างโปรแกรมจำลองแบบไร้กรอบ:
โดยค่าเริ่มต้น โปรแกรมจำลองที่มีไฟล์สกินของอุปกรณ์จะแสดงโดยไม่มีกรอบหน้าต่างล้อมรอบ หากต้องการแสดงกรอบหน้าต่างโดยรอบ ให้เปิดใช้แสดงกรอบหน้าต่างรอบอุปกรณ์ในแผงการตั้งค่าของหน้าต่างการควบคุมเพิ่มเติม
การปรับปรุงการเปิดเครื่องอย่างรวดเร็วเพื่อให้ทำงานกับสแนปชอต 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 ทำงานได้ดีกว่า คุณสามารถเปิดใช้อีกครั้งด้วย Flag บรรทัดคำสั่ง
-gpu angle_indirectหรือเปิดหน้าต่างการควบคุมเพิ่มเติม แล้วไปที่การตั้งค่า > ขั้นสูง และเลือก ANGLE D3D11 สำหรับการตั้งค่าโปรแกรมแสดงผล OpenGL ESแก้ไขปัญหาที่การกด Shift+B ไม่พิมพ์อักขระ B ตัวพิมพ์ใหญ่
27.0.2 (ธันวาคม 2017)
ฟีเจอร์การเปิดเครื่องอย่างรวดเร็วใหม่ช่วยให้โปรแกรมจำลองมีเวลาเริ่มต้นเร็วขึ้น โดยอิงตามสแนปชอตของอินสแตนซ์ AVD
การเปิดเครื่องอย่างรวดเร็วจะเปิดใช้โดยค่าเริ่มต้นสำหรับ AVD ทั้งหมด แม้ว่าครั้งแรกที่คุณเริ่ม AVD จะต้องทำการเปิดเครื่องใหม่ (เหมือนกับการเปิดอุปกรณ์) แต่การเริ่มครั้งต่อๆ ไปทั้งหมดจะรวดเร็วและระบบจะคืนค่าเป็นสถานะที่คุณปิดโปรแกรมจำลอง (คล้ายกับการปลุกอุปกรณ์)
หากต้องการควบคุมเวลาที่โปรแกรมจำลองบันทึกสแนปชอต ให้เปิดหน้าต่างการควบคุมเพิ่มเติมของโปรแกรมจำลอง แล้วคลิกการตั้งค่า ในส่วนนี้ คุณสามารถเลือกการตั้งค่าอย่างใดอย่างหนึ่งต่อไปนี้สำหรับบันทึกสถานะการเปิดเครื่องอย่างรวดเร็วเมื่อออก
- ใช่: บันทึกสแนปชอตการเปิดเครื่องอย่างรวดเร็วเสมอเมื่อปิดโปรแกรมจำลอง ทั้งนี้ ตัวเลือกนี้คือค่าเริ่มต้น
- ไม่: ไม่บันทึกสแนปชอตการเปิดเครื่องอย่างรวดเร็ว แต่จะเปิดเครื่องใหม่เสมอ
- ถาม: แสดงข้อความแจ้งว่าจะบันทึกสแนปชอตการเปิดเครื่องอย่างรวดเร็วหรือไม่เมื่อคุณปิดโปรแกรมจำลอง
การเลือกของคุณจะมีผลกับ AVD ที่เปิดอยู่เท่านั้น
ดูข้อมูลเพิ่มเติมได้ที่เอกสารประกอบเกี่ยวกับการเปิดเครื่องอย่างรวดเร็ว
เพิ่มการรองรับ Mac OpenGL ES 3 (สำหรับอิมเมจระบบที่ใช้ระดับ API 24 ขึ้นไป, Google APIs และ x86 ABI)
เพื่อเพิ่มความเสถียรในแอป OpenGL ES 2+ ตอนนี้โปรแกรมจำลองจะใช้โปรไฟล์หลัก OpenGL หากมี
ตัวเลือกใหม่สำหรับการแสดงผลด้วย 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 เราขอแนะนำให้ใช้ GPU แบบแยกของ NVIDIA หรือ AMD หรือ GPU ของ Intel รุ่นใหม่ (Iris, HD 5xxx, HD 5xx/6xx)
- แก้ไขปัญหาที่โปรแกรมจำลองไม่เริ่มทำงาน (การจำลอง OpenGL เริ่มต้นไม่สำเร็จ) หากมีการกำหนดค่า AVD ด้วย
hw.gpu.mode=hostและเปิดโปรแกรมจำลองในไคลเอ็นต์เดสก์ท็อประยะไกล - ชี้แจงการตั้งค่า "ระดับ OpenGL ES API (ต้องรีสตาร์ท)" และเพิ่มตัวเลือกในการดาวน์เกรดจาก OpenGL ES 3 เป็น OpenGL ES 2 หากพบปัญหาหรือต้องการทดสอบในระดับ OpenGL ES API ที่ต่ำกว่า
- เราเลิกใช้งานโปรแกรมแสดงผล Mesa แล้ว ตอนนี้
hw.gpu.mode=mesaจะเปลี่ยนไปใช้ Swiftshader บนโฮสต์โดยอัตโนมัติ
- การปรับปรุงสำหรับ macOS
- ตอนนี้โปรแกรมจำลองสามารถใช้งานร่วมกับ macOS 10.13 High Sierra ได้อย่างสมบูรณ์ผ่าน Hypervisor.Framework หรือ HAXM 6.2.0
- ตอนนี้ Hypervisor.framework เปิดใช้โดยค่าเริ่มต้นใน macOS สำหรับอิมเมจ x86 แบบ 32 บิตเพื่อปรับปรุงประสิทธิภาพและความเข้ากันได้กับ macOS หากพบปัญหาเกี่ยวกับเรื่องนี้โดยเฉพาะ โปรดส่งรายงานข้อบกพร่องและเพิ่ม
HVF = offต่อท้าย~/.android/advancedFeatures.ini(สร้างไฟล์นี้หากยังไม่มี) - แก้ไขปัญหาไม่มีอินเทอร์เน็ต / แนบโปรแกรมแก้ไขข้อบกพร่องไม่สำเร็จขณะใช้ Hypervisor.framework
- เราได้แทนที่การจับภาพด้วยกล้องที่ใช้ QTKit ด้วยการจับภาพแบบบัฟเฟอร์ที่ใช้ AVFoundation เพื่อเพิ่มความเข้ากันได้และประสิทธิภาพของการจับภาพด้วยเว็บแคม
- เพิ่มการรองรับ Wi-Fi ในอิมเมจระบบบางรายการ (ปัจจุบันรองรับเฉพาะระดับ API 25)
มีจุดเข้าใช้งานชื่อ "AndroidWifi" และ Android จะเชื่อมต่อโดยอัตโนมัติ คุณปิดใช้การรองรับ Wi-Fi ได้โดยเรียกใช้โปรแกรมจำลองด้วยพารามิเตอร์บรรทัดคำสั่ง
-feature -Wifi - ผู้ใช้บางรายแสดงความกังวลว่าอิมเมจระบบของ Play Store ที่มีขนาดคงที่ไม่มีพื้นที่เก็บข้อมูลเพียงพอ ด้วยเหตุนี้ เราจึงเพิ่มขนาดเป็น 2 GB โดยค่าเริ่มต้น (เพิ่มจาก 800 MB)
- เพิ่มแป้นพิมพ์ลัด (Ctrl+Shift+U) เพื่อเปิดหน้า UI การรายงานข้อบกพร่องจากหน้าการตั้งค่าโดยตรง
- แก้ไขปัญหาที่หากใช้ CPU รุ่นเก่าที่มี Intel x86 EPT แต่ไม่มี UG โปรแกรมจำลองจะบูตไม่สำเร็จหากมีการกำหนดค่ามากกว่า 1 คอร์
- แก้ไขปัญหาที่ระบบตรวจพบ HyperV อย่างไม่ถูกต้องหากโปรแกรมจำลองทำงานใน Xen 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ในคอนโซล แล้วป้อนรหัสผ่าน
ปัจจุบันระบบยังไม่รองรับ Android O สำหรับโหมด VNC
- ดำเนินการ:
เพิ่มปุ่มรายงานข้อบกพร่องในหน้าจอความช่วยเหลือของการควบคุมเพิ่มเติม (คลิกเพิ่มเติม
แล้วคลิกความช่วยเหลือและความช่วยเหลือเกี่ยวกับโปรแกรมจำลอง) การคลิกรายงานข้อบกพร่องจะเปิดกล่องโต้ตอบที่คุณสามารถดูรายละเอียดรายงานข้อบกพร่อง เช่น ภาพหน้าจอ ข้อมูลการกำหนดค่า AVD และบันทึกรายงานข้อบกพร่อง จากนั้นคุณจะบันทึกรายงานไว้ดูเองหรือรายงานปัญหาเกี่ยวกับโปรแกรมจำลองก็ได้เพิ่มเซ็นเซอร์เครื่องวัดการหมุนลงในโปรแกรมจำลองและแผงเซ็นเซอร์เสมือน ซึ่งต้องใช้ภาพระบบที่รองรับเครื่องวัดการหมุนจึงจะทำงานได้ (ปัจจุบันคือระดับ API 24 และ 25)
เพิ่ม DNS ที่โฮสต์ต้องการลงในรายการ DNS ของ Qemu ใน Windows เมื่ออินเทอร์เฟซเครือข่ายเสมือนหลายรายการในโฮสต์มีที่อยู่ DNS หลายรายการซึ่งใช้กับโปรแกรมจำลองไม่ได้
เพิ่มการรองรับ macOS Hypervisor.Framework เวอร์ชันทดลองสำหรับอิมเมจ 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 ให้เพิ่มบรรทัด
ตอนนี้โปรแกรมจำลองจะใช้ OpenGL FBO นอกหน้าจอสำหรับการแสดงผลทั้งหมด ยกเว้นการโพสต์รูปภาพที่แสดงผลขั้นสุดท้าย ซึ่งจะช่วยแก้ปัญหาความสอดคล้องของสีในแพลตฟอร์มต่างๆ
หลังจากรวบรวมข้อมูลเกี่ยวกับปัญหาโปรแกรมจำลองทำงานช้าลงอย่างกะทันหัน เราได้พิจารณาแล้วว่าปัญหาอาจเกี่ยวข้องกับการโต้ตอบบางอย่างระหว่างไดรเวอร์ Intel OpenGL รุ่นเก่ากับการอัปเดต Windows ดังนั้น ผู้ใช้ที่มี Intel HD 4000, 3000, 2000 (และ GPU ที่เกี่ยวข้อง) จะมีการตั้งค่าการแสดงผลโดยค่าเริ่มต้นเป็นโปรแกรมแสดงผล D3D (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 จนหมด
- เพิ่มการรองรับ Absolute Path ในอิมเมจโปรแกรมจำลอง
- เพิ่มแท็บใหม่ในหน้าต่างแบบขยายสำหรับรูปภาพ 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 ตั้งแต่วันที่ 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 ของผู้มาเยือน (Windows VM)
ความสัมพันธ์
- Android SDK Platform-Tools เวอร์ชัน 25.0.4 ขึ้นไป
- Android SDK Tools เวอร์ชัน 26.0.0 ขึ้นไป
ฟีเจอร์ใหม่และการแก้ไขข้อบกพร่อง
- เข้ากันได้กับ API ระดับ 26
- เป็นไปตามข้อกำหนดของ GLES 2.0 อย่างสมบูรณ์ เมื่อใช้ GPU ของโฮสต์ที่มีไดรเวอร์ OpenGL บนเดสก์ท็อปที่สอดคล้องกัน ตอนนี้โปรแกรมจำลองจะผ่านรายการ dEQP-GLES2
mustpassของ Android CTS 100% ฟีเจอร์นี้เปิดตัวสำหรับอิมเมจ 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 Platform-Tools เวอร์ชัน 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 ซึ่งช่วยเร่งความเร็วทั้งการเปิดเครื่องครั้งแรกและการเปิดเครื่องแบบ "ล้างข้อมูล" เมื่อสร้างหรือรีเซ็ต AVD ตอนนี้โปรแกรมจำลองจะเขียนข้อมูลขนาด 100-200 MB ลงในดิสก์แทนที่จะเป็น 2 GB ขึ้นไป
- การปรับปรุง GUI ต่างๆ ดังนี้
- ตอนนี้โปรแกรมจำลองใช้ Qt 5.7.0 ซึ่งรวมถึงการแก้ไขข้อบกพร่องและการปรับปรุงประสิทธิภาพ
- การเริ่มต้น UI จะไม่พยายามโหลดไฟล์ปฏิบัติการของโปรแกรมจำลองทั้งหมดเป็นปลั๊กอิน Qt อีกต่อไป ดังนั้นจึงใช้เวลาสั้นลงอย่างมาก โดยเฉพาะใน HDD
- ตอนนี้การโต้ตอบกับ UI จะรวดเร็วและราบรื่นยิ่งขึ้น ซึ่งรวมถึงการหมุน การปรับขนาดหน้าต่าง ตลอดจนการโหลดและการปิดหน้าต่างการควบคุมเพิ่มเติม
OpenXR™ และโลโก้ OpenXR เป็นเครื่องหมายการค้าของ The Khronos Group Inc. และจดทะเบียนเป็นเครื่องหมายการค้าในจีน สหภาพยุโรป ญี่ปุ่น และสหราชอาณาจักร