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

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

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

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

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

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

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

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

35.6.11 เสถียร (24 มิ.ย. 2025)

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

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

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

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

  • การแก้ไขข้อบกพร่อง 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 ในการกำหนดค่าฮาร์ดแวร์ต่อไปนี้

  • 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
  • ในบางกรณี การสร้างอาจเกิดข้อผิดพลาดเมื่อใช้โมดูล "Baseline Profile" เป็นส่วนหนึ่งของโปรเจ็กต์เทมเพลต XR
  • ขณะนี้การช่วยเหลือพิเศษ "Talkback XR" ได้รับการผสานรวมเข้ากับโปรแกรมจำลองเพียงบางส่วนเท่านั้น

แอป Scene Viewer:

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

35.2.10 (1 ต.ค. 2024)

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

35.1.20 (29 ส.ค. 2024)

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

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

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

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

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

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

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

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

34.2.13 (30 เมษายน 2024)

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

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

34.1.20 (1 เมษายน 2024)

ทดสอบกับ Android Studio Iguana 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 Emulator จากภายในเครื่องมือทดสอบ 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 ระหว่างการติดตั้ง
  • แก้ไขข้อขัดข้องใน emulator-check

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

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

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

31.3.13 (27 ตุลาคม 2022)

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

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

31.3.12 (10 ตุลาคม 2022)

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

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

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

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

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

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

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

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

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

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

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

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

31.2.10 (20 เมษายน 2022)

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

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

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

31.2.9 (23 มีนาคม 2022)

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

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

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

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

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

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

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

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

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

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

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

31.2.6 (20 มกราคม 2022)

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

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

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

31.1.3 (18 มกราคม 2022)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

รองรับ virtio-gpu

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

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

  • ตอนนี้คุณใช้การส่งผ่าน USB ใน Windows ได้แล้วโดยใช้ -qemu -usb -device usb-host,vendorid=<usb-vendor-id>,productid=<usb-product-id> (ซึ่งควรใช้ได้ใน Linux และ macOS อยู่แล้วด้วย)
  • อัปเดตไลบรารี WebRTC เป็น M83
  • ตอนนี้โปรแกรมจำลองรองรับการสตรีมเสียงในคอนเทนเนอร์ผ่าน WebRTC แล้ว
  • มีการนำปลายทางของไปป์ไลน์ 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 ปัจจุบันในการควบคุมเพิ่มเติม > การตั้งค่า เพื่อให้คุณประหยัดพื้นที่หน้าจอแนวตั้งได้ง่ายขึ้น เราได้เปิดตัวNoDeviceFrameฟีเจอร์ Flag เพื่อซ่อนกรอบอุปกรณ์ทั่วโลกสำหรับ AVD ทั้งหมด ซึ่งสามารถเปิดใช้งานได้โดยการเปิดตัวโปรแกรมจำลองจากบรรทัดคำสั่งด้วย-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 ของแขกรับเชิญ ออก
  • ตอนนี้เชเดอร์การจำลอง ASTC/ETC2 ของ Vulkan ได้รวมอยู่ในไลบรารี libOpenglRender แล้ว ซึ่งจะมีความน่าเชื่อถือมากกว่าการอ่านจากระบบไฟล์
  • แก้ไขปัญหาใน Vulkan ที่หากเรียกใช้ด้วยอินสแตนซ์ Vulkan 1.0 ในโฮสต์ vkGetImageMemoryRequirements2KHR จะล้างฟิลด์ pNext ของโครงสร้าง VkMemoryRequirements2 ที่ส่งคืนอย่างไม่ถูกต้อง
  • แก้ไขปัญหาหน่วยความจำรั่วไหลในโปรแกรมแสดงผล Vulkan
  • แก้ไขการถดถอยล่าสุดที่ทำให้คอมไพเลอร์ไม่สามารถคอมไพล์เชดเดอร์ GLSL ES 1.00 ที่มีชื่อตัวแปร เช่น isampler2D
  • อัปเดตตัวแปล Shader ของ ANGLE พร้อมการแก้ไขต่างๆ ที่ช่วยแก้ปัญหา การคอมไพล์ Shader ใน Linux ที่อาจเกิดขึ้น
  • ตอนนี้เราจะทำให้โปรแกรมจำลองขัดข้องหาก Shader การส่งผ่านเฟรมบัฟเฟอร์พื้นฐานคอมไพล์ไม่สำเร็จ เพื่อติดตามปรากฏการณ์นี้
  • อัปเดตตัวแปล Shader ของ ANGLE เพื่อให้เป็นเวอร์ชันล่าสุดของ ANGLE การแก้ไขนี้ช่วยแก้ปัญหา เกี่ยวกับความเสียหายของหน่วยความจำเมื่อแปลและพับค่าคงที่ของเชเดอร์ OpenGL ES ที่ใช้เมทริกซ์ที่ไม่ใช่สี่เหลี่ยมจัตุรัส ตอนนี้ตัวแปล Shader เป็น ไลบรารีที่ใช้ร่วมกันlibshadertranslator.dllแยกต่างหากแล้ว
  • แก้ไขปัญหาการเริ่มต้น Vulkan ในไดรเวอร์ GPU บางตัว ซึ่งไม่พบฟังก์ชันอุปกรณ์บางอย่างในเวอร์ชัน 1.1
  • Vulkan: เราได้เปลี่ยนกลับไปใช้โปรแกรมโหลดที่สร้างไว้ล่วงหน้าแล้ว เนื่องจากโปรแกรมโหลด Vulkan ของระบบทำให้เกิดปัญหาในการตั้งค่าบางอย่าง และจะหาวิธีแก้ปัญหาที่ดีกว่านี้
  • แก้ไขปัญหาเมื่อใช้หน่วยความจำภายนอกของ Vulkan ซึ่งอาจมีการนำเข้าดัชนีประเภทหน่วยความจำที่ไม่ตรงกันในโฮสต์
  • แก้ไขปัญหาในการจำลอง GL_ALIASED_POINT_SIZE_RANGE ที่โฮสต์ไม่รองรับ Enum
  • แก้ไขปัญหาที่ GPU ของโฮสต์บางเครื่องคอมไพล์เชเดอร์ Skia ไม่ได้เนื่องจาก ข้อผิดพลาดที่เกี่ยวข้องกับ GL_EXT_shader_framebuffer_fetch
  • เนื่องจากเราได้นำสำเนารุ่นการแสดงผล ANGLE ของ D3D9 ออกไปเมื่อ 2-3 เวอร์ชันที่แล้ว ตอนนี้เราจึงเปลี่ยนผู้ใช้ที่ใช้รุ่นการแสดงผลนั้นเป็น ANGLE ของ d3d11 โดยอัตโนมัติด้วย หากมีการเลือก ในค่ากำหนด UI
  • เพิ่มข้อมูลการแก้ไขข้อบกพร่องเพิ่มเติมลงในการเริ่มต้น WGL ใน Windows เพื่อติดตามความล้มเหลว
  • เมื่อ hw.gltransport=virtio-gpu-pipe ประสิทธิภาพจะดีขึ้นโดยไม่หมุน ในโฮสต์ในการโอนจากโฮสต์ไปยังแขก
  • เพิ่มการบันทึกการแก้ไขข้อบกพร่องเพิ่มเติมในกรณีที่การจำลอง OpenGLES เริ่มต้นไม่สำเร็จ
  • แก้ไขปัญหาเกี่ยวกับวิดีโอ YouTube ที่กะพริบหรือไม่แสดงในสแนปชอต โหลด
  • ตอนนี้เราได้เปลี่ยนกลับไปใช้การถอดรหัสซอฟต์แวร์สำหรับ libvpx เนื่องจากพบปัญหาเกี่ยวกับการถอดรหัสฮาร์ดแวร์ CUDA ของ libvpx หากมีการติดตั้งใช้งานการถอดรหัสฮาร์ดแวร์ CUDA ที่รองรับในฝั่งโฮสต์ คุณจะเปิดใช้การถอดรหัสฮาร์ดแวร์ของ libvpx อีกครั้งได้ผ่านตัวแปรสภาพแวดล้อม ANDROID_EMU_MEDIA_DECODER_CUDA_VPX=1

30.0.10 (30 เมษายน 2020)

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

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

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

โหมดหน้าต่างอิสระ

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

สำหรับการอัปเดตนี้ ความพยายามส่วนใหญ่ในโปรเจ็กต์ 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 พร้อมกันไม่ได้ ตอนนี้โปรแกรมจำลองจะพยายามเปิดใช้ AVD -read-only อีก 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 ที่มีสแนปชอต ซึ่งมีการแสดงผลรูปทรงของแถบการแจ้งเตือน ด้วยการตั้งค่าตัวหารอินสแตนซ์ที่ไม่เหมาะสม
  • แก้ไขปัญหาการขัดข้องและการค้างที่เกิดขึ้นได้ยากเมื่อเปิดตัว ซึ่งเกิดจาก 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 Emulator ได้สูงสุด Vulkan 1.1 เมื่อใช้ Image ของระบบที่เข้ากันได้ (Android Q Beta 3 ขึ้นไปสำหรับ Vulkan 1.1, Android Q Beta 2 สำหรับ Vulkan 1.0) และ GPU โฮสต์ที่เข้ากันได้ (ซึ่ง รวมถึง GPU ส่วนใหญ่ของ Intel, NVIDIA และ AMD ตั้งแต่ปี 2014 เป็นต้นมา)

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

  • Vulkan = on
  • GLDirectMem = on

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

-grpc <port>

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

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

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

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

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

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

28.0.25 (29 มีนาคม 2019)

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

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

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

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

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

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

28.0.23 (29 มกราคม 2019)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

QuickbootFileBacked = off

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

QEMU 2.12

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

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

  • 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 Emulator รองรับการรองรับเท็กซ์เจอร์ที่บีบอัด ASTC LDR (GL_KHR_texture_compression_astc_ldr) สำหรับอิมเมจระบบที่ใช้ API ระดับ 28 ขึ้นไปแล้ว
  • ตอนนี้ GPU รุ่นใหม่ส่วนใหญ่ควรจะเปิดตัวโปรแกรมจำลองด้วย OpenGL ES 3.x ที่เปิดใช้โดยค่าเริ่มต้นได้โดยไม่ต้องใช้GLESDynamicVersionฟีเจอร์แฟล็ก
  • เลิกใช้งาน -gpu guest (การแสดงผลซอฟต์แวร์ในแขกรับเชิญ) แล้ว ตอนนี้อิมเมจระบบสำหรับ API ระดับ 28 ขึ้นไปจะเปลี่ยนไปใช้ Swiftshader โดยอัตโนมัติแทน (-gpu swiftshader_indirect)
  • หากเปิดโปรแกรมจำลองจากบรรทัดคำสั่งโดยใช้ Flag -no-window ตอนนี้โปรแกรมแสดงผลเริ่มต้นคือ Swiftshader

ตำแหน่ง

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

กล้อง

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

Play Store

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

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

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

HAXM 7.3.2

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

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

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

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

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

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

27.3.10 (สิงหาคม 2018)

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

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

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

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

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

27.3.9 (กรกฎาคม 2018)

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

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

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

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

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

27.3.8 (กรกฎาคม 2018)

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

สแนปชอต

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

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

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

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

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

HAXM 7.2.0

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

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

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

27.2.9 (พฤษภาคม 2018)

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

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

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

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

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

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

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

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

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

ภาพหน้าจอ

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

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

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

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

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

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

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

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

สแนปชอต

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

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

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

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

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

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

  su
  setprop debug.hwui.renderer skiagl
  stop
  start

กล้อง

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

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

เบ็ดเตล็ด

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

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

การแก้ไข

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

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

27.1.12 (มีนาคม 2018)

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

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

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

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

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)

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

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

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

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

    การเลือกของคุณจะมีผลกับ AVD ที่เปิดอยู่เท่านั้น

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

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

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

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

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

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

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

26.1.4 (สิงหาคม 2017)

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

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

26.1.3 (สิงหาคม 2017)

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

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

26.0.0 (มีนาคม 2017)

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

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

  • เพิ่มฟีเจอร์แฟล็กที่อัปเดตออนไลน์ได้เพื่อแก้ไขปัญหาอย่างรวดเร็ว ซึ่งเกิดจากการกำหนดค่าฮาร์ดแวร์ที่เป็นปัญหา ซึ่งจะช่วยให้ Google เปิดตัวการแก้ไขและฟีเจอร์ที่ขึ้นอยู่กับการกำหนดค่าของผู้ใช้ได้โดย การอัปเดตแฟล็กฝั่งเซิร์ฟเวอร์ หากพบปัญหาเกี่ยวกับฮาร์ดแวร์ที่เฉพาะเจาะจง โปรดรายงานข้อบกพร่องเพื่อให้เราตรวจสอบปัญหาได้
  • เพิ่มการรองรับการหมุน อินพุตสำหรับรูปภาพระบบ Android Wear API ระดับ 25 หากต้องการจำลองแป้นหมุนป้อนข้อมูลในอุปกรณ์ Wear ให้คลิกแท็บการป้อนข้อมูลแบบหมุนในหน้าต่างแบบขยาย
  • ตอนนี้คุณปรับขนาดกล่องโต้ตอบการรายงานข้อขัดข้องได้แล้ว และจะไม่รีเซ็ตเวลาที่จะส่งรายงานข้อขัดข้องเป็นถามโดยไม่มีการป้อนข้อมูลอีกต่อไป
  • ตอนนี้โปรแกรมจำลอง 32 บิตกำหนดให้ขนาด RAM ของ AVD สูงสุดต้องน้อยกว่าหรือเท่ากับ 512 MB เพื่อป้องกันไม่ให้โปรแกรมจำลองมีพื้นที่ไม่เพียงพอในพื้นที่ที่อยู่เสมือน 2 GB
  • เพิ่มการรองรับเส้นทางแบบสัมบูรณ์ในอิมเมจของโปรแกรมจำลอง
  • เพิ่มแท็บใหม่ในหน้าต่างแบบขยายสำหรับรูปภาพ Google Play Store ซึ่ง แสดงเวอร์ชันของบริการ Play และปุ่มเพื่อตรวจหาการอัปเดตบริการ 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 Emulator เวอร์ชัน 26.0.0 รองรับ HAXM v6.1.1 ซึ่งมีการอัปเดตดังต่อไปนี้

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

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

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

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

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

25.3.0 (มีนาคม 2017)

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

การแก้ไขเล็กน้อย 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 ของดิสก์ ซึ่งส่งผลให้เวลาในการตอบสนองต่ำลงและอัตราการส่งข้อมูลดีขึ้น (~1.5 เท่าของความเร็ว I/O แบบลำดับ, ~5 เท่าของความเร็ว I/O แบบสุ่ม) นอกจากนี้ยังช่วย ลดจำนวนการล้างข้อมูลไปยังดิสก์ ซึ่งส่งผลให้โหลดของอุปกรณ์จริง ลดลงอย่างมาก
  • ตอนนี้โปรแกรมจำลองใช้ไฟล์แบบกระจายสำหรับการบูตดิสก์ในเครื่อง Windows ซึ่งช่วยเร่งการบูตครั้งแรกและการบูต "wipe-data" เมื่อ สร้างหรือรีเซ็ต AVD ตอนนี้โปรแกรมจำลองจะเขียนข้อมูล 100-200 MB ลงในดิสก์แทนที่จะเป็น 2 GB ขึ้นไป
  • การปรับปรุง GUI ต่างๆ ดังนี้
    • ตอนนี้โปรแกรมจำลองใช้ Qt 5.7.0 ซึ่งมีการแก้ไขข้อบกพร่องและ ปรับปรุงประสิทธิภาพ
    • การเริ่มต้น UI จะไม่พยายามโหลดไฟล์ที่เรียกใช้งานได้ของโปรแกรมจำลองทั้งหมดเป็นปลั๊กอิน Qt อีกต่อไป จึงใช้เวลาน้อยลงอย่างมาก โดยเฉพาะใน HDD
    • ตอนนี้การโต้ตอบ UI เร็วขึ้นและราบรื่นขึ้น ซึ่งรวมถึง การหมุน การปรับขนาดหน้าต่าง และการโหลดหน้าต่างการควบคุมเพิ่มเติม และการปิด

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