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

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

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

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

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

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

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

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

37.2.11 เวอร์ชันเสถียร (29 ก.ย. 2026)

  • [แก้ไขข้อบกพร่อง]ปัญหา #537802959 macOS (Apple Silicon): gRPC streamScreenshot ที่มี ImageTransport MMAP ทำให้เครื่องมือจำลองขัดข้อง / ไม่เขียนเฟรมอย่างเงียบๆ

  • [การแก้ไขข้อบกพร่อง]ปัญหา #507078580 โปรแกรมจำลองป้องกันไม่ให้ macOS เข้าสู่โหมดสลีป

  • [แก้ไขข้อบกพร่อง]ปัญหา #506475581 แก้ไขเสียงที่ยังคงผิดเพี้ยนและเสียงแตกตอนเริ่มต้นใน macOS เมื่อใช้อินเทอร์เฟซเสียง ที่มี >2 ช่อง (ลูปแบ็ก, เอาต์พุตหลายรายการ)

37.1.11 เวอร์ชันเสถียร (30 ก.ค. 2026)

  • ไดรเวอร์ไฮเปอร์ไวเซอร์ของโปรแกรมจำลองของ Android (AEHD) จะหยุดให้บริการในวันที่ 31 ธันวาคม 2026 Android Studio จะช่วยให้ผู้ใช้ Windows แปลงจาก AEHD เป็น Windows Hypervisor Platform (WHPX) เพื่อช่วยในการเปลี่ยนผ่าน ดูข้อมูลเกี่ยวกับการกำหนดค่าการเร่งความเร็ว VM โดยใช้ WHPX ได้ที่หัวข้อกำหนดค่าการเร่งความเร็ว VM โดยใช้ WHPX

    ป๊อปอัปสำหรับการอัปเดตเป็น WHPX

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

  • เพิ่มการรองรับส่วนขยาย Vulkan ใหม่ที่จำเป็นสำหรับการเรียกใช้รูปภาพระบบ API 37

  • [แก้ไขข้อบกพร่อง]ปัญหา #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 17 (API 37) ตอนนี้ Android Virtual Devices (AVD) ของโทรศัพท์กำหนดให้มี RAM ขั้นต่ำ 4 GB อย่างเคร่งครัด หากกำหนดค่า AVD ให้มีหน่วยความจำน้อยกว่านี้ โปรแกรมจำลองจะเขียนทับการตั้งค่า โดยอัตโนมัติเพื่อจัดสรรหน่วยความจำอย่างน้อย 4 GB เพื่อป้องกันปัญหาที่อาจเกิดขึ้นขณะรันไทม์

  • เพิ่มโหมดกล้อง "สภาพแวดล้อม" ลงในโปรแกรมจำลองสำหรับพื้นหลังฉากเสมือนที่กำหนดค่าได้ โดยฉากเหล่านี้กำหนดไว้ในไฟล์ environment.ini ของ AVD และ สามารถโหลดซ้ำแบบไดนามิกระหว่างรันไทม์ได้

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

  • [แก้ไขข้อบกพร่อง]ปัญหา #506475581 เสียงของโปรแกรมจำลองผิดเพี้ยนอย่างรุนแรงใน macOS เมื่อใช้อินเทอร์เฟซเสียงที่มีช่องมากกว่า 2 ช่อง (ลูปแบ็ก, เอาต์พุตหลายรายการ)

  • [แก้ไขข้อบกพร่อง]ปัญหา #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 เป็นเวอร์ชันล่าสุดใน Android Studio เครื่องมือจัดการ SDK ดูข้อมูลเพิ่มเติมได้ที่นี่

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

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

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

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

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

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

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

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

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

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

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

36.4.3 Canary (8 ธ.ค. 2025)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    แบนเนอร์ที่แสดงเมื่อผู้ใช้พยายามสร้าง AVD ใหม่ด้วย HAXM

    ดูข้อมูลเกี่ยวกับการถอนการติดตั้ง HAXM ได้ที่การถอนการติดตั้ง HAXM

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

35.4.4 Canary (12 ธ.ค. 2024)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

แอป Scene Viewer:

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

35.2.10 (1 ต.ค. 2024)

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

35.1.20 (29 ส.ค. 2024)

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

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

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

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

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

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

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

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

34.2.13 (30 เมษายน 2024)

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

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

34.1.20 (1 เมษายน 2024)

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

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

34.1.19 (7 มีนาคม 2024)

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

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

34.1.18 (29 ก.พ. 2024)

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

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

33.1.24 (28 ธ.ค. 2023)

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

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

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

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

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

32.1.15 (29 ส.ค. 2023)

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

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

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

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

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

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

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

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

32.1.12 (21 มีนาคม 2023)

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

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

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

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

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

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

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

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

31.3.13 (27 ตุลาคม 2022)

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

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

31.3.12 (10 ตุลาคม 2022)

ทดสอบกับ Android Studio Dolphin และ Electric Eel Beta 1

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

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

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

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

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

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

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

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

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

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

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

31.2.10 (20 เมษายน 2022)

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

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

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

31.2.9 (23 มีนาคม 2022)

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

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

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

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

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

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

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

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

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

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

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

31.2.6 (20 มกราคม 2022)

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

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

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

31.1.3 (18 มกราคม 2022)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

การรองรับ virtio-gpu

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

30.0.10 (30 เมษายน 2020)

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

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

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

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

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

ปัญหาที่ทราบแล้ว

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

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

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

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

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

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

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

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

ปัญหาที่ทราบแล้ว

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

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

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

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

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

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

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

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

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

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

ปัญหาที่ทราบแล้ว

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

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

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

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

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

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

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

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

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

  • adb emu avd hostmicon
  • adb emu avd hostmicoff

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  • พับ: Ctrl + F (Command + F ใน macOS)
  • กาง: Ctrl + U (Command + U ใน macOS)

มาโคร AR

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

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

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

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

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

  • Vulkan = on
  • GLDirectMem = on

การรองรับนักพัฒนา ROM ในช่วงแรก

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

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

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

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

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

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

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

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

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

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

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

ปัญหาที่ทราบแล้ว

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

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

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

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

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

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

-grpc <port>

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

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

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

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

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

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

28.0.25 (29 มีนาคม 2019)

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

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

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

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

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

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

28.0.23 (29 มกราคม 2019)

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

ปิดใช้การป้อนเสียงของโฮสต์โดยค่าเริ่มต้น

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

QuickbootFileBacked = off

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

QEMU 2.12

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

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

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

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

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

กราฟิก

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

ตำแหน่ง

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

กล้อง

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

Play Store

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

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

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

HAXM 7.3.2

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

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

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

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

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

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

27.3.10 (สิงหาคม 2018)

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

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

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

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

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

27.3.9 (กรกฎาคม 2018)

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

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

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

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

เบ็ดเตล็ด

-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)
  • ค่าที่ตั้งค่าโดยใช้คอนโซลจะถูกลบล้างด้วยค่าที่ตั้งค่าโดยใช้การควบคุมเพิ่มเติม > สถานที่ตั้งในอินเทอร์เฟซผู้ใช้แบบกราฟิก (ปัญหา 73471760)

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

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

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

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

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

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

  • จำนวนช่องโหว่ที่แก้ไขได้

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  • จำนวนช่องโหว่ที่แก้ไขได้

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

27.0.5 (มกราคม 2018)

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

    หาก ANGLE ทำงานได้ดีกว่า คุณก็เปิดใช้ซ้ำได้ด้วยบรรทัดคำสั่ง แฟล็ก -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 หากมี เพื่อเพิ่มความเสถียรในแอป OpenGL ES 2 ขึ้นไป

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

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

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

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

26.1.4 (สิงหาคม 2017)

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

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

26.1.3 (สิงหาคม 2017)

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

  • ตอนนี้คุณต้องใช้เวอร์ชันนี้เพื่อใช้รูปภาพระบบ Android 8.0 ล่าสุด โดยเป็นไปตามข้อกำหนดของ Treble และมีพาร์ติชัน vendor.img แยกกัน
  • HAXM 6.2.0 ใหม่พร้อมใช้งานแล้ว (ตรวจสอบเครื่องมือจัดการ SDK) และมีการอัปเดตต่อไปนี้
    • ปรับปรุงการใช้งานหน่วยความจำ ชุดการทำงานสูงสุดของหน่วยความจำที่ HAXM ปักหมุดไว้ จะไม่เท่ากับขนาด RAM ของ AVD อีกต่อไป แต่จะมีการแบ่งหน้าหน่วยความจำ ตามต้องการแทน ซึ่งจะช่วยให้โปรแกรมจำลองทำงานได้อย่างน่าเชื่อถือมากขึ้นในเครื่องที่มี RAM น้อยกว่า
    • ตอนนี้โปรแกรมจำลองที่มี HAXM 6.2.0 สามารถบูตได้เร็วขึ้นใน macOS โดยข้ามขั้นตอนการเริ่มต้นที่ยาวนาน
  • การปรับปรุงการกำหนดค่า GPU
    • แก้ไขปัญหาเกี่ยวกับหน้าจอสีดำเมื่อบูตขณะทำการแสดงผลซอฟต์แวร์ฝั่งแขกรับเชิญโดยเปลี่ยนกลับไปใช้การแสดงผลซอฟต์แวร์ฝั่งโฮสต์ด้วย Swiftshader การแก้ไขล่าสุดของอิมเมจระบบสำหรับ API ระดับ 19-25 ที่มี Google APIs ควรมีการแสดงผลฝั่งแขกที่ใช้งานได้
    • แก้ไขปัญหาที่อีมูเลเตอร์เปลี่ยนไปใช้โปรแกรมแสดงผลซอฟต์แวร์ เนื่องจากตรวจพบ GPU ของ Intel รุ่นเก่า แต่จริงๆ แล้วอีมูเลเตอร์ ทำงานบน GPU แยก ระบบจะกำหนด GPU ที่จะเปลี่ยนไปใช้การแสดงผล ANGLE หรือ Swiftshader ดังนี้
      • iGPU ของ Intel รุ่นเก่ามีปัญหาเกี่ยวกับไดรเวอร์ทั้งในไดรเวอร์ OpenGL และ ANGLE D3D ผู้ใช้ที่มี Intel HD Graphics 3xxx และรุ่นเก่ากว่าจะใช้ Swiftshader
      • ผู้ใช้บางรายรายงานว่าใช้รูปภาพระดับ API 25 ไม่ได้เนื่องจากข้อบกพร่องที่ทำให้ "Pixel Launcher หยุดทำงานอยู่เรื่อยๆ" ดูเหมือนว่าจะเป็น ปัญหาเกี่ยวกับไดรเวอร์ใน Intel HD 4xxx บางรุ่น ดังนั้นระบบจะเปลี่ยนไปใช้ ANGLE โดยอัตโนมัติ
    • เราขอแนะนำให้ใช้ GPU ของ NVIDIA หรือ AMD แบบแยก หรือ GPU ของ Intel รุ่นใหม่กว่า (Iris, HD 5xxx, HD 5xx/6xx) เพื่อให้ได้ผลลัพธ์ที่ดีที่สุดในการจำลอง GPU
    • แก้ไขปัญหาที่โปรแกรมจำลองเริ่มต้นไม่สำเร็จ (การจำลอง OpenGL เริ่มต้นไม่สำเร็จ) หากกำหนดค่า AVD ด้วย hw.gpu.mode=host และ เปิดโปรแกรมจำลองในไคลเอ็นต์เดสก์ท็อประยะไกล
    • อธิบายการตั้งค่า "ระดับ 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 ได้ดังนี้

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

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

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

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

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

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

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

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

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

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

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

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

26.0.0 (มีนาคม 2017)

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

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

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

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

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

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

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

ความสัมพันธ์

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

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

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

25.3.0 (มีนาคม 2017)

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

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

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

ความสัมพันธ์

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

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

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

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