โปรแกรมจำลอง Android มาพร้อมกับ Android Studio
โปรแกรมจำลองเวอร์ชันก่อน 25.3.0 ได้รับการเผยแพร่เป็นส่วนหนึ่งของ Android เครื่องมือ SDK
ตรวจสอบว่าคุณมีเวอร์ชันล่าสุด ให้ตรวจสอบ SDK Manager สำหรับการอัปเดต
หากต้องการดาวน์โหลดโปรแกรมจำลอง Android เวอร์ชันก่อนหน้า โปรดดูที่ ที่เก็บถาวรสำหรับดาวน์โหลดโปรแกรมจำลอง
สำหรับบันทึกประจำรุ่นสำหรับโปรแกรมจำลองเวอร์ชันก่อน 25.3.0 โปรดดูที่ บันทึกประจำรุ่นของเครื่องมือ Android SDK
สำหรับปัญหาที่ทราบและการแก้ปัญหา โปรดดูที่การแก้ปัญหาเกี่ยวกับโปรแกรมจำลอง
34.2.16 (9 กรกฎาคม 2024)
- [แก้ไขข้อบกพร่อง] UI ค้างใน Pixel Fold ระหว่างการพับ/กางออก
- [แก้ไขข้อบกพร่อง] การแสดงเวอร์ชัน Android เป็น Android Vanilla Ice Cream ไม่ถูกต้อง แสดงตัวอย่างแทน 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 ที่ใช้ในฟีเจอร์ตำแหน่งในการควบคุมเพิ่มเติมของ โปรแกรมจำลองที่สร้างในช่วงปลายเดือนพฤษภาคม
- การแก้ไขการขัดข้องที่มีผลกระทบสูง
- การแก้ไขต่างๆ ใน Pixel AVD
- อัปเดตไลบรารีกราฟิกที่ใช้สำหรับการแสดงผลซอฟต์แวร์
- [แก้ไขข้อบกพร่อง]ปัญหา 225541819 การเริ่มโปรแกรมจำลองข้อขัดข้องของ Chrome ใน x86_64
- [แก้ไขข้อบกพร่อง]ปัญหา 314614435 สวิตช์
-http-proxy
แยกวิเคราะห์ไม่ถูกต้อง
34.1.20 (1 เมษายน 2024)
ทดสอบกับ Android Studio Iguana เวอร์ชันเสถียร
- [แก้ไขข้อบกพร่อง] ปัญหา #314614435: แก้ไขปัญหาที่สวิตช์
-http-proxy
แยกวิเคราะห์ไม่ถูกต้อง
34.1.19 (7 มีนาคม 2024)
ทดสอบกับ Android Studio Iguana เวอร์ชันเสถียร
- [แก้ไขข้อบกพร่อง] ปัญหา #312677259: แก้ปัญหาหน้าจอค้างในโปรแกรมจำลองที่ฝังหลังจากปรับขนาดหน้าต่าง
34.1.18 (29 ก.พ. 2024)
ทดสอบกับ Android Studio Iguana เวอร์ชันเสถียร
- มีการเพิ่มอุปกรณ์ลงในโปรแกรมจำลอง ได้แก่
- Pixel Fold
- Pixel Tablet
- Pixel 8
- Pixel 8 Pro
- Pixel 7a
- การทดสอบการผสานรวม gRPC: ตอนนี้ปลายทาง gRPC พร้อมใช้งานกับการทดสอบแบบมีเครื่องควบคุมซึ่งดําเนินการภายในโปรแกรมจําลองซึ่งจะช่วยให้สามารถทดสอบสถานการณ์ที่สมจริง ฟีเจอร์นี้ช่วยให้นักพัฒนาแอปโต้ตอบกับปลายทาง gRPC ที่โฮสต์โดย Android Emulator จากภายในการทดสอบการวัดคุมของ Android ได้อย่างปลอดภัย
- การแก้ไขข้อบกพร่องหลายรายการ
- แก้ไขข้อบกพร่อง: การปรับปรุงความสามารถในการใช้งานอุปกรณ์แบบพับได้
- แก้ไขข้อบกพร่อง: ปรับตำแหน่งของโปรแกรมจำลองหลังจากหมุน
- การแก้ไขข้อขัดข้อง
33.1.24 (28 ธ.ค. 2023)
ทดสอบกับ Android Studio Hedgehog Stable และ Iguana Beta 1
- แก้ไขปัญหาเว็บแคมโปรแกรมจำลองที่ไม่อนุญาตให้บันทึกหน้าจอในรูปแบบ mp4
- แก้ไขข้อขัดข้องของโปรแกรมจำลองใน Pixel Fold AVD เมื่อกางออกระหว่างการบันทึกหน้าจอ
- แก้ปัญหาที่ Pixel Fold แสดงสกินของโทรศัพท์ที่ต่างออกไปซึ่งมีแป้นพิมพ์แยกต่างหากและใช้งานไม่ได้ (แก้ไขใน Windows, Mac Intel และ Linux)
- แก้ไขข้อบกพร่องที่ปรากฏในเซ็นเซอร์เสมือนในโหมดสแตนด์อโลน (แก้ไขอยู่ใน Windows, Mac Intel และ Linux)
- แก้ไขข้อขัดข้องบางรายการ โดยเฉพาะอย่างยิ่งขณะปิดโปรแกรมจำลอง
33.1.23 (30 พ.ย. 2023)
ทดสอบกับ Android Studio Giraffe Patch 4 และ Hedgehog Stable
- การใช้งานแบบพับได้แบบใหม่เพื่อให้เลียนแบบอุปกรณ์ Pixel Fold ได้ดียิ่งขึ้น ใช้งานได้กับ API 34 ล่าสุด
- การอัปเกรดแบ็กเอนด์ของกราฟิก: เราได้ใช้โปรโตคอล gfxstream สำหรับกราฟิกแบ็กเอนด์ของเรา ซึ่งการเพิ่มประสิทธิภาพนี้ช่วยยกระดับประสิทธิภาพกราฟิกโดยรวมและความเสถียรของระบบของคุณ นอกจากนี้ เราขอแนะนำการรองรับ Vulkan 1.3 โดยเริ่มจากอิมเมจระบบที่มี API 34
- คำขอคุณลักษณะ: ตัวเลือกในการปิดใช้ท่าทางสัมผัสแบบบีบเพื่อซูมหรือกำหนดแป้นลัดอีกครั้ง
- [แก้ไขข้อบกพร่อง] ปัญหา #302562962 แก้ไขข้อขัดข้องของเว็บแคมโปรแกรมจำลองเมื่อใช้ Sonoma ของ MacOS
- [แก้ไขข้อบกพร่อง] ปัญหา #293503871 แก้ไขปัญหา "ไมโครโฟน" ไม่มีการบันทึกการตั้งค่าเมื่อรีสตาร์ทโปรแกรมจำลอง
- [แก้ไขข้อบกพร่อง] ปัญหา #270386314 แก้ไขข้อผิดพลาดของภาพเคลื่อนไหวที่แถบด้านข้างยังเปิดอยู่เมื่อหน้าจอ AVD ย่อขนาด
- [แก้ไขข้อบกพร่อง] ปัญหา #154896775 เครื่องมือแก้ไขข้อบกพร่อง
15.32.15 (29 ส.ค. 2023)
ทดสอบด้วย Android Studio Giraffe Patch 1 และ Hedgehog Canary 16
- ปฏิบัติตามข้อกําหนด HW ของ GAS สำหรับเซ็นเซอร์ในโปรแกรมจำลอง AAE
- [แก้ไขข้อบกพร่อง] ปัญหา #266201208 ไม่มีการส่ง SMS ภาษาฮีบรูบน API 33
- [แก้ไขข้อบกพร่อง] ปัญหา #257097404 โปรแกรมจำลองไม่แสดงเวลาที่ถูกต้องหลังจากโฮสต์เริ่มทำงานบน API 29 และ 30
- [แก้ไขข้อบกพร่อง] ปัญหา #228201899 ไม่เห็น Google Maps ในการควบคุมแบบขยายของโปรแกรมจำลอง Android
32.1.14 (27 มิถุนายน 2023)
ทดสอบกับ Android Studio Hedgehog Canary 8, Giraffe Beta 5 และ Flamingo เสถียร
- แก้ไขการวางแนวกล้องของโปรแกรมจำลอง การบิดเบี้ยว
- [แก้ไขข้อบกพร่อง] ปัญหา #257097404 "โปรแกรมจำลองแสดงเวลาที่ไม่ถูกต้องหลังจากผู้จัดตื่นนอน" ข้อบกพร่องนี้ ยังคงเกิดปัญหาซ้ำสำหรับ API 29 และ API 30
- [แก้ไขข้อบกพร่อง] ปัญหา #243456582 "Android เปิดตัวหลังจาก API 30 อาจเริ่มต้นไม่ถูกต้องในโปรแกรมจำลองเมื่อ เครื่อง Mac M1"
13.32.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 หมายเลข 281725854 โปรดดูข้อมูลเพิ่มเติมที่การแก้ปัญหาโปรแกรมจำลอง
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 ระหว่างการติดตั้ง
- แก้ไขข้อขัดข้องในการตรวจสอบโปรแกรมจำลอง
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 เบต้า 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
- [แก้ไขข้อบกพร่อง] เกิดข้อผิดพลาดขณะเปิด API 33 AVD ใน 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" บนแพลตฟอร์ม 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 ออกโดยใช้ MAT Mac อีเมล
- Wi-Fi: แก้ไขข้อขัดข้องขณะใช้ VMnet อยู่
30.9.5 (15 ธันวาคม 2021)
การอัปเดตนี้ประกอบด้วยการปรับปรุงและการแก้ไขต่อไปนี้
- เพิ่มความสามารถในการปรับขนาดให้เหมาะกับหน้าต่างขนาดเดสก์ท็อปหรือแท็บเล็ตได้อย่างง่ายดาย
- เพิ่มการรองรับการป้อนข้อมูลแบบมัลติทัชจากอุปกรณ์โฮสต์ที่เข้ากันได้
- VirtioWifi: เพิ่มการสนับสนุนสำหรับเครือข่ายแบบแตะ
- เปิดใช้อินพุตแบบหมุนสำหรับรูปภาพระบบ Wear แล้ว
- แก้ปัญหาการกำหนดค่าเสียง gRPC
- อัปเดตการเล่นโปรแกรมจำลอง SensorReplay ให้รองรับเซ็นเซอร์ Android มาตรฐาน
- เชื่อมต่อโปรแกรมจำลองกับอุปกรณ์ต่อพ่วงและอุปกรณ์โดยใช้ USB ที่มีการส่งผ่าน USB
30.4.5 (23 กุมภาพันธ์ 2021)
การอัปเดตนี้ประกอบด้วยการปรับปรุงและการแก้ไขต่อไปนี้
- macOS: แก้ปัญหาอินพุตเสียงบิดเบี้ยว
- เพิ่มการรองรับ virtio-vsock ในพื้นที่ผู้ใช้
- อิมเมจระบบในอนาคตจะใช้ virtio-console สำหรับข้อความ Logcat และ Kernel
- เร่งการแสดงผล Vulkan
- เพิ่มการสนับสนุนสำหรับการแก้ไขข้อบกพร่องสแนปชอตเมื่อการทดสอบล้มเหลว
- virtio-gpu: อัปเดตคำจำกัดความเพื่อรองรับ enum ของทรัพยากร BLOB ล่าสุด
- เพิ่มการรองรับสแนปชอตสำหรับ "asg" แล้ว ประเภทกราฟิก
- macOS: เพิ่มการรองรับการสร้างเพื่อเทียบกับ macOS SDK 11.1 ขึ้นไป
- เปิดใช้ KVMclock โดยค่าเริ่มต้นสำหรับอิมเมจระบบที่ใหม่กว่า
- เพิ่มการรองรับเซ็นเซอร์วัดอัตราการเต้นของหัวใจไปยังโปรแกรมจำลอง Wear
- นำแบ็กเอนด์ Vulkan สำหรับความสามารถในการถ่ายโอนได้ออกแล้ว
- เพิ่มการรองรับฟีเจอร์เพิ่มเติมในเครื่องมือจำลองโมเด็ม
30.0.26 (16 สิงหาคม 2020)
การอัปเดตนี้ประกอบด้วยฟีเจอร์ใหม่ การปรับปรุงฟีเจอร์ที่มีอยู่แล้ว และแก้ไขข้อบกพร่องต่างๆ
รองรับอุปกรณ์แบบพับได้พร้อมเซ็นเซอร์บานพับเสมือนจริงและมุมมอง 3D
เพิ่มการรองรับเซ็นเซอร์บานพับสำหรับอุปกรณ์แบบพับได้ ต้องดำเนินการในอนาคต อิมเมจระบบ Android 11 และการกำหนดค่า AVD มุมมองและบานพับแบบพับได้ 3 มิติ ผสานรวมกับค่าที่กำหนดล่วงหน้าแบบพับได้ที่มีอยู่แล้ว ดังต่อไปนี้ สามารถใช้กับไฟล์
config.ini
ของ AVD แบบ 7.3 แบบพับได้hw.sensor.hinge = yes hw.sensor.hinge.count = 1 hw.sensor.hinge.type = 1 hw.sensor.hinge.ranges = 180-360 hw.sensor.hinge.defaults = 180 hw.sensor.hinge.areas = 54.7-0 hw.sensor.posture_list=4, 3 hw.sensor.hinge_angles_posture_definitions=210-360, 180-210 hw.sensor.hinge.fold_to_displayRegion.0.1_at_posture=4
ขณะนี้อุปกรณ์แบบพับได้มีพารามิเตอร์ประเภทย่อยด้วย
config.ini
พร็อพเพอร์ตี้hw.sensor.hinge.sub_type = hinge/fold
พร้อมใช้งานแล้ว โปรดดู การพัฒนาสำหรับ Android 11 ด้วย Android โปรแกรมจำลอง เพื่ออ่านข้อมูลเพิ่มเติมเปิดใช้เซ็นเซอร์บานพับโดยค่าเริ่มต้นแล้ว
หากมีการกำหนดค่าอุปกรณ์แบบพับได้ โปรแกรมจำลองจะส่งเซ็นเซอร์มุมบานพับ ข้อมูลอัปเดตและการเปลี่ยนแปลงท่าทางของแขกรับเชิญ ขณะนี้อุปกรณ์แบบพับได้ที่มีอยู่แล้ว อัปเดตมุมและลักษณะการใช้งานเซ็นเซอร์บานพับเมื่อปุ่มพับหรือกางออกของแถบเครื่องมือ จะกด
โปรแกรมจำลองสำหรับโฮสต์ ARM64
ตอนนี้ซอร์สโค้ดโปรแกรมจำลอง Linux รองรับการคอมไพล์แบบข้ามระบบตั้งแต่ x86_64 ถึง arm64 แล้ว เปิดใช้การเรียกใช้อิมเมจระบบ arm64 ด้วยระบบเสมือนจริง KVM ปัจจุบัน เฉพาะ
-gpu swiftshader_indirect
(การแสดงผลโฮสต์ Swiftshader arm64) เท่านั้น แต่รองรับชุดไลบรารีโฮสต์ GPU libEGL/libGLESv2 ที่ใช้งานร่วมกันได้ยังอาจ ด้วยการแทนที่ lib64/gles_swiftshader ด้วย จากนั้นเปิดใช้งานอีกครั้งด้วย-gpu swiftshader_indirect
ภาพหน้าจออาจไม่ทำงานเช่นกัน (เพิ่ม-no-snapshot
ไปยังบรรทัดคำสั่ง) วิธีการ:mkdir emu cd emu repo init -u https://android.googlesource.com/platform/manifest -b emu-master-dev --depth=1 repo sync -qcj 12 cd external/qemu pip install absl-py pip install urlfetch sudo apt-get install crossbuild-essential-arm64 python android/build/python/cmake.py --noqtwebengine --noshowprefixforinfo --target linux_aarch64
ระบบกำลังรองรับ Apple Silicon
การสนับสนุน virtio-gpu
- เพิ่มการสนับสนุนฝั่งโฮสต์สำหรับ BLOB ที่สอดคล้องกันของโฮสต์ virtio-gpu ที่กำลังจะมีขึ้น ที่ไม่ซับซ้อน
- ตอนนี้เราประมวลผล virtio-gpu virtqueue ใน เทรด Vcpu (เนื่องจากมีการโหลดภาพไปยังเทรดอื่นอยู่แล้ว) ระบบจะเปิดใช้การแสดงผล virtio-gpu ในอิมเมจและระบบจำลองในอนาคต เวอร์ชัน
- ในอนาคต โปรแกรมจำลองอิมเมจจะสามารถเรียกใช้กราฟิกทั้งหมดด้วย สแต็กที่ใช้ virtio-gpu
ฟีเจอร์ใหม่และการเพิ่มประสิทธิภาพอื่นๆ
- การส่งผ่าน USB พร้อมใช้งานใน Windows ที่ใช้
-qemu -usb -device usb-host,vendorid=<usb-vendor-id>,productid=<usb-product-id>
แล้ว (ทั้งนี้ควร ทำงานบน Linux และ macOS อยู่แล้ว) - อัปเดตไลบรารี WebRTC เป็น M83
- ตอนนี้โปรแกรมจำลองรองรับการสตรีมเสียงในคอนเทนเนอร์ผ่าน WebRTC แล้ว
- นำจุดสิ้นสุดไปป์ของ darwinn ออกแล้ว
- การถอดรหัส CUDA VPx สำหรับวิดีโอพร้อมใช้งานแล้ว หากการถอดรหัส CUDA VPx พร้อมใช้งานใน
ฮาร์ดแวร์ ผ่านตัวแปรสภาพแวดล้อม
ANDROID_EMU_MEDIA_DECODER_CUDA_VPX=1
- ใน macOS คุณสามารถใช้ SSE 4.1 และ 4.2 ได้จากใน Android Guest แล้ว
- ตอนนี้ INVTSC จะเปิดใช้โดยค่าเริ่มต้นใน macOS วิธีนี้ช่วยเพิ่มความถูกต้องของเวลาได้ ข้อมูลที่ได้รับจากผู้มาเยือน
- ตอนนี้เราจะติดตามว่าผู้ใช้เลือกแผงควบคุมเพิ่มเติมใดในเมตริก
- ขณะนี้โปรแกรมจำลอง Linux ใช้นาฬิกาแบบพาราไวต์ของ KVM เมื่อเคอร์เนลของผู้มาเยือน เวอร์ชัน >= 5.4 (อิมเมจระบบ R ขึ้นไป)
- ขณะนี้โปรแกรมจำลองใช้ LZ4 ในการขยายเคอร์เนลของผู้มาเยือน ทำให้ใช้งานกับ ไปป์ไลน์เคอร์เนลสมัยใหม่
เพิ่มคำสั่งของคอนโซลเพื่อรับไดเรกทอรี AVD โปรแกรมจำลอง ไฟล์การค้นพบ ใน Use Case ที่ฝังใน Studio และเส้นทางไปยังสแนปชอต:
adb emu avd path # Obtains path to AVD directory adb emu avd discoverypath # Obtains path to discovery file adb emu avd snapshotspath # Obtains path to snapshots folder adb emu avd snapshotpath <snapshotName> # Obtains path to the folder that stores the snapshot for the snapshot with name <snapshotName>
เพื่อช่วยให้คุณประหยัดพื้นที่หน้าจอแนวตั้งได้ง่ายขึ้น เราได้เพิ่มตัวเลือกในการซ่อน เฟรมอุปกรณ์สำหรับ AVD ปัจจุบันในการควบคุมแบบขยาย > การตั้งค่า ถึง ซ่อนเฟรมอุปกรณ์สำหรับ AVD ทั้งหมดทั่วโลก เราจึงทำให้ แฟล็กฟีเจอร์ของ
NoDeviceFrame
ซึ่งเปิดใช้งานได้ผ่านการเปิดตัวโปรแกรมจำลอง จากบรรทัดคำสั่งที่มี-feature NoDevice
เฟรม หรือเพื่อล็อกไว้ การเพิ่มNoDeviceFrame = on
ถึง~/.android/advancedFeatures.ini
(สร้างไฟล์นี้หาก ไม่เคยมีมาก่อน)เพิ่มรายการแบบเลื่อนลงในหน้าเครือข่ายมือถือเพื่อเปิดและปิดการตรวจสอบการใช้งาน รองรับ ซึ่งเป็นการดำเนินการสำหรับอิมเมจระบบรุ่นเก่าที่ไม่รองรับ 5G สลับการวัด
- เพิ่มคำสั่งคอนโซลเพื่อวัตถุประสงค์เดียวกันด้วย:
gsm meter on|off
- เพิ่มคำสั่งคอนโซลเพื่อวัตถุประสงค์เดียวกันด้วย:
อัปเกรด Toolchain / บิลด์เป็น C++17
การแก้ไข: โปรแกรมจำลองแบบฝัง
- ตอนนี้คลิปบอร์ดควรใช้งานได้แล้ว
- แก้ปัญหาที่ระบบส่งอักขระตัวพิมพ์ใหญ่เป็นอักขระตัวพิมพ์เล็ก ในโปรแกรมจำลอง
- แก้ไขการโหลดโทเค็นคอนโซลจากเส้นทาง Unicode ในหน้าต่าง
- แก้ไขข้อความแสดงข้อผิดพลาด
SO_REUSEPORT
ใน Linux - แก้ปัญหาสแนปชอตเสียหายเมื่อส่งคำสั่งสแนปชอตผ่าน gRPC รวมถึงเมื่อกดปุ่มบันทึกสแนปชอตใน Android Studio ที่ฝัง โปรแกรมจำลอง
เมื่อใช้โปรแกรมจำลอง Linux ที่ฝังใน Studio เราพบว่าถ้าเกิดสิ่งนี้ขึ้น ดำเนินการใน Chrome Remote Desktop แล้ว มีข้อบกพร่องที่
XDG_RUNTIME_DIR
ไม่ได้ตั้งค่า และอาจทำให้โปรแกรมจำลองที่ฝังไม่ปรากฏเนื่องจาก กำลังวางไฟล์การค้นหาโปรแกรมจำลองในXDG_RUNTIME_DIR
คุณสามารถตรวจสอบ สถานะของปัญหาที่เกี่ยวข้องในปัญหาของ Chrome แท็กติดตามในตอนนี้โปรแกรมจำลองจะกลับไปใช้ไฟล์การค้นพบใน ไดเรกทอรีที่อาจจะเป็นคนละไดเรกทอรีที่อิงจาก UID ของผู้ใช้:
/run/user/<uid>
โปรแกรมจำลองแบบฝัง: อุปกรณ์ที่มีมุมโค้ง/รอยบากเปลี่ยนอย่างถูกต้อง เพื่อเพิ่มพื้นที่ว่างสำหรับมุมและรอยบาก การดำเนินการนี้ต้องใช้การเปิดเครื่อง Cold Boot ของโปรแกรมจำลองเหล่านั้น
ขณะนี้ปลายทาง gRPC รองรับการส่ง SMS ไปยังอุปกรณ์แล้ว
การแก้ไขทั่วไป
- เราพบปัญหาความเข้ากันได้ของการใช้โปรแกรมจำลอง Windows กับ Riot Vanguard ใช้งานอยู่ ตอนนี้โปรแกรมจําลองของ Windows จะตรวจพบโปรแกรมป้องกันการโกงและป๊อปอัปของ Vanguard แสดงข้อความเตือนหากตรวจพบ Vanguard
- แก้ไขข้อผิดพลาด
FD_SETSIZE
รายการใน Windows ขณะนี้เราใช้WSAEventSelect()
แทนselect()
สำหรับการสร้างการเชื่อมต่อแบบไม่บล็อกไปยังเซิร์ฟเวอร์ Loopback - เพิ่มการรองรับฟีเจอร์ F16C CPUID ในโปรแกรมจำลอง Linux พร้อมแก้ไขปัญหาที่ทำงานอยู่ แอปพลิเคชัน ARM64 บางรายการผ่านการแปล NDK macOS/Windows ที่กำลังดำเนินการอยู่
- แก้ไขการเล่นด้วยเส้นทาง gpx/kml เพื่อให้เป็นไปตามการประทับเวลา
- แก้ไขไอคอนตีกลับเมื่อเปิดใช้งาน MacO
- หาก
hw.audioInput=no
และhw.audioOutput=no
ในconfig.ini
เสียงโปรแกรมจำลอง ได้ปิดใช้อย่างถูกต้อง - แก้ไขปัญหาที่หน้าต่างโปรแกรมจำลองถูกย่อเล็กสุดขณะที่ขยาย หน้าต่างควบคุมเปิดอยู่แต่ไม่ได้ทำงาน หน้าต่างการควบคุมแบบขยายจะคง ปรากฏขึ้นเมื่อปรับขนาดหน้าต่างโปรแกรมจำลอง เราจะนำ พฤติกรรม (เคสที่มีหน้าต่างการควบคุมเพิ่มเติมที่ใช้งานอยู่) ในการอัปเดตในอนาคต
- แก้ไขข้อบกพร่องที่ไม่สม่ำเสมอที่ไม่เชื่อมต่อ Wi-Fi เมื่อโปรแกรมจำลองเริ่มทำงาน
- แก้ไขการหยุดทำงานออกเมื่อโปรแกรมจำลองออกคำสั่ง Shell ที่มี "ขนาดยาว" หรือ "ไม่มีกำหนด" การหมดเวลา
- อัปเดตประวัติบน PC ด้วยการแก้ไขเพื่อให้รองรับรูปภาพขนาดใหญ่ที่ส่งไปยัง
-initrd
ได้ดียิ่งขึ้น BIOS ก่อนหน้าใช้วิธีการที่ไม่มีประสิทธิภาพอย่างมาก - แก้ไขข้อขัดข้องในระหว่างการสิ้นสุดเมื่อมีการใช้ตัวเลือก
-wifi-server-port
- ตอนนี้โปรแกรมจำลองจะพิมพ์คำเตือนหากมีการส่งตัวเลือกที่ไม่รองรับไปยัง
-prop
(รองรับเฉพาะอุปกรณ์ qemu.* เท่านั้น) - เมื่อสร้างโปรแกรมจำลองใน Windows มีโอกาสน้อยที่จะได้เห็น เกิดความล้มเหลวในการเขียนไปยังไฟล์ สำหรับข้อมูลเพิ่มเติม โปรดดูบิลด์ของ Windows วิธีการ
- ปิดใช้ปุ่มซูมสำหรับ AVD แบบพับได้ ซึ่งทำให้เกิดปัญหา
- ตอนนี้โปรแกรมจำลองรายงานเวลาเปิดเครื่องที่มาจากการรีบูตอุปกรณ์อย่างถูกต้องแล้ว
- Linux: ในกรณีที่มีสิทธิ์ KVM ไม่เพียงพอ โปรแกรมจำลอง จะพิมพ์วิธีการแก้ไขข้อบกพร่องได้โดยเร็ว
- แก้ปัญหาที่โปรแกรมจำลองไม่สามารถเปิดเครื่องอิมเมจระบบล่าสุดโดยไม่มี การเร่งความเร็ว
- แก้ไขหน่วยความจำที่เสียหายหรือขัดข้องเมื่อเริ่มตัวตรวจจับที่บูตเสร็จสมบูรณ์
- แก้ไขการรั่วไหลของหน่วยความจำระหว่างเซสชันการบันทึกหน้าจอที่ยาวนาน
- อัปเดตไอคอนโปรแกรมจำลองเพื่อแสดงการสร้างแบรนด์ของ Studio 4.1
- เพิ่มการรองรับการตรวจหาเซสชันระยะไกลใน Windows ได้ดียิ่งขึ้น
แก้ไข: กราฟิกและการถอดรหัสวิดีโอ
- แก้ปัญหาเกม Asphalt 9 ล่าสุดแสดงผลเป็นหน้าจอสีดำ
- นำสแปมออกเกี่ยวกับล้างบัฟเฟอร์ที่แมปกับ
NULL
แล้ว - แก้ไขเงื่อนไขการแข่งขันเมื่อฉีกสถานะ Vulkan เมื่อแอป Vulkan สำหรับผู้มาเยือน ออกจากโปรแกรมแล้ว
- ตอนนี้ตัวสร้างเฉดสีการจำลอง Vulkan ASTC/ETC2 จะรวมอยู่ใน libOpenglRender แล้ว ไลบรารี ซึ่งจะเชื่อถือได้มากกว่าเมื่อเทียบกับการอ่านจากระบบไฟล์
- แก้ไขปัญหาใน Vulkan ที่หากกำลังทำงานด้วยอินสแตนซ์ Vulkan 1.0 บน
โฮสต์
vkGetImageMemoryRequirements2KHR
จะล้างรายการที่ส่งคืนอย่างไม่ถูกต้องpNext
ของโครงสร้างVkMemoryRequirements2
- แก้ไขการรั่วไหลของหน่วยความจำในตัวแสดงผล Vulkan
- แก้ไขการถดถอยล่าสุดที่เครื่องมือให้เฉดสี GLSL ES 1.00 ที่มีชื่อตัวแปร เช่น
isampler2D
คอมไพล์ไม่สำเร็จ - อัปเดตตัวแปลเงา ANGLE ด้วยการแก้ไขด้านต่างๆ ที่อาจเป็นไปได้ คอมไพล์ตัวปรับแสงเงาบน Linux ไม่สำเร็จ
- ตอนนี้เราทำให้โปรแกรมจำลองขัดข้องหากตัวปรับแสงเงา Blit ของ Framebuffer พื้นฐานล้มเหลว คอมไพล์ เพื่อที่จะติดตามปรากฏการณ์
- อัปเดตเครื่องมือแปลเงาของ ANGLE เพื่อติดตามอัปเดตของ ANGLE การดำเนินการนี้ได้แก้ไข
ปัญหาเกี่ยวกับหน่วยความจำเสียหายเมื่อแปลและ OpenGL ES แบบพับตลอดเวลา
ตัวปรับเฉดสีที่ใช้เมทริกซ์ที่ไม่ใช่จตุรัส ตอนนี้เครื่องมือแปลภาษาของ Shadrer แยกเป็น
คลังภาพที่แชร์
libshadertranslator.dll
- แก้ไขปัญหาในการเริ่มต้น Vulkan ในไดรเวอร์ GPU บางตัวที่ 1.1 ไม่พบฟังก์ชันของอุปกรณ์
- Vulkan: เราเปลี่ยนกลับไปใช้ตัวโหลดที่สร้างไว้ล่วงหน้า ตัวโหลด Vulkan ของระบบทำให้เกิดปัญหาในการตั้งค่าบางอย่าง จะช่วยคิดค้น โซลูชัน
- แก้ปัญหาเมื่อใช้หน่วยความจำภายนอก Vulkan ซึ่งอาจเกิดจาก นำเข้าดัชนีประเภทหน่วยความจำที่ไม่ตรงกันในโฮสต์
- แก้ปัญหาในการจําลอง
GL_ALIASED_POINT_SIZE_RANGE
ที่มี enum เป็น ไม่รองรับในโฮสต์ - แก้ปัญหาที่ตัวปรับแสงเงา Skia ไม่สามารถคอมไพล์บน GPU ของโฮสต์บางรายการเนื่องจาก
ข้อผิดพลาดที่เกี่ยวข้องกับ
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 ที่เปิดใช้โหมดหน้าต่างรูปแบบอิสระโดยการเลือก โปรไฟล์ฮาร์ดแวร์แท็บเล็ตทรงอิสระขนาด 13.5 นิ้วเมื่อสร้างอุปกรณ์เสมือนใน Android Studio โปรไฟล์ฮาร์ดแวร์นี้ต้องใช้อิมเมจระบบที่ใช้ Android 11 ตัวอย่างสำหรับนักพัฒนาซอฟต์แวร์ 3 หรือสูงกว่า
ปัญหาที่ทราบ
ขณะนี้การปรับขนาดหน้าต่างรูปแบบอิสระไม่ทำงานเนื่องจากมีปัญหาในการโอน โฟกัสที่เครื่องมือจัดการหน้าต่าง การดำเนินการนี้จะได้รับการแก้ไขใน 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)
- ตอนนี้โปรแกรมจำลองมีบิลด์ไม่มีส่วนหัวสำหรับผู้มาเยือนแบบ 32 บิต x86
(
qemu-system-i386
) ฟีเจอร์นี้เปิดใช้รูปภาพ 32 บิต x86 สำหรับ API ระดับ 26 และต่ำกว่าที่จะเรียกใช้ด้วยบิลด์ไม่มีส่วนหัว โปรดทราบว่าสำหรับผู้มาเยือน 32 บิต x86 ที่มี 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 จนกว่าผู้มาเยือนจะเปิดเครื่องเสร็จ (ปิดระบบเย็น Boot) ตัวเลือกนี้จะช่วยแก้ปัญหาที่อาจเกิดขึ้นหากคุณใช้ โปรแกรมจำลองในสภาพแวดล้อม 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
การอัปเดตนี้จะสานต่องานของเราใน Project Marble โครงการริเริ่มที่ประกาศไปในงานประชุมนักพัฒนาซอฟต์แวร์ Android ในเดือนพฤศจิกายน 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)
ในการปรับปรุงครั้งนี้ เราได้ทำการปรับปรุงเพิ่มเติมเพื่ออนุญาตให้โปรแกรมจำลองทำงานได้
ด้วยจำนวนทรัพยากร Dependency ต่ำสุด ใน 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
การอัปเดตนี้ประกอบด้วยการปรับปรุงจากรุ่น LTS ใน Qt 5.12 ดังต่อไปนี้
- เพื่อหลีกเลี่ยงข้อขัดข้องในการถอดรหัส
libpng
ของ Qt เมื่อเริ่มระบบบางอย่าง ตอนนี้โปรแกรมจำลองจะใช้สำเนาของlibpng
เพื่อถอดรหัสรูปภาพ PNG - แก้ไขปัญหาเกี่ยวกับการติดตั้ง Linux บางรายการที่มีเวอร์ชันที่ใช้ร่วมกันไม่ได้
ของไลบรารีที่ขึ้นอยู่กับ Qt บางส่วน ขณะนี้เราแพ็กเกจ
libfreetype
,libsoftokn
libsqlite3
และlibxkbcommon
ด้วยเครื่องมือจำลอง - ตอนนี้โปรแกรมจำลองใช้ไลบรารีกรอบเวลาดั้งเดิมของแพลตฟอร์มเพื่อรับ มิติข้อมูลที่ตรวจสอบ แทนการใช้ไลบรารี Qt ที่ส่งคืนข้อมูลที่ไม่น่าเชื่อถือ ผลลัพธ์
การเพิ่มประสิทธิภาพ CPU อัตโนมัติหลังการเปิดเครื่อง Cold
โปรแกรมจำลองจะเรียกใช้คำสั่ง ADB ต่อไปนี้เมื่อไม่พบการใช้ CPU
เปิดเครื่องหลังจากได้รับสัญญาณ boot complete
adb shell settings put screen_off_timeout 214783647
- คำสั่งนี้จะเพิ่มระยะหมดเวลาปิดหน้าจอเพื่อให้ใช้โปรแกรมจำลองได้ใน โหมดแบตเตอรี่โดยไม่ต้องชาร์จ ในโหมดแบตเตอรี่ การใช้งาน CPU ในเบื้องหลังมาก ที่ลดลง
- ในโหมดการชาร์จ AC การทำงานในเบื้องหลังของ GMSCore เช่น การอัปเดตแอป อาจใช้เวลา บนแกน CPU ทั้งหมดของอุปกรณ์ และตามส่วนขยายของเครื่องของผู้ใช้โดยไม่มี คำเตือน
adb shell pm revoke com.google.android.googlequicksearchbox android.permission.RECORD_AUDIO
- คำสั่งนี้จะเพิกถอนสิทธิ์เข้าถึงไมโครโฟนสำหรับแอป Google Search ซึ่ง ช่วยลดการใช้งาน CPU ในเบื้องหลังบนหน้าจอหลักและใน Launcher ได้อย่างมากเมื่อ แอป Google Search ทำงานอยู่
- คำสั่งนี้จะทำงานเพิ่มเติมจากการทำงานเริ่มต้นของโปรแกรมจำลอง การปิดใช้เสียงของโฮสต์สำหรับโฮสต์ นอกจากนี้ อธิบายการลดการใช้งาน CPU ตามที่อธิบายไว้สำหรับ การตรวจหาคำสั่งลัด จากรุ่น 28.0.23
ตัวแปรสภาพแวดล้อมใหม่สำหรับการตรวจสอบประสิทธิภาพ
ตอนนี้คุณสามารถใช้ตัวแปรสภาพแวดล้อมใหม่ 2 ตัวเพื่อเปิดใช้การตรวจสอบโดยละเอียด ประสิทธิภาพและการใช้ทรัพยากรของโปรแกรมจำลอง
SHOW_PERF_STATS=1
- ตัวแปรสภาพแวดล้อมนี้ช่วยให้ติดตามการใช้งานทั้ง CPU และ RAM ได้ การติดตาม สำหรับการใช้ RAM จะแยกความแตกต่างระหว่างการใช้งานกราฟิกและหน่วยความจำในเครื่องทั้งหมด
ANDROID_EMU_TRACING=1
- ตัวแปรสภาพแวดล้อมนี้เปิดใช้การพิมพ์ทุกครั้งที่อินพุตหรือกราฟิก การดำเนินการใช้เวลานาน (นานกว่า 1 มิลลิวินาที)
- นอกจากนี้ เรายังใช้ตัวแปรสภาพแวดล้อมนี้เพื่อช่วยวินิจฉัยปัญหาที่ ผู้ใช้ Windows พบข้อขัดข้อง (เฟรมที่หลุด) มากกว่าผู้ใช้ บน macOS หรือ Linux
การปรับปรุง Project Marble ทั่วไป
การอัปเดตนี้ยังรวมการปรับปรุงทั่วไปต่อไปนี้ซึ่งเป็นส่วนหนึ่งของโครงการริเริ่ม Project Marble ด้วย
- ตอนนี้คุณสามารถหยุด vCPU ทั้งหมดในตัวจำลองชั่วคราวได้ทันทีผ่านคำสั่งของคอนโซลต่อไปนี้
adb emu avd 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 ไม่ได้ล้างไฟล์เก่า - สำหรับอิมเมจระบบที่กำลังจะเปิดตัว ขณะนี้โปรแกรมจำลองรองรับ Computer Composer 2.0 แล้ว การเปลี่ยนแปลงนี้ควรลดค่าใช้จ่ายด้านผู้ขับลงเมื่อเรียกใช้ภาพเคลื่อนไหวส่วนใหญ่
- ขณะนี้บิลด์โปรแกรมจำลองอิงตาม CMake/Ninja
- ใน UI ตัวควบคุมแบบขยายของโปรแกรมจำลอง บรรทัดตัวแบ่งในแป้นพิมพ์ลัด คืนค่าตารางแล้ว
- ตอนนี้ผู้ใช้สามารถเลือกให้เมตริกการใช้งาน CPU และ RAM แก่ทีมของเราได้ใน ช่วงเวลา 10 วินาที เราใช้เมตริกเหล่านี้เพื่อส่งเสริมข้อมูลเกี่ยวกับโปรแกรมจำลอง การใช้ทรัพยากรของผู้ใช้ในกรณีการใช้งาน ที่แตกต่างกัน ทำให้เรา ทำให้โปรแกรมจำลองมีประสิทธิภาพ และตอบสนองได้ดีขึ้น
แก้ไข Project Marble ทั่วไป
การอัปเดตนี้ยังรวมการแก้ไขทั่วไปต่อไปนี้ซึ่งเป็นส่วนหนึ่งของ โครงการริเริ่ม Project Marble:
- แก้ปัญหาการกระตุกและเฟรมที่ไม่ถูกต้องที่แสดงใน ระบบที่มี Intel GPU เมื่อใช้อิมเมจระบบ 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: เราพบว่าบนเคอร์เนลของโฮสต์บางเคอร์เนลของโฮสต์
เคอร์เนลอาจมีข้อผิดพลาดและออกใน KVM ด้วยข้อผิดพลาดของฮาร์ดแวร์ทั่วไป โปรแกรมจำลอง
จะ
abort()
เมื่อเกิดเหตุการณ์ดังกล่าวเพื่อเพิ่มความสามารถในการแก้ไขข้อบกพร่อง (ก่อนหน้านี้ โปรแกรมจำลองเพิ่งแขวน) - สำหรับผู้ใช้ Linux: เพื่อความสะดวกในการตั้งค่า CI คุณสามารถใช้
ตัวเลือกบรรทัดคำสั่ง
-stdouterr-file <file-name>
เพื่อเปลี่ยนเส้นทางทั้งstdout
และstderr
ไปยังไฟล์ - แก้ไขปัญหาที่ใช้
SO_REUSEADDR
อย่างไม่ถูกต้อง สำหรับข้อมูลเพิ่มเติม ดูรายละเอียดสัญญาผูกมัด - แก้ปัญหาที่เกิดขึ้นมาอย่างยาวนานเกี่ยวกับโปรแกรมจำลอง Windows ซึ่งมีกระบวนการย่อย เช่น คำสั่ง ADB ไม่สามารถเริ่มต้นได้ถ้าชื่อผู้ใช้มีช่องว่าง
- แก้ไขปัญหาการไม่มีการเริ่มต้น RCU ในเทรด HAXM vCPU ช่วงเวลานี้ แก้ไขการเกิดข้อขัดข้องและสภาวะการแข่งขันได้
- แก้ไขข้อขัดข้องที่เกิดขึ้นกับการบันทึกและการโหลดบางรูปแบบ จาก 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 เมื่อใช้อิมเมจระบบที่เข้ากันได้ (Android Q เบต้า 3 ขึ้นไปสำหรับ Vulkan 1.1, Android Q Beta 2 สำหรับ Vulkan 1.0) และ GPU ของโฮสต์ที่เข้ากันได้ ( ประกอบด้วย Intel, NVIDIA และ AMD GPU ส่วนใหญ่ตั้งแต่ปี 2014 เป็นต้นไป)
ในการเปิดใช้การสนับสนุน Vulkan คุณต้องเพิ่มแฟล็กฟีเจอร์ต่อไปนี้ใน
~/.android/advancedFeatures.ini
(สร้างไฟล์หากไม่มีอยู่):
Vulkan = on
GLDirectMem = on
การสนับสนุนเบื้องต้นสำหรับนักพัฒนา ROM
นักพัฒนาซอฟต์แวร์ ROM ที่กำลังสร้าง sdk_phone_x86
หรือ sdk_phone_x86_64
(userdebug
, eng
ตัวแปร) เป้าหมายบน AOSP master
Branch สามารถเรียกใช้
โปรแกรมจำลองที่เปิดใช้ 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
NVIDIA และ AMD GPU ที่รองรับ Vulkan ยังสนับสนุนการทำงานร่วมกันแบบ Zero-copy ด้วย
OpenGL ผ่านส่วนขยาย GL_EXT_memory_objects
โปรแกรมจำลองใช้ประโยชน์จาก
เพื่อมอบวิธีที่สมบูรณ์ในการแสดงผล UI ของ Android โดยใช้ Skia
Vulkan API
หากคุณมี NVIDIA หรือ AMD GPU ที่รองรับ Vulkan ให้ใช้ข้อมูลต่อไปนี้ คำสั่งเพื่อทดสอบการแสดงผลของ Skia กับอิมเมจระบบที่เข้ากันได้ (Android Q เบต้า 3 ขึ้นไป):
adb shell
su
setprop debug.hwui.renderer skiavk
stop
start
การรองรับ macOS สำหรับ Vulkan
การรองรับ macOS ยังอยู่ระหว่างการทดสอบ แต่โปรแกรมจำลองมี Swiftshader MoltenVK และ libportability (gfx-rs) API คุณทดลองใช้ API เหล่านี้ได้โดยการตั้งค่าสภาพแวดล้อมต่อไปนี้ ตัวแปร:
- Swiftshader:
ANDROID_EMU_VK_ICD=swiftshader
- MoltenVK:
ANDROID_EMU_VK_ICD=moltenvk
- ความรับผิด:
ANDROID_EMU_VK_ICD=portability
ปัญหาที่ทราบ
บางครั้ง HAXM อาจไม่สามารถจับคู่หน่วยความจำของ Vulkan ที่สอดคล้องกันกับผู้มาเยือนและการปิด ปิดโปรแกรมจำลอง เราได้แก้ไขไว้ในการอัปเดต HAXM ที่กำลังจะเกิดขึ้น
โปรแกรมจำลองสตรีมมิง gRPC (Linux)
เราพยายามทำให้โปรแกรมจำลอง ใช้งานได้หลากหลายที่สุดเท่าที่จะเป็นไปได้ โฮสต์การแสดงผลและการโต้ตอบของ GPU ในบริบทของการเรียกใช้ที่กว้างที่สุด ผู้ใช้ CI และผู้ใช้เดสก์ท็อประยะไกลของเราประสบปัญหาที่มีมาอย่างยาวนานดังต่อไปนี้
- การส่งคำสั่งอินพุตไปยังโปรแกรมจำลองแบบเป็นโปรแกรมจะเกี่ยวข้องกับ ใช้คำสั่งเชลล์ adb ที่อาจต้องใช้ค่าใช้จ่ายในการดำเนินการสูง หรือใช้ฟังก์ชัน คอนโซล 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 มีนาคม 2019 (29 มีนาคม 2019)
การอัปเดตนี้ประกอบด้วยการปรับปรุงและการแก้ไขต่อไปนี้
บิลด์โปรแกรมจำลองแบบไม่มีส่วนหัว
โปรแกรมจำลองตั้งค่าด้วย Docker และโปรแกรมจำลองแบบต่อเนื่องอื่นๆ ได้ยาก ของเวิร์กโฟลว์การผสานรวม (CI) เนื่องจากความคาดหวังของระบบโดยปริยาย สามารถรองรับ Qt พร้อมกับทรัพยากร Dependency ของไลบรารีที่ใช้ร่วมกันได้ (และปัญหาอื่นๆ)
สำหรับขั้นตอนแรกในการแก้ปัญหานี้ เราจึงได้แนะนำตัวแปรของโปรแกรมจำลอง
Launcher ที่มีไฟล์ปฏิบัติการ QEMU ซึ่งไม่ได้ขึ้นอยู่กับ Qt ใน Linux มี
ยังคงเป็นลิงก์ไปยัง libX11
แต่เราหวังว่าจะนำลิงก์ดังกล่าวออกในเร็วๆ นี้
หากต้องการใช้โปรแกรมจำลองแบบไม่มีส่วนหัว ให้เรียกใช้โปรแกรมจำลองจากบรรทัดคำสั่งตามปกติ
แต่แทนที่การเรียกใช้ไบนารีโปรแกรมจำลองด้วย emulator-headless
สำหรับข้อมูลเพิ่มเติม
โปรดดูที่ 28.1.8 Canary
การอัปเดตรุ่น
- แก้ไขการกระตุกและการแสดงเฟรมที่ไม่ถูกต้องบน Intel GPU เมื่อใช้ Android อิมเมจระบบ Q
- แก้ไขปัญหาที่หน้าจอสีดำแสดงขึ้นเมื่อใช้ระบบ Android Q ภาพที่มีสกินของ Pixel 2 XL
- ตอนนี้ระบบใช้ไบนารี BIOS ล่าสุดเพื่อเริ่มโปรแกรมจำลองแล้ว การเปลี่ยนแปลงนี้ ช่วยลด "คำขอปิด VCPU" ได้ ซึ่งอาจเกิดขึ้นได้ในบางครั้ง การเปิดใช้งานโปรแกรมจำลองใน Windows
- พอร์ตการแก้ไข "การแสดงผลไม่ถูกต้องเมื่อกลับไปใช้อิมเมจระบบ Android Q จากสแนปชอต" ปัญหา
- ผู้ใช้พบปัญหา "ไม่ได้รับอนุญาต" ปัญหาเกี่ยวกับโปรแกรมจำลอง
เนื่องจาก ADB ใน Platform-tools 28.0.2 ที่ใช้ร่วมกันไม่ได้ คุณสามารถ
ก็สามารถใช้ ADB จากเครื่องมือแพลตฟอร์ม 28.0.2 กับโปรแกรมจำลองได้อย่างปลอดภัยแล้ว หากคุณ
พบปัญหากับ "ไม่ได้รับอนุญาต" โปรแกรมจำลอง ให้ทำดังนี้
ขั้นตอนการแก้ปัญหา:
- ออกจากโปรแกรมจำลองทั้งหมด
- ลบทั้งไฟล์
~/.android/adbkey
และ~/.android/adbkey.pub
- เรียกใช้คำสั่งต่อไปนี้
adb kill-server
- เรียกใช้คำสั่งต่อไปนี้
adb devices
- ล้างข้อมูล AVD
- เปิดโปรแกรมจำลองอีกครั้ง
28 มกราคม 2019 (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)
การอัปเดตนี้ประกอบด้วยการปรับปรุงและการแก้ไขต่อไปนี้
- แก้ไขปัญหาที่เกิดขึ้นมาอย่างยาวนาน ซึ่งในการตั้งค่าบางอย่าง รีบูตหรือเคอร์เนลตื่นตระหนกเมื่อบันทึก Quickboot (ปัญหา 120951634)
- เมื่อใช้ไฟล์ที่แมปเป็นสแนปชอต RAM โปรแกรมจำลองจะยกเลิกการแมป การแมปไฟล์อย่างชัดเจนเมื่อออก
28.0.20 (11 ธันวาคม 2018)
การอัปเดตนี้ประกอบด้วยการปรับปรุงและการแก้ไขต่อไปนี้
- แก้ไขปัญหาใน Windows ที่ทำให้โปรแกรมจำลองหยุดทำงานในสแนปชอต โหลดด้วย Intel GPU บางรุ่น
- แก้ไขปัญหาที่ทำให้เกิดสถานะของอุปกรณ์ ADB
unauthorized
เมื่อใช้ ตำแหน่งANDROID_SDK_HOME
ที่ไม่ใช่แบบมาตรฐาน - แก้ไขปัญหาใน Windows ที่ทำให้โปรแกรมจำลองขัดข้องเมื่อ การเปิดเครื่องอิมเมจระบบโดยปิดใช้การเร่ง CPU อยู่
- แก้ไขภาพแตกแบบพิกเซล ปัญหาการแสดงโปรแกรมจำลอง การดาวน์เกรดระบบควรใช้ได้แล้ว
- แก้ไขปัญหาแล้ว บน macOS 10.14 ขึ้นไป ซึ่งการควบคุมเมาส์ในฉากเสมือนจริงของกล้องอาจกลายเป็น มีความละเอียดอ่อนเกินไปเนื่องจากมีการโต้ตอบกับการตั้งค่าความปลอดภัยสำหรับการช่วยเหลือพิเศษแบบใหม่
- แก้ไขข้อผิดพลาดในการคำนวณเขตเวลาที่อาจทำให้นาฬิกาโปรแกรมจำลอง เปลี่ยนแปลงเป็นระยะๆ
- แก้ไขข้อผิดพลาดในการแสดงภาพใน cocos2d และ Unreal ต่างๆ แอปเครื่องมือ
- เพิ่มการรองรับในโปรแกรมจำลองสำหรับ Wi-Fi เพียร์ทูเพียร์
ตอนนี้โปรแกรมจำลอง 2 ตัวสามารถติดต่อกันได้โดยตรงผ่าน Wi-Fi หากใช้เวอร์ชันล่าสุด
รูปภาพ Pie Play Store หากต้องการใช้การเชื่อมต่อ Wi-Fi แบบเพียร์ทูเพียร์ ให้เริ่ม AVD 2 รายการด้วยการเชื่อมต่อเดียวกัน
อาร์กิวเมนต์
-wifi-server-port
และ-wifi-client-port
:emulator @<server-avd-name> -wifi-server-port 9999
emulator @<client-avd-name>-wifi-client-port 9999
- เพิ่มการรองรับเว็บแคมบน Windows ได้มากขึ้นโดยใช้เฟรมที่ใช้ร่วมกันไม่ได้ และปรับขนาดแบบไดนามิกเพื่อให้พอดีกับการตั้งค่ากล้องใน Android ผู้เข้าร่วม
16.0.28 (พฤศจิกายน 2018)
การอัปเดตนี้ประกอบด้วยฟีเจอร์ใหม่ การปรับปรุงฟีเจอร์ที่มีอยู่แล้ว และแก้ไขข้อบกพร่องต่างๆ
การใช้ทรัพยากร
ตอนนี้โปรแกรมจำลองใช้ RAM โดยรวมน้อยลง โดยเฉพาะเมื่อใช้อิมเมจระบบกับ API ระดับ 28 ขึ้นไป อิมเมจระบบเหล่านี้มีการใช้งานหน่วยความจำที่ดีขึ้นสำหรับ ไดรเวอร์กราฟิกฝั่งแขก
นอกจากนี้ เรายังได้ปรับปรุงการใช้ทรัพยากรในด้านต่อไปนี้
- ลดการใช้หน่วยความจำของโปรแกรมจำลองระหว่างการทดสอบที่ใช้เวลานาน หากคุณยังคง พบปัญหากับการใช้งานหน่วยความจำระหว่างการทดสอบที่ใช้เวลานาน โปรดสร้าง ปัญหาที่อธิบายกรณีการใช้งานของคุณในเครื่องมือติดตามปัญหา
- ลดการใช้ CPU เมื่อเรียกใช้แอปที่มีภาพเคลื่อนไหว
- แก้ไขปัญหาที่บริบท QEMU AIO อาจรั่วไหลใน Windows
เรียกใช้ AVD รายการเดียวพร้อมกันหลายอินสแตนซ์
ตอนนี้คุณเรียกใช้ AVD เดียวกันและอินสแตนซ์หลายรายการพร้อมกันได้แล้ว อินสแตนซ์ที่คุณเรียกใช้หลังจากอินสแตนซ์แรกจะเป็นแบบอ่านอย่างเดียว และอินสแตนซ์ ระบบจะทิ้งการเปลี่ยนแปลงไปยังดิสก์เสมือนจริงสำหรับผู้มาเยือนเมื่อออก
หากต้องการเรียกใช้ AVD เดียวกันหลายอินสแตนซ์พร้อมกัน ให้เรียกใช้อินสแตนซ์ใดก็ได้
หลังอินสแตนซ์แรกจากบรรทัดคำสั่งโดยใช้แฟล็ก -read-only
ฟีเจอร์นี้ทำงานได้โดยคัดลอกไฟล์ QCOW2 ที่เชื่อมโยงกับ
รูปภาพที่ใช้เขียนบน Android ได้ เพื่อช่วยคุณจัดการพื้นที่ดิสก์ เราได้
รวมเครื่องมือบรรทัดคำสั่ง qemu-img
เพื่อให้คุณกำหนด QCOW2 ล่วงหน้าได้
ก่อนเปิดอินสแตนซ์หลายรายการ
นอกจากนี้ เมื่อใช้ร่วมกับสแนปชอต RAM ของผู้มาเยือนที่เป็นไฟล์สำรอง อินสแตนซ์ AVD หลายรายการจะแชร์ สแนปชอต AVD Quickboot หลักเป็นแหล่งที่มาทั่วไปของ RAM ของผู้มาเยือนแบบคัดลอกเมื่อเขียน พร็อพเพอร์ตี้นี้หมายความว่าอินสแตนซ์ใช้ RAM ส่วนใหญ่ร่วมกัน ใช้ ฟีเจอร์นี้เพื่อทำการทดสอบที่ต้องมีอุปกรณ์หลายเครื่องทำงานพร้อมกัน
ขอขอบคุณสำหรับความคิดเห็นเกี่ยวกับกรณีการใช้งานที่เป็นไปได้ซึ่งเป็นส่วนหนึ่งของตามปกติ แบบอินเทอร์แอกทีฟหรือ CI โปรดสร้างหรือโหวตเห็นด้วยกับปัญหาในปัญหา เครื่องมือติดตาม
สแนปชอต RAM ของผู้เข้าร่วมที่สำรองไฟล์
เมื่อจัดสรรล่วงหน้าและแมป RAM ของผู้เข้าร่วมในรูปแบบไฟล์ โปรแกรมจำลองสามารถบันทึกได้แล้ว สแนปชอต Quickboot ระหว่างรันไทม์แทนที่จะทำงานทั้งหมดเมื่อออก ถ้า ในปัจจุบัน คุณประหยัดเวลาได้นานเมื่อปิดโปรแกรมจำลอง ฟีเจอร์นี้เพื่อปรับปรุงประสิทธิภาพ Quickboot โดยค่าเริ่มต้น Quickboot ระบบจะบันทึกสแนปชอตเมื่อออกและโหลดอีกครั้งทุกครั้ง เช่น การระงับและ การปลุกอุปกรณ์จริง
เพราะตอนนี้ระบบจะบันทึก RAM ของผู้เข้าร่วมของ Android โดยอัตโนมัติโดยค่าเริ่มต้น ถ้าคุณต้องการกำหนด สถานะของอุปกรณ์แล้วโหลดซ้ำๆ จากสถานะนั้น คุณต้องบอกโปรแกรมจำลอง เพื่อทิ้งการเปลี่ยนแปลงหลังแต่ละเซสชัน ซึ่งทำได้หลายวิธี ดังนี้
- ใช้แฟล็ก
-no-snapshot-save
หรือ-read-only
เมื่อเปิดใช้โปรแกรมจำลอง จากบรรทัดคำสั่ง - ไปที่การควบคุมเพิ่มเติม > ภาพรวม > การตั้งค่า แล้วเปลี่ยนบันทึกอัตโนมัติ สถานะปัจจุบันเป็น Quickboot เป็น ไม่
- คุณจะต้องรีสตาร์ทโปรแกรมจำลองหลังจากเลือกตัวเลือกนี้ หาก
โปรแกรมจำลองมีการตั้งค่าให้บันทึกอัตโนมัติ คุณสามารถเรียกใช้คำสั่งต่อไปนี้เพื่อตั้งค่า
เช็คพอยท์:
หลังจากเรียกใช้คำสั่งนี้ สแนปชอต Quickboot ของโปรแกรมจำลองจะยังคงอยู่ จุดตรวจ เรียกใช้คำสั่งเดียวกันนี้อีกครั้งเพื่อโหลดโปรแกรมจำลองจาก จุดตรวจadb emu avd snapshot remap 0
ภาพหน้าจอที่ถ่ายและโหลดผ่านฟังก์ชัน UI ของสแนปชอต ที่เคยทำมาก่อนโดยไม่มีการแมปไฟล์
เนื่องจากนี่เป็นการเปลี่ยนแปลงครั้งใหญ่ในวิธีการทำงานของ Quickboot เราจึงอยาก
ขอบคุณสำหรับความคิดเห็นของคุณว่าช่วยปรับปรุงประสิทธิภาพ Quickboot ได้ไหม
ปัญหาที่คุณพบขณะใช้งานด้วย หากคุณพบปัญหา คุณสามารถ
ปิดใช้ฟีเจอร์นี้ด้วยการเพิ่มบรรทัดต่อไปนี้ลงใน
~/.android/advancedFeatures.ini
ไฟล์:
QuickbootFileBacked = off
เมื่อคุณเริ่มโปรแกรมจำลองจากสแนปชอต (ไม่ว่าจะเป็นการใช้ -snapshot
บรรทัดคำสั่ง หรือการเปิดใช้งานจากสแนปชอตในตัวจัดการ AVD)
โปรแกรมจำลองจะปิดใช้ทั้งการบันทึกอัตโนมัติสำหรับสแนปชอต Quickboot และการบันทึก Quickboot
สแนปชอตเมื่อออก วิธีนี้ช่วยลดโอกาสที่สแนปชอต Quickboot จะ
ถูกเขียนทับโดยไม่ตั้งใจ และหลีกเลี่ยงเส้นทางสำรองที่ช้าซึ่งไม่ได้ใช้
สแนปชอต Quickboot ที่สำรองด้วยไฟล์
QEMU 2.12
เราได้เปลี่ยน QEMU ตัวแปรของเราจาก QEMU 2.9 เป็น QEMU 2.12 การอัปเดตนี้ รวมถึงการเปลี่ยนแปลง QEMU ต่อไปนี้
- https://wiki.qemu.org/ChangeLog/2.10
- https://wiki.qemu.org/ChangeLog/2.11
- https://wiki.qemu.org/ChangeLog/2.12
การเปลี่ยนแปลงสำคัญบางส่วนที่ส่งผลต่อ Android Emulator มีดังนี้
- x86:
gdbstub
ให้สิทธิ์เข้าถึงการลงทะเบียน SSE แล้ว - อิมเมจดิสก์: เพิ่มและเปิดใช้การล็อกอิมเมจโดยค่าเริ่มต้น QEMU หลายรายการ กระบวนการไม่สามารถเขียนไปยังรูปภาพเดียวกันได้ตราบใดที่โฮสต์รองรับ OFD หรือ การล็อก Posix เว้นแต่จะระบุตัวเลือกเป็นอย่างอื่น
qemu-img: qemu-img resize
รองรับการจัดสรรส่วนใหม่ของรูปภาพล่วงหน้า- ตอนนี้
qemu
และqemu-img
รองรับการย่อ QCOW2 แล้ว
การช่วยเหลือพิเศษ
- แก้ไขปัญหาเกี่ยวกับโปรแกรมอ่านหน้าจอและเพิ่มการสนับสนุนที่ดีขึ้นสำหรับเครื่องมือเหล่านี้ใน การบันทึกหน้าจอและ UI ของสแนปชอต
- ทำให้ผู้ใช้ที่ตาบอดสีเข้าถึงไอคอนการแจ้งเตือนการเปิดเครื่องด่วนได้ง่ายขึ้น
กราฟิก
- แก้ไขปัญหาการเข้าถึงหน่วยความจำนอกขอบเขตที่อาจเกิดขึ้นสำหรับ OpenGL ES เคอร์เซอร์อาร์เรย์ Vertex
- GPU รุ่นเก่าบางรุ่นไม่รองรับ OpenGL 2.1 ขึ้นไป (ซึ่งจำเป็น) หรือ มีปัญหาด้านความน่าเชื่อถืออื่นๆ ปัญหาเหล่านี้อาจทำให้โปรแกรมจำลองขัดข้องใน เริ่มทำงาน ค้าง หรือใช้งานไม่ได้กับการตั้งค่า GPU เริ่มต้น ตอนนี้โปรแกรมจำลอง จะสลับเป็นโหมดแสดงภาพ Swiftshader โดยอัตโนมัติถ้าตรวจพบว่า กำลังใช้ GPU
- แก้ไขปัญหาที่ทำให้โปรแกรมจำลองไม่โพสต์ FrameBuffer ที่ถูกต้อง
FBO != 0
ถูกเชื่อมโยง ณ เวลาeglSwapBuffers
- แก้ปัญหาที่จอแสดงผล Android เสมือนจะแสดงที่ด้านบนเท่านั้น มุมซ้าย เราเชื่อว่ากรณีนี้เกิดจากการกำหนดค่าตัวแปรสภาพแวดล้อม Qt ไม่ถูกต้อง ตอนนี้โปรแกรมจำลองจะลบล้างตัวแปรสภาพแวดล้อมที่เกี่ยวข้องกับการปรับขนาด Qt ทั้งหมด
- แก้ไขปัญหาที่โปรแกรมจำลองขัดข้องในบางสถานการณ์ขณะโหลด แอป GLES1 จากสแนปชอต
- แก้ไขปัญหาการเกิดขึ้นพร้อมกันใน OpenGL และการเปิดใช้เธรดการแสดงผลที่อาจ ทำให้ข้อมูลเสียไป 2 เท่าหรือเสียหาย
- 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
)- หากมีการเปิดโปรแกรมจำลองจากบรรทัดคำสั่งโดยใช้แฟล็ก
-no-window
โหมดแสดงภาพเริ่มต้นตอนนี้คือ Swiftshader
ตำแหน่ง
- โปรแกรมจำลองสามารถอัปเดตทิศทางพร้อมกับละติจูดและลองจิจูดได้แล้ว ตำแหน่ง เซ็นเซอร์เสมือนของแมกนิโตมิเตอร์จะปรับตัวเองแบบไดนามิกตามแม่เหล็ก ไปทางทิศเหนือ ด้วยการอนุมานการเคลื่อนไหวเมื่อเล่นไฟล์ GPX หรือ KML
- ตอนนี้คุณตั้งค่าความเร็วอุปกรณ์ในหน้าตำแหน่งได้แล้ว
- เมื่อเล่นไฟล์ GPX หรือ KML ระบบจะตั้งความเร็วโดยอัตโนมัติ เมื่อวิดีโอเล่นจบ
- ระดับความสูงไม่ได้จำกัดอยู่ที่ระหว่าง -1,000 ถึง +10,000 อีกต่อไป เมตร
- แก้ไขปัญหาที่ไม่สามารถอัปเดตตำแหน่ง GPS เสมือน เป็นระยะ เว้นแต่จะมีการเปิดหน้าต่าง Extended Controls อย่างน้อย 1 ครั้ง
กล้อง
บน Windows ระบบจะรองรับเว็บแคมมากขึ้นเนื่องจากโปรแกรมจำลองแบบไดนามิก ปรับขนาดเฟรมกล้องที่ส่งจากเว็บแคม ฟีเจอร์นี้ยัง ป้องกันข้อผิดพลาดในการนำส่งเฟรมไม่ให้โปรแกรมจำลองค้าง
Play Store
ในการแก้ปัญหาเกี่ยวกับพื้นที่ดิสก์ของอิมเมจ Play Store เต็ม ตอนนี้โปรแกรมจำลองปรับขนาดพาร์ติชันข้อมูลผู้ใช้เป็น 6 GB โดยอัตโนมัติเมื่อเรียกใช้ ด้วย AVD ใหม่ใน Play Store
การปรับปรุงคุณภาพและแก้ไขทั่วไป
- ผู้ใช้บางคนรายงานว่าโปรแกรมจำลองทำงานช้า เราพบรายการหนึ่ง
สาเหตุที่ทำให้ไดเรกทอรีชั่วคราวสำหรับโปรแกรมจำลองมีจำนวนมากเกินไป
ในไฟล์ที่ไม่มีการอัปเดต โปรแกรมจำลองจะไม่จัดเก็บความพร้อมใช้งานของ ADB อีกต่อไปในการแก้ไขปัญหานี้
ให้ตรวจสอบไฟล์ในไดเรกทอรีนั้น อย่างไรก็ตาม การลบเนื้อหาดังกล่าวอาจช่วยได้เช่นกัน
ของโฟลเดอร์นั้น โฟลเดอร์จะอยู่ในตำแหน่งใดตำแหน่งหนึ่งต่อไปนี้
ขึ้นอยู่กับระบบปฏิบัติการของคุณ
- Windows:
C:\Users\<username>\AppData\Local\Temp\AndroidEmulator\*
- macOS หรือ Linux:
/tmp/android-<username>/*
- Windows:
- หากโปรแกรมจำลองไม่สามารถเริ่มทำงานเนื่องจากมี RAM ไม่เพียงพอ จะเกิดข้อผิดพลาดขึ้น ข้อความจะปรากฏขึ้น หากคุณใช้ Windows และสังเกตเห็นว่ามี RAM ฟรี แต่คุณยังไม่สามารถเริ่มต้นโปรแกรมจำลอง ค่าบริการคอมมิตอาจ เกินกำหนด สำหรับความช่วยเหลือเกี่ยวกับปัญหานี้ โปรดดูหน้าการแก้ปัญหาเกี่ยวกับโปรแกรมจำลอง
- ในตอนนี้ ตัวเลือกบรรทัดคำสั่ง
-sysdir
จะลบล้างระบบที่สรุป ไดเรกทอรีรูปภาพ - ตอนนี้โมเด็มเสมือนรองรับการค้นหา
+MAI
ของข้อมูลกิจกรรมโมเดลแล้ว - แก้ปัญหาต่างๆ เกี่ยวกับหน่วยความจำรั่วไหล หน่วยความจำเสียหาย และการใช้งาน CPU ถ้า คุณกำลังพบปัญหาการขัดข้อง หน่วยความจำรั่วไหล หรือการใช้งานทรัพยากรสูงอื่นๆ โปรด สร้างปัญหาในเครื่องมือติดตามปัญหา
- แก้ไขปัญหาที่เกิดขึ้นอีกครั้งใน macOS 10.14 เมื่อใช้ชุดหูฟังบลูทูธ ด้วยเครื่องมือจำลอง จะทำให้เสียงทั่วโลกแย่ลง เพื่อป้องกันปัญหานี้ โปรแกรมจำลอง จะเลี่ยงการใช้เสียงบลูทูธเมื่อเรียกใช้ใน macOS (ปัญหา 37070892)
- แก้ไขปัญหาบน Windows ซึ่งนาฬิกาโปรแกรมจำลองแสดงไม่ถูกต้อง เขตเวลา
- แก้ไขการทำงานช้าของโปรแกรมจำลองและค้างในระบบ Linux ด้วยฮาร์ดไดรฟ์ที่หมุนอยู่ (HDD)
- แก้ไขคำเตือนคอมไพล์บางรายการที่อาจทำให้สแต็กเสียหายใน macOS
- แก้ไขปัญหาที่อาจทำให้เกิดการรายงานที่ทำให้เข้าใจผิดในการระงับแล้ว
- แก้ไขปัญหาการทำลาย Thread Pool ที่อาจทำให้เกิดข้อขัดข้อง สร้างชุดข้อความไม่สำเร็จ
- แก้ไขปัญหาการจับเวลาใน macOS ที่ไม่น่าเชื่อถือและนำไปสู่การค้าง และพฤติกรรมอื่นที่แปลกๆ ถ้าโปรแกรมจำลองค้างใน macOS โปรด สร้างปัญหาในเครื่องมือติดตามปัญหา
- แก้ไขปัญหาที่การปิดโปรแกรมจำลองจะปิดใช้ UI แต่ ปิดโปรแกรมจำลอง
- แก้ไขปัญหาเกี่ยวกับการขัดข้องเป็นครั้งคราว รวมถึงการล้มเลิกเนื่องจากการเปิด
/dev/urandom
หลายรายการ - แก้ไขปัญหาที่ทำให้โปรแกรมจำลองไม่ทำงานหลังจากดำเนินการครั้งแรก หาก ADB ถูกสิ้นสุดการใช้งานอย่างแรง
- นำบิลด์ MIPS ออกแล้ว หากคุณยังคงต้องใช้ MIPS โปรดสร้าง ปัญหาในเครื่องมือติดตามปัญหา
- แก้ไขปัญหาที่การเชื่อมต่อ 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
ปัญหา 2-3 ข้อที่ HAXM เวอร์ชันนี้แก้ไขมีดังนี้
- แก้ไขข้อขัดข้องแบบสุ่มของระบบปฏิบัติการของผู้เข้าร่วมที่ใช้เคอร์เนลของ Linux ล่าสุด (>= 4.6) เช่น Ubuntu 18.04 (#39, #74)
- แก้ไขข้อบกพร่องของโปรแกรมจำลองคำสั่ง x86 ที่อาจทำให้โฮสต์ขัดข้อง (#93)
การเลิกใช้งาน Windows 32 บิต
เนื่องจากมีการใช้งานต่ำและมีค่าใช้จ่ายในการบำรุงรักษาสูง เราจึงวางแผนที่จะเลิกใช้งาน มีโปรแกรมจำลอง Android เวอร์ชัน 32 บิตที่ทำงานบน Windows เราจะเปิดตัว ก่อนการเผยแพร่และการสิ้นสุดการสนับสนุนสำหรับเวอร์ชัน 32 บิต โปรแกรมจำลอง Android อย่างไรก็ตาม เราต้องการความคิดเห็นหรือข้อกังวลใดๆ เกี่ยวกับ การเปลี่ยนแปลงนี้ในอนาคต
โปรดแจ้งให้เราทราบในเครื่องมือติดตามปัญหา ถ้าคุณใช้โปรแกรมจำลอง Android เวอร์ชัน 32 บิตที่ทำงานบน Windows และแจ้งให้เราทราบถึงวิธีที่เราจะทำงานร่วมกับคุณได้ดีที่สุดในอนาคต
27.3.10 (สิงหาคม 2018)
การอัปเดตนี้มีการแก้ไขข้อบกพร่องต่อไปนี้
แก้ไขการกำหนดค่าขนาด RAM
ผู้ใช้บางคนรายงานว่าโปรแกรมจำลองทำงานช้า เราพบรายการหนึ่ง
สาเหตุที่เป็นไปได้ที่ขนาด AVD RAM ในไฟล์ config.ini
ของ AVD ถูก
ตั้งค่าไม่ถูกต้อง
เพื่อลดปัญหานี้ โปรแกรมจำลองจะเพิ่มระดับ RAM ขั้นต่ำสำหรับรูปภาพที่
ใช้ API ระดับ 26 ขึ้นไปจนถึงระดับเริ่มต้นของ Android Studio ที่ 1536 MB ถ้า
ไฟล์ config.ini
ของ AVD ไม่ได้แสดง hw.ramSize
เป็นเมกะไบต์
โปรดสร้างปัญหาในเครื่องมือติดตามปัญหา
คุณจะพบไฟล์ config.ini
ในตำแหน่งต่อไปนี้
~/.android/avd/<avdname>.avd/config.ini
27.3.9 (กรกฎาคม 2018)
การอัปเดตนี้ประกอบด้วยการปรับปรุงและการแก้ไขข้อบกพร่องต่อไปนี้
ปรับปรุงข้อความแสดงข้อผิดพลาดสำหรับ Windows Hypervisor Platform
ผู้ใช้บางรายมีปัญหาในการวินิจฉัยสาเหตุว่าทำไม Windows Hypervisor Platform
(WHPX) ไม่สามารถเริ่มต้นได้เมื่อเปิดใช้งานโปรแกรมจำลอง WHPX เพื่อช่วยคุณ
วินิจฉัยปัญหาเหล่านี้ได้ เราได้เพิ่มข้อความแสดงข้อผิดพลาดที่ให้ข้อมูลมากขึ้น คุณสามารถ
เปิดใช้งานข้อความแสดงข้อผิดพลาดเหล่านี้ด้วยการเรียกใช้โปรแกรมจำลองจากบรรทัดคำสั่งโดยใช้
ธง-verbose
การแก้ไขทั่วไป
- แก้ไขข้อผิดพลาด OpenGL ที่เกิดขึ้นเมื่อโหลดสแนปชอตในแอปกล้องถ่ายรูป
27.3.8 (กรกฎาคม 2018)
การอัปเดตนี้ประกอบด้วยฟีเจอร์ใหม่ การปรับปรุงฟีเจอร์ที่มีอยู่แล้ว และแก้ไขข้อบกพร่องต่างๆ
สแนปชอต
ตอนนี้คุณบันทึกสแนปชอต AVD หลายรายการสำหรับการกำหนดค่าอุปกรณ์ที่ระบุและ เลือกสแนปชอตที่บันทึกไว้ซึ่งจะโหลดเมื่อคุณเริ่มต้นโปรแกรมจำลอง
ตั้งแต่ Android Studio 3.2 Canary 13 เป็นต้นไป การกำหนดค่าอุปกรณ์แต่ละรายการจะมี ตัวควบคุมในการตั้งค่าขั้นสูงในกล่องโต้ตอบการกำหนดค่าอุปกรณ์เสมือน ซึ่งคุณระบุได้ว่าจะโหลดสแนปชอต AVD ใดเมื่อเริ่มต้น ระยะเวลาการดูเฉลี่ย
เพื่อรองรับการขยายฟีเจอร์สแนปชอตนี้ เราได้เพิ่ม สแนปชอตไปยังกล่องโต้ตอบตัวควบคุมเพิ่มเติม แผงใหม่นี้ มีการควบคุมสำหรับการบันทึกและโหลดสแนปชอต AVD รวมถึงการควบคุม สำหรับการบันทึกและโหลดสแนปชอต Quick-boot ก่อนหน้านี้ที่อยู่ใน แผงการตั้งค่า
คุณแก้ไขชื่อและคำอธิบายของสแนปชอตที่บันทึกไว้แต่ละรายการได้
ดูรายละเอียดได้ที่สแนปชอต
HAXM 7.2.0
HAXM 7.2.0 พร้อมให้ใช้งานแล้วในทุกเวอร์ชัน
การอัปเดตนี้มีการแก้ไขข้อบกพร่องและการปรับปรุงการรองรับ RAM ปริมาณมาก นอกจากนี้ การอัปเดต HAXM และโปรแกรมจำลอง 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 Emulator
รูปภาพ 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 อุปกรณ์
สแนปชอต
ตอนนี้คุณโหลดสแนปชอตการเปิดเครื่องด่วนได้แล้ว โดยไม่ต้องรีสตาร์ทโปรแกรมจำลอง หากต้องการโหลดสแนปชอต ให้เปิด หน้าต่าง Extended Controls เป็น Settings หน้าเว็บ แล้วคลิกปุ่มโหลดเดี๋ยวนี้
เราได้ทำการปรับปรุงหลายอย่างในการโหลดและบันทึกสแนปชอต เพิ่มประสิทธิภาพในการใช้ทรัพยากรและลดเวลาที่ การดำเนินการ หากคุณยังประสบกับการบันทึกที่นานผิดปกติ โปรด รายงานปัญหา ให้รายละเอียด 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
ตอนนี้คุณสามารถใช้เว็บแคม0 และเว็บแคม1 ร่วมกันใน Mac ได้แล้ว
เบ็ดเตล็ด
ตัวเลือกบรรทัดคำสั่ง -phone-number-prefix
เปลี่ยนเป็น
-phone-number [number]
ซึ่งช่วยให้ตั้งค่า
หมายเลขโทรศัพท์
ตอนนี้คุณจะใช้ที่อยู่ SMS ที่เป็นตัวอักษรและตัวเลขคละกัน
การแก้ไข
- ตอนนี้โปรแกรมจำลอง Android เวอร์ชัน Linux สร้างขึ้นโดยใช้ Clang ที่ทันสมัย Toolchain ของ 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)
- มีการส่งตำแหน่งไปยังโปรแกรมจำลอง 1 รายการไปยังโปรแกรมจำลองทั้งหมดแล้ว (ปัญหา 73450633)
- ค่าที่ตั้งไว้โดยใช้คอนโซลได้ลบล้างตำแหน่ง GPS ที่ตั้งค่าไว้โดยใช้คอนโซลแล้ว การควบคุมแบบขยาย > ตำแหน่งในอินเทอร์เฟซผู้ใช้แบบกราฟิก (ปัญหา 73471760)
ถ้าคุณยังพบปัญหาเครื่องค้างหรืออาการไม่มั่นคงอื่นๆ โปรด รายงานปัญหา
สำหรับการอัปเดตนี้ อิมเมจระบบปัจจุบัน และเวอร์ชันตัวอย่างของ Android Studio คุณสามารถใช้โปรแกรมจำลอง Android เพื่อเรียกใช้แอปพลิเคชัน Augmented Reality ที่สร้างขึ้น ด้วย ARCore ดูข้อกำหนดและวิธีการโดยละเอียดได้ที่ เรียกใช้แอป AR ใน Android Emulator
10.1.27 (กุมภาพันธ์ 2018)
ความละเอียดการจับภาพ
คุณสามารถจับภาพเฟรม 720p จากเว็บแคมที่ต่ออยู่ได้แล้ว
เพื่อให้สามารถใช้งานกับ Android 8.1 (API ระดับ 27) และอิมเมจระบบที่สูงกว่า เว็บแคมที่เชื่อมต่ออยู่ต้องสามารถจับภาพเฟรม 720p ได้
การแก้ไข
- แก้ไขปัญหาที่ทำให้การจับภาพเว็บแคมส่งภาพบิดเบี้ยวในบางครั้ง หรือรูปภาพสีเขียวทั้งหมด
- แก้ไขปัญหาที่ทำให้เห็นข้อความต่อไปนี้ได้แม้ในกรณีที่ ไม่มี Hangouts จริง: "โปรแกรมจำลอง: ข้อผิดพลาด: ตรวจพบเธรดที่ค้าง 'Qt Event Loop" ไม่มีการตอบสนองเป็นเวลา 15,000 มิลลิวินาที"
ถ้าคุณยังพบปัญหาเครื่องค้างหรืออาการไม่มั่นคงอื่นๆ โปรด รายงานปัญหา
27.1.7 (กุมภาพันธ์ 2018)
หน้าต่างโปรแกรมจำลองแบบไม่มีกรอบ:
โดยค่าเริ่มต้น โปรแกรมจำลองที่มีไฟล์สกินของอุปกรณ์จะแสดงโดยไม่มี และกรอบหน้าต่างที่ล้อมรอบได้ หากต้องการแสดงกรอบหน้าต่างโดยรอบ ให้เปิดใช้ แสดงกรอบหน้าต่างรอบๆ อุปกรณ์ในแผงการตั้งค่าของส่วนขยาย การควบคุม
การปรับปรุง Quick Boot เพื่อให้ทำงานร่วมกับสแนปชอต 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 เป็นการเปิดเครื่องแบบ Cold Boot (เหมือนการเปิด/ปิดอุปกรณ์) การเริ่มต้นในครั้งต่อๆ ไปทั้งหมดดำเนินไปอย่างรวดเร็วและระบบได้รับการกู้คืนสู่สถานะที่ ซึ่งคุณได้ปิดโปรแกรมจำลอง (คล้ายกับการปลุกอุปกรณ์)
หากคุณต้องการควบคุมว่าจะให้โปรแกรมจำลองบันทึกสแนปชอตเมื่อใด ให้เปิด หน้าต่างการควบคุมแบบขยายของโปรแกรมจำลอง แล้วคลิกการตั้งค่า คุณสามารถเลือกการตั้งค่าแบบใดแบบหนึ่งต่อไปนี้ได้ สำหรับบันทึกสถานะการเปิดเครื่องอย่างรวดเร็วเมื่อออก:
- ใช่: บันทึกสแนปชอตการเปิดเครื่องอย่างรวดเร็วเสมอเมื่อปิดโปรแกรมจำลอง โดยตัวเลือกนี้คือค่าเริ่มต้น
- ไม่: ไม่ต้องบันทึกสแนปชอตการเปิดเครื่องด่วน ให้ทำ Cold Boot ทุกครั้ง
- ถาม: ระบุว่าจะบันทึกสแนปชอตการเปิดเครื่องอย่างรวดเร็วหรือไม่เมื่อคุณปิด โปรแกรมจำลอง
การเลือกของคุณจะมีผลกับ AVD ที่เปิดอยู่ในปัจจุบันเท่านั้น
ดูข้อมูลเพิ่มเติมได้ที่เอกสารประกอบการเปิดเครื่องอย่างรวดเร็ว
เพิ่มการสนับสนุนสำหรับ Mac OpenGL ES 3 (สำหรับอิมเมจระบบที่ใช้ API ระดับ 24 และ Google APIs และ x86 ABI)
โปรแกรมจำลองใช้ OpenGL Core เพื่อเพิ่มความเสถียรในแอป OpenGL ES 2 ขึ้นไป โปรไฟล์ ถ้ามี
ตัวเลือกใหม่สำหรับการแสดงภาพด้วย Swiftshader / ANGLE:
-gpu swiftshader_indirect
: Swiftshader ตัวแปรที่เร็วกว่าและเสถียรกว่า ที่ทำงานร่วมกับ Quick Boot-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 เวอร์ชันล่าสุด
และรองรับเสียงแหลม
มี
vendor.img
พาร์ติชันแยกกัน - HAXM 6.2.0 ใหม่พร้อมให้บริการแล้ว (ดู SDK Manager) และมี
การอัปเดตต่อไปนี้:
- การใช้งานหน่วยความจำที่ดีขึ้น ชุดหน่วยความจำที่ใช้งานได้สูงสุดซึ่ง HAXM ปักหมุดไว้คือ ไม่เท่ากับขนาด RAM ของ AVD อีกต่อไป แต่หน่วยความจำจะแบ่งหน้า ได้แบบออนดีมานด์ วิธีนี้จะช่วยให้โปรแกรมจำลองทำงานได้อย่างเสถียรมากขึ้นบนเครื่องที่มี ปริมาณ RAM น้อยกว่า
- ขณะนี้โปรแกรมจำลองที่มี HAXM 6.2.0 สามารถบูตได้เร็วขึ้นใน macOS โดยข้าม ระยะเริ่มต้นที่ใช้เวลานาน
- การปรับปรุงการกำหนดค่า GPU
- แก้ปัญหาหน้าจอสีดำเมื่อเปิดเครื่องเมื่อทำงานจากฝั่งผู้มาเยือน การแสดงผลซอฟต์แวร์โดยการย้อนกลับไปที่การแสดงผลซอฟต์แวร์ฝั่งโฮสต์ด้วย Swiftshader การแก้ไขล่าสุดของอิมเมจระบบสำหรับ API ระดับ 19 - 25 ด้วย Google API ควรมีการแสดงผลฝั่งผู้มาเยือนที่ใช้งานได้
- แก้ปัญหาที่โปรแกรมจำลองเปลี่ยนไปใช้ตัวแสดงผลซอฟต์แวร์
จากการตรวจหาที่มีอยู่ของ Intel GPU รุ่นเก่า แต่โปรแกรมจำลองดังกล่าว
ทำงานจริงบน GPU ที่แยกกัน GPU ที่จะเปลี่ยนไปใช้ ANGLE
หรือ การแสดงผล Swiftshader จะกำหนดดังนี้
- Intel iGPU รุ่นเก่ามีปัญหาเกี่ยวกับไดรเวอร์ทั้ง OpenGL และ ANGLE D3D คนขับรถ ผู้ใช้ที่มี Intel HD Graphics 3xxx ขึ้นไปจะใช้ Swiftshader
- ผู้ใช้บางรายรายงานว่าไม่สามารถใช้รูปภาพ API ระดับ 25 เนื่องจาก ของข้อบกพร่องที่ "Pixel Launcher หยุดทำงานอยู่เรื่อยๆ" นี่ดูเหมือนจะเป็น ปัญหาไดรเวอร์ใน Intel HD 4xxx บางรุ่น โซลูชันเหล่านี้จะเปลี่ยนเป็น ให้ใช้ ANGLE โดยอัตโนมัติ
- เพื่อให้ได้ผลลัพธ์ที่ดีที่สุดเมื่อใช้การจำลอง GPU เราขอแนะนำให้ใช้ NVIDIA หรือ AMD GPU แบบแยกต่างหาก หรือ Intel GPU ที่ใหม่กว่า (Iris, HD 5xxx, HD 5xx/6xx)
- แก้ไขปัญหาที่โปรแกรมจำลองเริ่มทำงานไม่สำเร็จ (การจำลอง OpenGL
เริ่มต้นไม่สําเร็จ) หากกําหนดค่า AVD ด้วย
hw.gpu.mode=host
และ โปรแกรมจำลองเปิดตัวในไคลเอ็นต์ Remote Desktop - ชี้แจง "ระดับ API ของ OpenGL ES (จำเป็นต้องรีสตาร์ท)" การตั้งค่า เพิ่ม ตัวเลือกในการดาวน์เกรดจาก 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
- แก้ไขปัญหาที่โปรแกรมจำลองขัดข้องเมื่อเริ่มต้นใน Linux บางตัว การกำหนดค่าเอง
26.1.2 (กรกฎาคม 2017)
รุ่นนี้มีฟีเจอร์ใหม่และการปรับปรุงประสิทธิภาพ
เพิ่มความสามารถในการกำหนดค่าพร็อกซี HTTP ที่กำหนดเองใน ตัวควบคุมแบบขยาย (คลิกเพิ่มเติม
แล้วคลิกการตั้งค่า และ พร็อกซี) โดยค่าเริ่มต้น โปรแกรมจำลองจะใช้พร็อกซี HTTP ของ Android Studio แต่หน้าจอนี้จะช่วยให้คุณสามารถกำหนดค่าพร็อกซีด้วยตนเองได้
เพิ่มการรองรับ VNC สำหรับ GPU ในโหมดผู้มาเยือนเพื่อให้ดูโปรแกรมจำลองจากระยะไกลได้ ควบคุมได้ เช่น คุณสามารถเปิดโปรแกรมจำลองและให้ VNC ฟัง พอร์ต 5901 ดังนี้
- ดำเนินการ:
emulator -gpu guest -avd avd_name -no-window -qemu -vnc :1
เปิดเครื่องมือดู VNC เช่น เครื่องมือเครือข่ายเครือข่ายแบบเครือข่าย (Titvnc) เพื่อเชื่อมต่อกับพอร์ต 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 หลายรายการ ไม่ทำงานสำหรับโปรแกรมจำลอง
เพิ่มการรองรับ macOS Hypervisor.Framework เวอร์ชันทดลองสำหรับรูปภาพ 32 บิต x86 บน macOS 10.10+ ผ่านแฟล็กเซิร์ฟเวอร์ ซึ่งควรช่วยปรับปรุงเวลาเปิดเครื่องและ ด้านประสิทธิภาพ
- หากพบปัญหา ให้เพิ่มบรรทัด
HVF = off
ใน~/.android/advancedFeatures.ini
- หากพบปัญหา ให้เพิ่มบรรทัด
ปัจจุบัน OpenGL ES 3.x เปิดใช้อยู่โดยค่าเริ่มต้นสำหรับอิมเมจระบบและ GPU โฮสต์ที่ รองรับ OpenGL ES 3 ขณะนี้มีเพียง Android O (API ระดับ 26) และ โฮสต์ Windows/Linux รองรับ OpenGL ES 3
- ถ้าคุณพบปัญหาเกี่ยวกับ OpenGL ES 3 ให้เพิ่มบรรทัด
GLESDynamicVersion = off
ใน~/.android/advancedFeatures.ini
- ถ้าคุณพบปัญหาเกี่ยวกับ OpenGL ES 3 ให้เพิ่มบรรทัด
ตอนนี้โปรแกรมจำลองใช้ OpenGL FBO นอกหน้าจอสำหรับการแสดงภาพทั้งหมดยกเว้นขั้นสุดท้าย การโพสต์รูปภาพที่แสดง ซึ่งน่าจะช่วยแก้ปัญหาเรื่องความสอดคล้องกันของสีได้ ข้ามแพลตฟอร์ม
หลังจากรวบรวมข้อมูลเกี่ยวกับปัญหาการชะลอตัวของโปรแกรมจำลองอย่างกะทันหัน เราได้พิจารณา ปัญหานั้นอาจเกี่ยวข้องกับการโต้ตอบระหว่างทีม Intel ไดรเวอร์ OpenGL และการอัปเดต Windows ผู้ใช้ที่ใช้ Intel HD 4000, 3000 ตอนนี้ 2000 (และ GPU ที่เกี่ยวข้อง) มีการตั้งค่าการแสดงผลเริ่มต้นเป็น D3D โหมดแสดงภาพ (ANGLE) หรือ Swiftshader (โปรแกรมแสดงผลซอฟต์แวร์)
26.0.0 (มีนาคม 2017)
รุ่นนี้เข้ากันได้กับ API ระดับ 26 และยังมี การปรับปรุงประสิทธิภาพและแก้ไขข้อบกพร่อง
การแก้ไขเล็กน้อย 26.0.3 (พฤษภาคม 2017)
- เพิ่ม Flag ฟีเจอร์ที่อัปเดตได้ทางออนไลน์เพื่อให้แก้ไขปัญหาได้อย่างรวดเร็ว ที่มาจากการกำหนดค่าฮาร์ดแวร์ที่เป็นปัญหา วิธีนี้ช่วยให้ Google ทำสิ่งต่อไปนี้ได้ เปิดตัวการแก้ไขและฟีเจอร์ที่ขึ้นอยู่กับการกำหนดค่าของผู้ใช้ การอัปเดตแฟล็กฝั่งเซิร์ฟเวอร์ หากพบปัญหาเกี่ยวกับฮาร์ดแวร์ที่เจาะจง โปรดรายงานข้อบกพร่อง เพื่อให้เรา ตรวจสอบปัญหา
- การสนับสนุนใหม่สำหรับปุ่มหมุน อินพุตสำหรับระบบ API ระดับ 25 ของ Android Wear รูปภาพ หากต้องการจำลองแป้นหมุนการป้อนข้อมูลด้วยปุ่มหมุนบนอุปกรณ์ Wear ให้คลิก แท็บการป้อนข้อมูลแบบหมุนบนหน้าต่างที่ขยาย
- กล่องโต้ตอบรายงานข้อขัดข้องปรับขนาดได้แล้ว และไม่ได้รีเซ็ตอีกต่อไป เมื่อใดที่ควรส่งรายงานข้อขัดข้องเพื่อถามโดยไม่ต้องป้อนข้อมูล
- ขณะนี้โปรแกรมจำลอง 32 บิตกำหนดให้ขนาด AVD RAM สูงสุดต้องน้อยกว่านี้ เกินหรือเท่ากับ 512 MB เพื่อป้องกันไม่ให้โปรแกรมจำลอง ในพื้นที่ที่อยู่เสมือนขนาด 2 GB
- เพิ่มการรองรับเส้นทางสัมบูรณ์ในอิมเมจโปรแกรมจำลอง
- เพิ่มแท็บใหม่ในหน้าต่างแบบขยายสําหรับรูปภาพ Google Play Store ที่ แสดงเวอร์ชันของบริการ Google Play และปุ่มสำหรับตรวจหาการอัปเดต บริการ Google Play
- เพิ่มเมนูแบบเลื่อนลงเพื่อเลือกตัวแสดงผล OpenGL ในหน้าการตั้งค่าโปรแกรมจำลอง หากคุณประสบปัญหากับไดรเวอร์ OpenGL บน Windows ให้ลองใช้ตัวเลือก ANGLE (D3D11) หรือ ANGLE (D3D9) (ต้องมี รีสตาร์ท) หากคุณประสบปัญหากับไดรเวอร์ OpenGL ใน ในเครื่องที่ไม่ใช่ Windows ให้ลองใช้ตัวแสดงผลซอฟต์แวร์ Swiftshader (ต้องมี รีสตาร์ท)
- แก้ไขข้อขัดข้องที่พบไม่บ่อยเมื่อออกเมื่อโปรแกรมจำลองได้รับทั้ง 2 อย่าง
คำสั่ง
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 ซึ่ง ประกอบด้วยการอัปเดตต่อไปนี้
- เปิดใช้การจำลอง Performance Monitoring Units (PMU) (ปัญหา 223377)
- แก้ไขการใช้งานระบบร่วมกันกับ VirtualBox และ Docker บน Mac (ปัญหา 197915)
- แก้ไขข้อความแสดงข้อผิดพลาดในการติดตั้งซึ่งแสดงขึ้นเมื่อโปรแกรมติดตั้ง ตรวจไม่พบ Intel VT-x ใน Windows ซึ่งโดยปกติเป็นเพราะเปิดใช้ Hyper-V
- เพิ่มการรองรับการเร่งความเร็วโปรแกรมจำลอง Android ในโหมด Hyper-V VM ของ Windows การอัปเดตนี้กำหนดให้อินสแตนซ์ Hyper-V ของโฮสต์ ที่จัดการ Windows VM/guest) ให้ใช้ Hyper-V เวอร์ชันล่าสุด ที่เปิดใช้ระบบเสมือนจริงที่ฝังไว้ ต้องปิดใช้ Hyper-V ใน อินสแตนซ์ Hyper-V ของผู้มาเยือน (Windows VM)
การขึ้นต่อกัน
- เครื่องมือแพลตฟอร์ม Android SDK เวอร์ชัน 25.0.4 ขึ้นไป
- Android SDK Tools เวอร์ชัน 26.0.0 ขึ้นไป
ฟีเจอร์ใหม่และการแก้ไขข้อบกพร่อง
- เข้ากันได้กับ API ระดับ 26
- เป็นไปตามข้อกำหนด GLES 2.0 โดยสมบูรณ์ ได้ GPU โฮสต์ที่มีเดสก์ท็อปที่สอดคล้องกัน
ไดรเวอร์ OpenGL, โปรแกรมจำลองนี้ส่งผ่าน dEQP-GLES2 ของ Android CTS dEQP-GLES2 ไปแล้ว 100%
mustpass
รายการ ฟีเจอร์นี้เปิดตัวสำหรับรูปภาพขนาด 24 x86 ระดับ API (แก้ไข 11 และสูงกว่า) และจะพร้อมใช้งานสำหรับอิมเมจระบบทั้งหมดในเร็วๆ นี้ - ประสิทธิภาพการเล่นวิดีโอที่ดีขึ้น ขณะนี้โปรแกรมจำลองจัดเก็บวิดีโอทั้งหมดแล้ว บัฟเฟอร์สีในความทรงจำของโฮสต์/ผู้มาเยือนที่แชร์ และดำเนินการขั้นสุดท้ายที่จำเป็น การแปลง YUV เป็น RGB ใน GPU 1080p30 ก็น่าจะอยู่ใกล้ ระบบส่วนใหญ่ในปัจจุบัน เปิดตัวสำหรับรูปภาพขนาด 24x86 ระดับ API (เวอร์ชัน 11 ขึ้นไป) และจะรวมสำหรับอิมเมจระบบทั้งหมดในเร็วๆ นี้
- ตอนนี้โปรแกรมจำลองยกเลิกการลงทะเบียนตัวเองจากรายการ
adb devices
อย่างถูกต้องเมื่อออกและปิดพอร์ต TCP ที่เปิดบนเครื่อง Linux - การเชื่อมต่อ adb มีความเสถียรมากขึ้นแล้ว ตรวจพบโปรแกรมจำลองที่ทำงานอยู่ เร็วขึ้นและไม่เปลี่ยนสถานะเป็น "ออฟไลน์" หรือ "ไม่ได้รับอนุญาต" อีกต่อไป
25.3.0 (มีนาคม 2017)
ในรุ่นนี้ โปรแกรมจำลองของ Android จะเผยแพร่แยกต่างหากจาก เครื่องมือ 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: Android Pipe ซึ่งเป็น
ช่องทางการสื่อสารระหว่างโปรแกรมจำลองและระบบปฏิบัติการ Android
ตามลำดับได้เร็วขึ้น มีเวลาในการตอบสนองต่ำกว่า และให้ผลลัพธ์ที่ดีกว่า
ประสิทธิภาพแบบหลายเธรด ซึ่งทำให้เกิดประสิทธิภาพ
เพื่อปรับปรุงโปรแกรมจำลอง ซึ่งได้แก่
- เพิ่มความเร็วในการผลัก/ดึง ADB
- รองรับการเร่งความเร็ว 3 มิติได้ดียิ่งขึ้น
- เพิ่มการตอบสนองโดยรวมของโปรแกรมจำลอง
- ประสิทธิภาพกราฟิกที่ดีขึ้น
- ตอนนี้โปรแกรมจำลองใช้บัฟเฟอร์ฝั่ง GPU (glBindBuffers / glBufferData) เมื่อผู้เข้าร่วมร้องขอ ซึ่งช่วยลดโอเวอร์เฮดของ CPU ในบางแอป
- ปรับปรุงการรองรับเสียง
- I/O ดิสก์ที่เร็วขึ้น: ตอนนี้โปรแกรมจำลองใช้เทรดแยกต่างหากเพื่อ จ่ายการทำงาน I/O ของดิสก์ ทำให้เวลาในการตอบสนองต่ำลงและอัตราการส่งข้อมูลดีขึ้น (ความเร็ว I/O ตามลำดับประมาณ 1.5 เท่า, ความเร็ว I/O การเข้าถึงแบบสุ่มประมาณ 5 เท่า) ยัง ช่วยลดจำนวนการล้างไปยังดิสก์ ทำให้ จำนวนอุปกรณ์จริง
- ตอนนี้โปรแกรมจำลองใช้ไฟล์บางส่วนสำหรับดิสก์บูทบน Windows แล้ว ช่วยเพิ่มความเร็วทั้งการเปิดเครื่องครั้งแรกและ "ล้างข้อมูล" รองเท้าบู๊ต วันและเวลา การสร้างหรือรีเซ็ต AVD ขณะนี้โปรแกรมจำลองเขียน ลงในดิสก์ แทนที่จะเป็น 2 GB หรือมากกว่า
- การปรับปรุงต่างๆ ของ GUI
- ขณะนี้โปรแกรมจำลองใช้ Qt 5.7.0 ซึ่งประกอบด้วยการแก้ไขข้อบกพร่องและ เพื่อปรับปรุงประสิทธิภาพ
- การเริ่มต้น UI ไม่พยายามโหลดโปรแกรมจำลองทั้งหมดอีกต่อไป เป็นไฟล์ปฏิบัติการเป็นปลั๊กอิน Qt ดังนั้นจึงสั้นลงมาก โดยเฉพาะ HDD
- การโต้ตอบกับ UI เร็วขึ้นและลื่นไหลขึ้น ซึ่งรวมถึง การหมุน การปรับขนาดหน้าต่าง และการขยายการควบคุมการโหลดหน้าต่าง และการปิดการขาย