Trình mô phỏng Android được đưa vào gói Android Studio.
Các phiên bản của trình mô phỏng trước phiên bản 25.3.0 được phân phối kèm theo Bộ công cụ SDK Android.
Để đảm bảo bạn có phiên bản mới nhất, hãy kiểm tra Trình quản lý SDK để biết thông tin cập nhật.
Để tải các phiên bản trước của Trình mô phỏng Android, hãy xem trang lưu trữ tệp tải xuống của Trình mô phỏng.
Để biết ghi chú phát hành cho các phiên bản Trình mô phỏng trước phiên bản 25.3.0, hãy xem Ghi chú phát hành của Bộ công cụ SDK Android.
Đối với các vấn đề đã biết và cách khắc phục, vui lòng xem bài viết Khắc phục sự cố của Trình mô phỏng.
35.1.20 (ngày 29 tháng 8 năm 2024)
- Thêm AVD Pixel 8a
- Sửa nhiều lỗi cho thiết bị có thể gập lại
- Cập nhật và khắc phục các sự cố và sự cố bị treo liên quan đến Qt
- [Sửa lỗi] Khắc phục sự cố và tình trạng treo máy trên Windows với các ứng dụng sử dụng Vulkan
34.2.16 (Ngày 9 tháng 7 năm 2024)
- [Sửa lỗi] Giao diện người dùng bị treo/mở trên Pixel Fold trong khi gập/mở
- [Sửa lỗi] Phiên bản Android hiển thị không chính xác dưới dạng Android Vanilla Ice Cream Dùng thử thay vì API 35 trên Mac M1.
- [Sửa lỗi] Vấn đề #296162661: HasSystemFeature FEATURE_SENSOR_HINGE_ANGLE trả về giá trị true trên trình mô phỏng máy tính bảng Pixel C
34.2.15 (Ngày 31 tháng 5 năm 2024)
- Nhiều bản sửa lỗi sự cố liên quan đến chế độ swangle và dọn dẹp nhà quảng cáo
34.2.14 (ngày 20 tháng 5 năm 2024)
Kiểm thử với Bản vá 1 ổn định của Android Studio Jellyfish.
- [Sửa lỗi] Ảnh chụp nhanh đôi khi bị treo trên trình mô phỏng được nhúng
- [Sửa lỗi] "Không" và "Huỷ" nút hoạt động không đúng cách trên ảnh chụp nhanh
- [Sửa lỗi] Các nút trên bàn phím di chuyển không hoạt động
- [Sửa lỗi] Khắc phục vấn đề gặp phải trên Windows khiến trình mô phỏng khởi động trong một số điều kiện khi sử dụng chế độ GPU với ANGLE, đồng thời trả về thông báo lỗi "Failed to khởi động GL emulation" (Không thể khởi chạy mô phỏng GL) trong nhật ký. Xin lưu ý rằng việc khởi động trình mô phỏng bằng dòng lệnh với tuỳ chọn
-gpu swangle_indirect
có thể vẫn tạo ra lỗi này trên phiên bản này. Nếu bạn vẫn muốn khởi động trình mô phỏng bằng một dòng lệnh trên Windows khi kết xuất đồ hoạ phần mềm với phiên bản này, vui lòng sử dụng-gpu swiftshader_indirect
- [Sửa lỗi] Phím tắt vị trí trên bàn phím sẽ tải một bản đồ không sử dụng được
- [Sửa lỗi] Trong khi thiết lập vị trí, tuỳ chọn "lưu tuyến đường" thiếu hộp thoại
34.2.13 (Ngày 30 tháng 4 năm 2024)
Kiểm thử với phiên bản ổn định của Android Studio Jellyfish.
- Cập nhật lên Qt 6.5.3
- Khả năng tương thích với nội dung cập nhật của API Google Maps được dùng trong tính năng Vị trí trong Chế độ điều khiển mở rộng của xảy ra vào cuối tháng 5.
- Khắc phục sự cố tác động lớn
- Nhiều bản sửa lỗi cho AVD Pixel
- Cập nhật thư viện đồ hoạ dùng để kết xuất phần mềm
- [Sửa lỗi]Vấn đề 225541819 Khởi động Chrome gặp sự cố Trình mô phỏng trên x86_64
- [Sửa lỗi]Vấn đề 314614435 Nút chuyển
-http-proxy
được phân tích cú pháp không chính xác
34.1.20 (ngày 1 tháng 4 năm 2024)
Kiểm thử với Android Studio Iguana phiên bản ổn định.
- [Sửa lỗi] Vấn đề #314614435: Khắc phục vấn đề nút chuyển
-http-proxy
được phân tích cú pháp không chính xác
34.1.19 (ngày 7 tháng 3 năm 2024)
Kiểm thử với Android Studio Iguana phiên bản ổn định.
- [Sửa lỗi] Vấn đề #312677259: Khắc phục trường hợp màn hình bị treo trong trình mô phỏng được nhúng sau khi đổi kích thước cửa sổ.
34.1.18 (ngày 29 tháng 2 năm 2024)
Kiểm thử với Android Studio Iguana phiên bản ổn định.
- Đã thêm các thiết bị vào Trình mô phỏng, bao gồm:
- Pixel Fold
- Pixel Tablet
- Pixel 8
- Pixel 8 Pro
- Pixel 7a
- Kiểm thử tích hợp gRPC: Các điểm cuối gRPC hiện đã được cung cấp cho các chương trình kiểm thử đo lường chạy bên trong trình mô phỏng. Việc này cho phép kiểm thử các tình huống thực tế. Tính năng này cho phép nhà phát triển tương tác an toàn với điểm cuối gRPC do Trình mô phỏng Android lưu trữ từ trong các kiểm thử đo lường Android.
- Nhiều bản sửa lỗi
33.1.24 (Ngày 28 tháng 12 năm 2023)
Kiểm thử với Android Studio Hedgehog phiên bản ổn định và Iguana Beta 1.
- Khắc phục vấn đề webcam của Trình mô phỏng không cho phép ghi màn hình ở định dạng mp4.
- Khắc phục sự cố Trình mô phỏng xảy ra trên AVD Pixel Fold khi thiết bị được mở trong lúc ghi màn hình.
- Khắc phục vấn đề Pixel Fold hiện một giao diện điện thoại khác với bàn phím rời và không sử dụng được (sự cố đã được khắc phục trên Windows, Mac Intel và Linux)
- Khắc phục trục trặc trong cảm biến ảo ở Chế độ độc lập (sự cố đã được khắc phục trên Windows, Mac Intel và Linux)
- Khắc phục một số sự cố, đặc biệt là các sự cố xảy ra trong khi đóng trình mô phỏng
33.1.23 (Ngày 30 tháng 11 năm 2023)
Kiểm thử với Android Studio Giraffe Bản vá 4 và Hedgehog phiên bản ổn định.
- Cách triển khai mới cho thiết bị có thể gập lại giúp mô phỏng hiệu quả hơn thiết bị Pixel Fold, hoạt động với API 34 mới nhất
- Nâng cấp phần phụ trợ đồ hoạ: Chúng tôi đã triển khai giao thức gfxstream cho phần phụ trợ đồ hoạ. Điểm cải tiến này giúp nâng cao hiệu suất đồ hoạ và độ ổn định chung cho hệ thống của bạn. Ngoài ra, chúng tôi ra mắt tính năng hỗ trợ Vulkan 1.3 bắt đầu bằng hình ảnh hệ thống với API 34
- Yêu cầu về tính năng: Tuỳ chọn tắt cử chỉ chụm để thu phóng hoặc gán lại phím nóng cho cử chỉ này
- [Sửa lỗi] Vấn đề #302562962 Khắc phục sự cố xảy ra với webcam của Trình mô phỏng khi sử dụng macOS Sonoma
- [Sửa lỗi] Vấn đề #293503871 Khắc phục lỗi không lưu chế độ cài đặt "Microphone" (Micrô) khi khởi động lại Trình mô phỏng
- [Sửa lỗi] Vấn đề #270386314 Khắc phục lỗi ảnh động, trong đó thanh bên vẫn mở sau khi màn hình AVD đã thu nhỏ
- [Sửa lỗi] Vấn đề #154896775 Khắc phục lỗi của công cụ gửi
32.1.15 (Ngày 29 tháng 8 năm 2023)
Kiểm thử với Android Studio Giraffe Bản vá 1 và Hedgehog Canary 16.
- Tuân thủ các yêu cầu của GAS HW đối với Cảm biến trong Trình mô phỏng AAE
- [Sửa lỗi] Vấn đề #266201208 Tin nhắn SMS tiếng Do Thái không gửi được trên API 33
- [Sửa lỗi] Vấn đề #257097404 Trình mô phỏng không hiện thời gian chính xác sau khi máy chủ khởi động trên API 29 và 30
- [Sửa lỗi] Vấn đề #228201899 Không thấy Google Maps trong Chế độ điều khiển mở rộng của Trình mô phỏng Android
32.1.14 (Ngày 27 tháng 6 năm 2023)
Kiểm thử với Android Studio Hedgehog Canary 8, Giraffe Beta 5 và Flamingo phiên bản ổn định.
- Khắc phục tình trạng méo hình và hướng máy ảnh của trình mô phỏng.
- [Sửa lỗi] Vấn đề #257097404 "Trình mô phỏng không hiện thời gian chính xác sau khi máy chủ khởi động". Lỗi này vẫn có thể lặp lại đối với API 29 và API 30.
- [Sửa lỗi] Vấn đề #243456582 "Các bản phát hành Android sau API 30 có thể không khởi động đúng cách trong trình mô phỏng trên các máy Mac M1"
32.1.13 (Ngày 22 tháng 5 năm 2023)
Kiểm thử với Android Studio Hedgehog Canary 2, Giraffe Beta 1 và Flamingo phiên bản ổn định.
- Thêm tính năng hỗ trợ cho AVD Pixel Fold và Pixel Tablet.
- Khắc phục lỗi gLinux.
- [Sửa lỗi] Vấn đề #215231636 "Trình mô phỏng có API trên API 30 không hoạt động trong bộ xử lý Intel thế hệ thứ 12".
- [Sửa lỗi] Vấn đề #275397905 Mức độ sự cố cao trên Trình mô phỏng Android M1 khi di chuyển tiêu điểm con trỏ vào và ra nhiều lần khỏi trình mô phỏng.
- Lỗi đã biết khi khởi chạy AVD Vấn đề #281725854. Vui lòng xem bài viết Khắc phục lỗi của Trình mô phỏng để biết thêm thông tin.
32.1.12 (Ngày 21 tháng 3 năm 2023)
Kiểm thử với Android Studio Giraffe Canary 10, Flamingo RC và Electric Eel Bản vá 2.
- [Sửa lỗi] Vấn đề #267647323 Mạng không hoạt động trên Trình mô phỏng trong Android Studio
- [Sửa lỗi] Vấn đề #268498686 Màn hình trình mô phỏng nhấp nháy
- [Sửa lỗi] Vấn đề #270034824 Hiệu suất của trình mô phỏng suy giảm sau khi cập nhật lên phiên bản 33.1.1
- [Sửa lỗi] Vấn đề #225541819 Trình mô phỏng gặp sự cố khi khởi động Chrome trên x86_64
- [Sửa lỗi] Vấn đề #257097404 Trình mô phỏng không hiển thị đúng thời gian sau khi máy chủ khởi động
- Thêm báo cáo sự cố cho thiết bị Apple M1
32.1.11 (Ngày 8 tháng 2 năm 2023)
Kiểm thử với Android Studio Giraffe Canary 2, Flamingo Beta 1 và Electric Eel Bản vá 1.
- Tối ưu hoá tốc độ mạng
- Hỗ trợ dùng chuột trong Trình mô phỏng được nhúng
- Cải tiến Virtio-snd
- Tắt tính năng sử dụng đường liên kết tượng trưng khi giải nén Trình mô phỏng Android trong quá trình cài đặt
- Khắc phục sự cố trong quá trình kiểm tra trình mô phỏng
31.3.14 (Ngày 13 tháng 12 năm 2022)
Kiểm thử với Android Studio Dolphin, Electric Eel RC1 và Flamingo Canary 9.
- [Sửa lỗi] Khắc phục các sự cố AVD xảy ra khi đăng nhập vào Cửa hàng Play.
31.3.13 (ngày 27 tháng 10 năm 2022)
Kiểm thử với Android Studio Dolphin, Electric Eel Beta 2 và Flamingo Canary 5.
- [Sửa lỗi] Vấn đề #249948338: Tham số múi giờ không hoạt động
- [Sửa lỗi] Vấn đề #249366543: Trình mô phỏng – tuỳ chọn dns-server (máy chủ DNS) không hoạt động sau API 31
31.3.12 (Ngày 10 tháng 10 năm 2022)
Kiểm thử với Android Studio Dolphin và Electric Eel Beta 1.
Bản cập nhật này bao gồm những điểm cải tiến và sửa lỗi sau đây:
- [Sửa lỗi] Vấn đề #247843000: Lỗi xử lý đường dẫn tương đối AVD
- Tăng dung lượng ổ đĩa cho API 24 trở lên
31.3.11 (Ngày 23 tháng 9 năm 2022)
Kiểm thử với Android Studio Dolphin và Electric Eel Canary 10.
Bản cập nhật này bao gồm những điểm cải tiến và sửa lỗi sau đây:
- [Sửa lỗi] Sự cố AVD của Trình mô phỏng được nhúng trên Cửa sổ chế độ điều khiển mở rộng (Extended Controls Window)
- [Sửa lỗi] Vấn đề #183139207: Các vấn đề về âm thanh liên quan đến việc Trình mô phỏng kích hoạt micrô
- [Sửa lỗi] Vấn đề #229764024: Lỗi cảm ứng cố định AVD dẫn đến vấn đề về hành vi trên giao diện người dùng
- [Sửa lỗi] Lỗi khi chạy API AVD 33 trên Mac M1.
- [Sửa lỗi] Vấn đề #243053479: Tốc độ mạng chậm sau khi cập nhật Trình mô phỏng
- [Sửa lỗi] Vấn đề #244617627: Vị trí không hoạt động của Maps trên Windows và Linux
- [Sửa lỗi] Vấn đề #232971796: Nút "thiết bị gọi" không hoạt động trên trang Extended Controls > Phone (Chế độ điều khiển mở rộng > Điện thoại)
- Cập nhật Trình mô phỏng Android thành minigbm
- Di chuyển các tập lệnh bản dựng sang Python3
31.3.10 (Ngày 18 tháng 8 năm 2022)
Kiểm thử với Android Studio Dolphin Beta 5 và Electric Eel Canary 9.
Hiện bạn có thể tải riêng các trình mô phỏng xuống. Nếu bạn đang gặp vấn đề hoặc sự cố với bản phát hành ổn định mới nhất này, vui lòng gửi báo lỗi và cân nhắc việc tải một phiên bản hoạt động trước đó xuống qua trang lưu trữ tệp tải xuống của trình mô phỏng.
Bản cập nhật này bao gồm những điểm cải tiến và sửa lỗi sau đây:
- Cải thiện khả năng hỗ trợ đối với đường dẫn unicode trên Windows
- Xử lý tốt hơn việc tắt trình mô phỏng để có thể mở mới thành công cùng một AVD.
- Cập nhật thiết kế AVD có thể gập lại và các chế độ cài đặt mặc định
- Cập nhật nút trình mô phỏng cho Wear
- Cải thiện tính năng phát trực tuyến âm thanh gRPC
- Thêm lệnh để có thể thay đổi kích thước trình mô phỏng qua bảng điều khiển
- Bản sửa lỗi Chrome dành cho API 31
- [Sửa lỗi] Xác thực Tài khoản Google không thành công trên GmsCore phiên bản 21.42.18
31.2.10 (Ngày 20 tháng 4 năm 2020)
Kiểm thử với Android Studio Dolphin Canary 8 và Chipmunk RC 1.
Bản cập nhật này bao gồm những điểm cải tiến và sửa lỗi sau đây:
- Thêm tiện ích để tải các hàm Vulkan bằng tính năng dự phòng
- [Sửa lỗi] Sửa lỗi bản dựng gcc8
31.2.9 (Ngày 23 tháng 3 năm 2022)
Kiểm thử với Android Studio Dolphin Canary 7.
Bản cập nhật này bao gồm bản sửa lỗi sau đây:
- [Sửa lỗi] Bỏ qua áp lực bộ nhớ khi lưu ảnh chụp nhanh trên M1
31.2.8 (ngày 7 tháng 2 năm 2022)
Kiểm thử với Android Studio Bumblebee Bản vá 1 và Chipmunk Canary 6.
Bản cập nhật này bao gồm những điểm cải tiến và sửa lỗi sau đây:
- [Sửa lỗi] Không đăng nhập được vào ứng dụng
- [Sửa lỗi] Vấn đề #215368358: "adb reboot" ("khởi động lại adb") trên nền tảng Intel sẽ làm avd gặp sự cố với "vcpu shutdown request" ("yêu cầu tắt vcpu")
31.2.7 (ngày 1 tháng 2 năm 2022)
Kiểm thử với Android Studio Bumblebee Bản vá 1 và Chipmunk Canary 6.
Bản cập nhật này bao gồm bản sửa lỗi sau đây:
- [Sửa lỗi] Lỗi treo trình mô phỏng trên máy M1.
31.2.6 (ngày 20 tháng 1 năm 2022)
Kiểm thử với Android Studio Arctic Fox, Bumblebee Beta 4 và Chipmunk Canary 6.
Bản cập nhật này bao gồm những điểm cải tiến và sửa lỗi sau đây:
- Thêm nút của thiết bị đeo vào trình mô phỏng Wear OS.
- Cho phép chỉnh sửa tất cả thuộc tính phương tiện xe trong thẻ VHAL.
- [Sửa lỗi] Xác thực tài khoản Google không thành công trên GmsCore v21.42.18.
- [Sửa lỗi] Netshaper không hoạt động tốt với VirtioWifi.
- [Sửa lỗi] Sự kiện lệnh bảng điều khiển chuột không hoạt động.
- Bổ sung tính năng kiểm tra KVM để tạo AVD cục bộ.
31.1.3 (ngày 18 tháng 1 năm 2022)
Bản cập nhật này bao gồm những điểm cải tiến và sửa lỗi sau đây:
- Bật cổng bảng điều khiển cho Fuchsia.
- Khi đổi kích thước cửa sổ nhiều màn hình, hướng sẽ bị bỏ qua.
- Wi-Fi: Bổ sung tính năng hỗ trợ tuỳ chọn lọc các gói unicast dựa trên địa chỉ MAC MAT.
- Wi-Fi: Khắc phục sự cố khi sử dụng vmnet.
30.9.5 (ngày 15 tháng 12 năm 2021)
Bản cập nhật này bao gồm những điểm cải tiến và sửa lỗi sau đây:
- Thêm chức năng dễ dàng thay đổi kích thước cho cửa sổ mang kích thước máy tính hoặc máy tính bảng.
- Bổ sung tính năng hỗ trợ nhập bằng cách nhấn nhiều lần qua thiết bị lưu trữ tương thích.
- VirtioWifi: Bổ sung tính năng hỗ trợ cho mạng nhấn.
- Bật phương thức nhập dữ liệu xoay cho hình ảnh hệ thống Wear.
- Khắc phục vấn đề về cấu hình âm thanh gRPC.
- Cập nhật tính năng trình mô phỏng phát lại SensorReplay để hỗ trợ cảm biến Android tiêu chuẩn.
- Kết nối trình mô phỏng với thiết bị ngoại vi và thiết bị sử dụng USB có khả năng truyền qua USB.
30.4.5 (ngày 23 tháng 2 năm 2021)
Bản cập nhật này bao gồm những điểm cải tiến và sửa lỗi sau đây:
- macOS: Khắc phục vấn đề về đầu vào âm thanh gây hiện tượng méo tiếng.
- Bổ sung tính năng hỗ trợ virtio-ockock trong không gian người dùng.
- Hình ảnh hệ thống trong tương lai sẽ sử dụng bảng điều khiển virtio cho thông điệp logcat và nhân hệ điều hành.
- Tăng tốc độ kết xuất Vulkan.
- Bổ sung tính năng hỗ trợ tổng quan nhanh giúp gỡ lỗi khi kiểm thử không thành công.
- virtio-gpu: cập nhật định nghĩa để hỗ trợ tài nguyên blob enum mới nhất.
- Bổ sung tính năng hỗ trợ tổng quan nhanh cho các kiểu truyền tải đồ hoạ "asg".
- macOS: Bổ sung tính năng hỗ trợ xây dựng cho SDK macOS 11.1 trở lên.
- Theo mặc định, KVMPLURAL được bật trên các hình ảnh hệ thống mới hơn.
- Bổ sung tính năng hỗ trợ cho cảm biến nhịp tim vào trình mô phỏng Wear.
- Xoá phần phụ trợ Vulkan libportability.
- Hỗ trợ thêm nhiều tính năng trong trình mô phỏng modem.
30.0.26 (ngày 16 tháng 8 năm 2020)
Bản cập nhật này có một số tính năng mới, cải thiện một số tính năng hiện có và khắc phục một số lỗi.
Hỗ trợ thiết bị có thể gập lại có cảm biến bản lề ảo và chế độ xem 3D
Bổ sung tính năng hỗ trợ cảm biến bản lề cho thiết bị có thể gập lại. Tính năng này yêu cầu hình ảnh hệ thống Android 11 và cấu hình AVD trong tương lai. Khung xem 3D có thể gập và thông số bản lề hiện được tích hợp với các giá trị đặt trước hiện có cho thiết bị có thể gập lại. Bạn có thể sử dụng nội dung sau với tệp
config.ini
của AVD có thể gập lại 7.3 chẳng hạn: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
Giờ đây, thiết bị có thể gập lại cũng có kiểu thông số phụ. Hiện đã có thuộc tính
config.ini
hw.sensor.hinge.sub_type = hinge/fold
. Hãy xem bài đăng trên blog Phát triển cho Android 11 bằng Trình mô phỏng Android để biết thêm chi tiết.Giờ đây, cảm biến bản lề được bật theo mặc định.
Nếu thiết bị có thể gập lại được định cấu hình, trình mô phỏng giờ đây sẽ gửi cho khách thông tin cập nhật cảm biến góc bản lề cũng như thay đổi về tư thế. Thiết bị có thể gập lại nay sẽ cập nhật góc và tư thế của cảm biến bản lề khi người dùng nhấn nút gập hoặc mở của thanh công cụ.
Trình mô phỏng cho máy chủ ARM64
Mã nguồn trình mô phỏng Linux hiện hỗ trợ biên dịch chéo từ máy chủ x86_64 sang arm64, cho phép chạy hình ảnh hệ thống arm64 với công nghệ ảo hoá KVM. Hiện tại, chỉ
-gpu swiftshader_indirect
(kết xuất máy chủ Swiftshader arm64) được hỗ trợ, nhưng bạn cũng có thể sử dụng một bộ thư viện GPU lưu trữ (trên máy chủ) libEGL/libGLESv2 tương thích bằng cách thay thế lib64/gles_swiftshader với các thư viện đó rồi chạy lại với-gpu swiftshader_indirect
. Tính năng tổng quan nhanh cũng có thể không hoạt động (thêm-no-snapshot
vào dòng lệnh). Hướng dẫn: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
Đang trong quá trình chuẩn bị hỗ trợ Apple Silicon.
Hỗ trợ virtio-gpu
- Hỗ trợ thêm về máy chủ cho các tài nguyên blob ổn định dành cho máy chủ lưu trữ virtio-gpu sắp tới.
- Do cách hoạt động của tính năng kết xuất trình mô phỏng, chúng tôi hiện xử lý cơ chế xếp hàng ảo virtio-gpu trong luồng vcpu (vì dù sao thì quá trình kết xuất cũng được giảm tải sang các luồng khác). Tính năng kết xuất virtio-gpu sẽ được bật trong một hình ảnh hệ thống và phiên bản trình mô phỏng trong tương lai.
- Trong một hình ảnh hệ thống trong tương lai, trình mô phỏng sẽ có thể chạy tất cả hình ảnh có ngăn xếp dựa trên virtio-gpu.
Tính năng mới và tính năng nâng cao khác
- Tính năng truyền qua USB hiện đã có trên Windows nhờ
-qemu -usb -device usb-host,vendorid=<usb-vendor-id>,productid=<usb-product-id>
. (Tính năng này hẳn cũng đã hoạt động trên Linux và macOS) - Cập nhật thư viện WebRTC thành M83.
- Trình mô phỏng hiện hỗ trợ truyền phát âm thanh trong vùng chứa qua WebRTC.
- Xoá điểm cuối của ống darwinn.
- Trình giải mã CUDA VPx cho video hiện đã được đưa vào sử dụng cho tính năng giải mã CUDA VPx có sẵn trong phần cứng thông qua biến môi trường
ANDROID_EMU_MEDIA_DECODER_CUDA_VPX=1
. - Trên macOS, SSE 4.1 và 4.2 hiện có sẵn trong hệ điều hành Android khách.
- Theo mặc định trên macOS, INVTSC hiện đang bật. Tính năng này có thể cải thiện độ chính xác của kết quả đo lường thời gian từ chế độ khách.
- Chúng tôi hiện theo dõi ngăn điều khiển mở rộng đã được người dùng chọn trong chỉ số.
- Trình mô phỏng Linux hiện sử dụng đồng hồ ảo hoá song song KVM khi phiên bản kernel khách >= 5.4 (hình ảnh hệ thống R trở lên).
- Trình mô phỏng hiện sử dụng LZ4 để giải nén các nhân hệ điều hành khách, giúp ứng dụng này tương thích với quy trình nhân hệ điều hành hiện đại.
Thêm các lệnh trong bảng điều khiển để lấy thư mục AVD của trình mô phỏng, đường dẫn đến tệp khám phá (trong trường hợp sử dụng Studio nhúng) và đường dẫn tới ảnh tổng quan nhanh:
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>
Để giúp dễ dàng tiết kiệm không gian màn hình dọc, chúng tôi đã thêm tuỳ chọn ẩn khung thiết bị cho thiết bị ảo Android (AVD) hiện tại trong Extended Controls (Chế độ điều khiển mở rộng) > Settings (Cài đặt). Để ẩn khung thiết bị cho tất cả AVD, chúng tôi đã cung cấp cờ tính năng
NoDeviceFrame
. Cờ này có thể được kích hoạt bằng cách chạy trình mô phỏng qua dòng lệnh có khung-feature NoDevice
, hoặc để khoá cờ, hãy thêmNoDeviceFrame = on
vào~/.android/advancedFeatures.ini
(Hãy tạo tệp này nếu chưa có).Thêm một mục thả xuống trên trang dành cho thiết bị di động để bật và tắt tính năng hỗ trợ đo lường dữ liệu. Đây là tuỳ chọn không hoạt động với những hình ảnh hệ thống cũ không hỗ trợ nút bật/tắt tuỳ chọn đo lường dữ liệu 5G.
- Đồng thời thêm lệnh điều khiển có cùng mục đích:
gsm meter on|off
- Đồng thời thêm lệnh điều khiển có cùng mục đích:
Nâng cấp chuỗi công cụ/bản dựng lên C++17.
Sửa lỗi: trình mô phỏng được nhúng
- Bảng nhớ tạm hiện đã hoạt động được.
- Khắc phục vấn đề ký tự viết hoa được phân phối dưới dạng ký tự viết thường trong trình mô phỏng.
- Khắc phục việc tải mã thông báo bảng điều khiển qua một đường dẫn unicode trong cửa sổ.
- Khắc phục thông báo lỗi
SO_REUSEPORT
trên linux. - Khắc phục vấn đề hỏng ảnh tổng quan nhanh khi gửi các lệnh chụp nhanh thông qua gRPC, cũng như khi nhấn nút lưu tổng quan nhanh trong trình mô phỏng nhúng của Android Studio.
Khi sử dụng trình mô phỏng Linux được nhúng trong Studio, chúng tôi nhận thấy rằng nếu quá trình này được thực hiện qua Chrome Remote Desktop, có một lỗi
XDG_RUNTIME_DIR
không được đặt và có thể khiến trình mô phỏng được nhúng không xuất hiện do tệp khám phá trình mô phỏng đang được đặt trongXDG_RUNTIME_DIR
. Bạn có thể kiểm tra trạng thái của vấn đề tương ứng trong Công cụ theo dõi lỗi Chrome.Để khắc phục, trình mô phỏng nay sẽ quay lại sử dụng tệp khám phá trong một thư mục có thể khác biệt dựa trên UID của người dùng:
/run/user/<uid>
.Trình mô phỏng được nhúng: Giờ đây, các thiết bị có góc/khía tròn được làm tròn sẽ thay đổi bố cục một cách phù hợp để tạo không gian cho các góc và khía. Việc này yêu cầu bạn phải khởi động nguội các trình mô phỏng đó.
Điểm cuối gRPC hiện đã hỗ trợ gửi SMS tới thiết bị.
Bản sửa lỗi chung
- Chúng tôi nhận thấy vấn đề về khả năng tương thích khi chạy trình mô phỏng Windows với Riot Vanguard đang hoạt động. Trình mô phỏng Windows nay phát hiện tính năng chống gian lận của Vanguard và bật lên một thông báo cảnh báo nếu phát hiện Vanguard.
- Sửa lỗi
FD_SETSIZE
trên Windows. Hiện tại, chúng tôi sử dụngWSAEventSelect()
thay vìselect()
để thiết lập kết nối không bị chặn tới máy chủ loopback - Bổ sung tính năng hỗ trợ CPUID F16C vào trình mô phỏng Linux kèm theo sửa các vấn đề khi chạy một số ứng dụng ARM64 thông qua bản dịch NDK; macOS/Windows đang trong quá trình thêm tính năng này.
- Khắc phục việc phát định tuyến gpx/kml theo các dấu thời gian.
- Khắc phục lỗi không truy cập được biểu tượng khi khởi động cho MacOS.
- Nếu
hw.audioInput=no
vàhw.audioOutput=no
trongconfig.ini
, thì âm thanh của trình mô phỏng nay đã được tắt đúng cách. - Khắc phục vấn đề: cửa sổ trình mô phỏng bị thu nhỏ trong khi cửa sổ điều khiển mở rộng đang mở nhưng không hoạt động, cửa sổ điều khiển mở rộng sẽ vẫn hiện khi bạn thay đổi kích thước cửa sổ trình mô phỏng. Chúng tôi sẽ xoá hoàn toàn hành vi này (trường hợp cửa sổ chế độ điều khiển mở rộng đang hoạt động) trong một bản cập nhật sau này.
- Khắc phục lỗi không ổn định khi không có kết nối Wi-Fi lúc trình mô phỏng khởi động.
- Khắc phục vấn đề chờ thoát khi trình mô phỏng đưa ra các lệnh shell với thời gian chờ dài hoặc vô thời hạn.
- Dùng các bản sửa lỗi để cập nhật pc-bios nhằm hỗ trợ tốt hơn những hình ảnh lớn được truyền đến
-initrd
; BIOS từng sử dụng một phương pháp rất không hiệu quả. - Khắc phục sự cố trong thời gian chấm dứt khi sử dụng tuỳ chọn
-wifi-server-port
. - Trình mô phỏng nay in cảnh báo nếu các tuỳ chọn không được hỗ trợ được chuyển tới
-prop
(Chỉ hỗ trợ thuộc tính qemu.*) - Khi tạo bản dựng chạy trên trình mô phỏng trên Windows, bạn sẽ ít có khả năng gặp lỗi ghi tệp không ổn định. Để biết thêm thông tin, hãy xem bài viết hướng dẫn cho bản dựng Windows.
- Vô hiệu hoá nút Zoom (Thu phóng) đối với AVD có thể gập lại vì có thể gây ra vấn đề.
- Trình mô phỏng nay báo cáo chính xác thời gian khởi động đến từ một lần khởi động lại thiết bị.
- Linux: Trong trường hợp không có đủ quyền KVM, trình mô phỏng sẽ in hướng dẫn gỡ lỗi nhanh hơn.
- Khắc phục vấn đề trình mô phỏng không khởi động được hình ảnh hệ thống gần đây khi không có tính năng tăng tốc.
- Khắc phục trình phát hiện hoàn tất khởi động để không gây ra sự cố hoặc lỗi bộ nhớ khi khởi động.
- Khắc phục lỗi rò rỉ bộ nhớ trong các phiên ghi màn hình dài.
- Biểu tượng trình mô phỏng được cập nhật để thể hiện thương hiệu Studio 4.1.
- Thêm tính năng hỗ trợ tốt hơn giúp phát hiện các phiên từ xa trên Windows.
Sửa lỗi: đồ hoạ và trình giải mã video
- Khắc phục vấn đề trò chơi Asphalt 9 bản mới nhất kết xuất màn hình đen.
- Xoá nội dung rác được tạo ra khi dùng
NULL
để xả bản đồ ánh xạ bộ đệm. - Khắc phục một tình huống tương tranh khi phá vỡ trạng thái Vulkan khi một ứng dụng Vulkan của chế độ khách đã thoát ra.
- Trình tạo bóng mô phỏng Vulkan ASTC/ETC2 nay được đưa vào thư viện libOpenglRender. Cách này sẽ đáng tin cậy hơn so với việc đọc qua hệ thống tệp.
- Khắc phục một vấn đề trong Vulkan, trong đó nếu chạy bằng phiên bản Vulkan 1.0 trên máy chủ,
vkGetImageMemoryRequirements2KHR
sẽ xoá không chính xác trườngpNext
của cấu trúcVkMemoryRequirements2
được trả về. - Khắc phục vấn đề rò rỉ bộ nhớ trong trình kết xuất Vulkan.
- Khắc phục một lỗi hồi quy gần đây trong đó chương trình đổ bóng GLSL ES 1.00 có tên biến như
isampler2D
không biên dịch được. - Cập nhật nhiều bản sửa lỗi cho trình dịch đổ bóng ANGLE nhằm giải quyết việc trình đổ bóng này có thể bị lỗi biên dịch trên Linux.
- Hiện tại, nhằm theo dõi hiện tượng này, chúng tôi để trình mô phỏng gặp sự cố nếu bộ đệm khung cơ bản của trình đổ bóng blit gặp lỗi biên dịch.
- Cập nhật trình dịch bóng đổ ANGLE để cập nhật ANGLE ngược dòng (upstream). Việc này giúp khắc phục vấn đề hỏng bộ nhớ khi dịch và lặp lại hằng số chương trình đổ bóng OpenGL ES sử dụng ma trận không vuông. Trình dịch bóng đổ nay là một thư viện dùng chung riêng biệt,
libshadertranslator.dll
. - Khắc phục vấn đề khởi tạo Vulkan trên một số trình điều khiển GPU không tìm thấy một số chức năng thiết bị 1.1.
- Vulkan: Chúng tôi quay lại sử dụng trình tải được tạo sẵn vì việc ưu tiên dùng trình tải Vulkan của hệ thống đã gây ra sự cố đối với một số chế độ thiết lập; sẽ tìm ra giải pháp tốt hơn.
- Khắc phục vấn đề khi sử dụng bộ nhớ ngoài Vulkan. Bộ nhớ này có thể đã nhập các chỉ mục loại bộ nhớ không khớp trên máy chủ.
- Khắc phục vấn đề trong việc mô phỏng
GL_ALIASED_POINT_SIZE_RANGE
khi enum không được hỗ trợ trên máy chủ. - Khắc phục vấn đề trình tạo bóng Skia không thể biên dịch do lỗi liên quan đến
GL_EXT_shader_framebuffer_fetch
xảy ra trên một số bản GPU lưu trữ trên máy chủ. - Do bản sao trình kết xuất D3D9 ANGLE đã bị xoá từ vài phiên bản trước, nên giờ đây chúng tôi cũng sẽ tự động chuyển đổi những người dùng sử dụng trình kết xuất đó sang d3d11 ANGLE nếu họ chọn trình kết xuất đó trong giao diện người dùng ưu tiên.
- Thêm nhiều thông tin gỡ lỗi khác vào quy trình khởi chạy WGL trên Windows để theo dõi lỗi.
- Khi
hw.gltransport=virtio-gpu-pipe
, hiệu suất sẽ được cải thiện bằng cách không xoay vòng trên máy chủ trong quá trình chuyển dữ liệu từ máy chủ sang máy khách. - Thêm tính năng ghi nhật ký gỡ lỗi khi quá trình mô phỏng OpenGLES không khởi chạy được.
- Khắc phục vấn đề video YouTube nhấp nháy hoặc không xuất hiện khi bản tải tổng quan nhanh.
- Vì nhận thấy vấn đề liên quan đến phương thức giải mã phần cứng CUDA của libvpx nên chúng tôi đã sử dụng phương thức giải mã phần mềm trở lại cho libvpx. Nếu đã triển khai phương thức giải mã phần cứng CUDA được hỗ trợ ở phía máy chủ, bạn có thể bật lại trình giải mã phần cứng của libvpx qua biến môi trường
ANDROID_EMU_MEDIA_DECODER_CUDA_VPX=1
.
30.0.10 (ngày 30 tháng 4 năm 2020)
Bản cập nhật này có hỗ trợ việc chạy trình mô phỏng trực tiếp trong Android Studio và các thiết bị ảo đang kích hoạt Chế độ cửa sổ dạng tự do theo mặc định.
Chạy trình mô phỏng trong Android Studio
Giờ đây, bạn có thể chạy trực tiếp Trình mô phỏng Android trong Android Studio. Hãy sử dụng tính năng này để bảo toàn không gian màn hình, để di chuyển nhanh giữa trình mô phỏng và cửa sổ trình chỉnh sửa bằng cách sử dụng phím tắt, cũng như để sắp xếp quy trình IDE và trình mô phỏng trong một cửa sổ ứng dụng duy nhất.
Chế độ cửa sổ dạng tự do
Nay bạn có thể tạo AVD đã bật Chế độ cửa sổ tự do bằng cách chọn cấu hình phần cứng máy tính bảng Freeform 13.5” khi tạo thiết bị ảo trong Android Studio. Cấu hình phần cứng này yêu cầu hình ảnh hệ thống có Bản dùng thử Android 11 cho nhà phát triển 3 trở lên.
Vấn đề đã biết
Trình đổi kích thước cửa sổ dạng tự do hiện không sử dụng được vì các vấn đề khi chuyển tiêu điểm sang Trình quản lý cửa sổ. Tình trạng này sẽ được giải quyết trong bản phát hành ảnh hệ thống Android 11 trong tương lai.
30.0.0 (ngày 19 tháng 2 năm 2020)
Bản cập nhật này cải thiện hiệu suất khi chạy tệp nhị phân ARM, đồng thời cung cấp hình ảnh hệ thống Android 11 (API cấp 30).
Hình ảnh hệ thống Android 11
Nay bạn có thể tạo AVD chạy Android 11 bằng cách chọn một trong các hình ảnh hệ thống API cấp 30 hiện có:
- x86: Bao gồm cả Giao diện nhị phân ứng dụng (ABI) x86 và ARMv7.
- x86_64: Bao gồm các ABI x86, x86_64, ARMv7 và ARM64.
Hỗ trợ tệp nhị phân ARM trên hình ảnh hệ thống Android 9 và 11
Nếu trước đây bạn không thể sử dụng Trình mô phỏng Android vì ứng dụng phụ thuộc vào tệp nhị phân ARM, thì giờ đây, bạn có thể sử dụng hình ảnh hệ thống Android 9 x86 hoặc hình ảnh hệ thống Android 11 bất kỳ để chạy ứng dụng này – bạn không còn cần phải tải một hình ảnh hệ thống cụ thể xuống để chạy tệp nhị phân ARM. Theo mặc định, những hình ảnh hệ thống Android 9 và Android 11 này hỗ trợ ARM và có hiệu suất được cải thiện đáng kể so với khi sử dụng chế độ mô phỏng ARM đầy đủ.
Vấn đề đã biết
- Một số tệp nhị phân ARMv7 không chạy được trên ảnh hệ thống Android 11 x86 và x86_64. Cân nhắc xây dựng cho ARM64 khi chạy trên hệ điều hành Android 11.
29.0.11 (ngày 29 tháng 5 năm 2019)
Bản cập nhật này bao gồm những điểm cải tiến và sửa lỗi sau đây:
- Windows: Thay vì được biên dịch bằng
libgcc
tĩnh, trình mô phỏng hiện dựa vào DLLlibgcc
mà chúng tôi gửi kèm. - Linux: Thêm tính năng hỗ trợ logcat vào gRPC API. Để biết thêm thông tin về gRPC, hãy xem nội dung trình mô phỏng truyền trực tuyến gRPC (Linux).
- Trình mô phỏng hiện có một bản dựng không có giao diện người dùng cho phiên bản 32-bit x86 (
qemu-system-i386
). Tính năng này cho phép hình ảnh hệ thống x86 32 bit dành cho API cấp 26 trở xuống chạy bản dựng không có giao diện người dùng. Lưu ý rằng đối với chế độ khách 32 bit x86 có API 27 trở lên, trình mô phỏng sẽ sử dụng công cụ 64 bit (qemu-system-x86_64
) vì trong những ảnh hệ thống này, không gian người dùng là 32 bit còn nhân hệ điều hành là 64 bit. Android Studio sử dụng nhân hệ điều hành để chọn công cụ mô phỏng. - Bạn hiện có thể chỉ định đường dẫn thư viện Qt tuỳ chỉnh bằng cách sử dụng biến môi trường
ANDROID_QT_LIB_PATH
. - Bạn hiện có thể chạy trình mô phỏng với các tệp nhị phân trước đó sử dụng QEMU1 nếu các tệp thực thi QEMU1 (
emulator[64]-[x86|arm|etc]
) được đặt trong thư mục trình mô phỏng. - Windows: Khắc phục vấn đề đôi khi có thể khiến trình mô phỏng không khởi động kèm theo thông báo "yêu cầu tắt vCPU".
- Khắc phục vấn đề về rào cản quy trình không cần thiết trong các kết cấu nén được mô phỏng trong Vulkan.
- Khắc phục lỗi xảy ra với các yêu cầu proxy http khi sử dụng phương thức mã hoá chuyển dữ liệu chia nhỏ (chunked transfer). Để biết thêm thông tin, hãy xem chi tiết về cam kết.
29.0.9 (ngày 7 tháng 5 năm 2019)
Bản cập nhật này bao gồm bản sửa lỗi sau đây:
- Windows: Khắc phục vấn đề máy quay cảnh ảo và webcam không hoạt động trên trình mô phỏng.
29.0.8 (ngày 6 tháng 5 năm 2019)
Bản cập nhật này bao gồm những điểm cải tiến và sửa lỗi sau đây:
- Thêm tính năng hỗ trợ nhiều loại màn hình phần cứng ảo khi có một dịch vụ khách muốn liệt kê và thiết lập từng loại màn hình. Nhiều màn hình phần cứng ảo sẽ được đưa vào bản cập nhật ảnh hệ thống trình mô phỏng sau này.
- Thêm tuỳ chọn dòng lệnh mới:
-delay-adb
. Tuỳ chọn này chặn việc xử lý các gói ADB cho đến khi chế độ khách hoàn tất khởi động (tắt khởi động nguội). Tuỳ chọn này giúp giải quyết các vấn đề có thể xảy ra nếu bạn sử dụng trình mô phỏng trong một môi trường CI khởi động lại trình mô phỏng và sử dụng DDMS cùng lúc. - Sửa lỗi xảy ra khi tải bản tổng quan nhanh,
glIsRenderbuffer
sẽ trả về giá trị không chính xác. - Sửa một số vấn đề về trạng thái cũ khi hệ điều hành Android khách khởi động lại.
- Windows: Sửa các vấn đề làm trình mô phỏng không khởi động khi tên người dùng Windows có các ký tự hoặc dấu cách không phải ký tự ASCII.
Vấn đề đã biết
- Giao diện người dùng của trang Tổng quan nhanh đã bị tắt đối với ảnh của hệ thống Automotive vì các bản tổng quan nhanh này hiện không hỗ trợ hình ảnh hệ thống.
29.0.6 (ngày 1 tháng 5 năm 2019)
Bản cập nhật này có một số tính năng mới, cải thiện một số tính năng hiện có và khắc phục một số lỗi.
Ngừng hỗ trợ trình máy ảo QEMU1 và Windows 32 bit
Để duy trì trình mô phỏng tốt hơn, chúng tôi không còn gửi tệp nhị phân QEMU1 và Windows 32 bit. Nếu đang sử dụng Windows 32 bit, bạn không thể nâng cấp lên bản phát hành 29.0.6.
Yêu cầu đối với ảnh hệ thống Android Q
Nếu muốn chạy AVD sử dụng ảnh hệ thống Android Q, giờ đây bạn phải sử dụng bản phát hành 29.0.6 (phiên bản phát hành này) trở lên.
Cải tiến trong Project Marble
Bản cập nhật này tiếp nối nỗ lực của chúng tôi trong sáng kiến Project Marble được công bố tại Hội nghị Nhà phát triển Android vào tháng 11 năm 2018. Để biết thêm thông tin về những điểm cải tiến khác của Project Marble trong các bản phát hành trước, hãy xem nội dung Trình mô phỏng Android: Điểm cải tiến trong Project Marble.
Trong lần cập nhật này, hầu hết nỗ lực của chúng tôi đối với Project Marble đều dành riêng cho việc giảm mức sử dụng tài nguyên của trình mô phỏng, chẳng hạn như giảm mức sử dụng CPU của trình mô phỏng khi ở trạng thái rảnh. Chúng tôi cũng đưa ra những thay đổi giúp bạn dễ dàng làm việc trên trình mô phỏng trong nhiều môi trường hơn. Đồng thời, chúng tôi đã giải quyết các vấn đề chung về chất lượng.
Các phần sau đây mô tả các điểm cải tiến về Project Marble trong bản cập nhật này:
Cải tiến về hành vi âm thanh của máy chủ
Kể từ bản phát hành 28.0.3, theo mặc định thì trình mô phỏng sẽ chặn âm thanh đầu vào từ máy chủ.
Nếu muốn sử dụng dữ liệu âm thanh của máy chủ, bạn có thể bật tuỳ chọn đó bằng cách chuyển tới phần Extended Controls (Chế độ điều khiển mở rộng) > Microphone (Micrô) rồi bật Virtual microphone uses host audio input (Micrô ảo sử dụng đầu vào âm thanh của máy chủ). Tuỳ chọn này tự động tắt bất cứ khi nào trình mô phỏng khởi động lại.
Nếu sử dụng dòng lệnh, bạn cũng có thể bật âm thanh của máy chủ bằng lựa chọn -allow-host-audio
, đồng thời có thể bật hoặc tắt dữ liệu âm thanh của máy chủ bằng các lệnh ADB tương ứng sau đây:
adb emu avd hostmicon
adb emu avd hostmicoff
Cải tiến đối với bản dựng trình mô phỏng không có giao diện người dùng
Kể từ phiên bản 28.0.25, trình mô phỏng có một tuỳ chọn bản dựng không có giao diện người dùng có thể chạy mà không cần giao diện người dùng. Bạn có thể sử dụng bản dựng không có giao diện người dùng để thiết lập trình mô phỏng cho Docker và quy trình làm việc tích hợp liên tục (CI).
Với bản cập nhật này, chúng tôi đã cải thiện thêm để cho phép trình mô phỏng chạy với số lượng phần phụ thuộc tối thiểu. Trên Linux, các bản dựng không có giao diện người dùng sẽ không còn chứa thư viện pulseaudio
hoặc libX11
nữa. Các thư viện dùng chung phụ thuộc vào hệ thống không được đóng gói với trình mô phỏng đã bị giảm xuống theo danh sách sau:
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
Nâng cấp thư viện giao diện người dùng Qt lên phiên bản hỗ trợ dài hạn 5.12
Bản cập nhật này bao gồm các điểm cải tiến sau từ bản phát hành LTS (hỗ trợ dài hạn) Qt 5.12:
- Để tránh xảy ra sự cố trong bộ giải mã
libpng
của Qt khi khởi động một số hình ảnh hệ thống, trình mô phỏng giờ đây sử dụng bản saolibpng
riêng để giải mã hình ảnh PNG. - Để giải quyết vấn đề xảy ra với một số lượt cài đặt trên Linux chứa các phiên bản không tương thích của một số thư viện phụ thuộc vào Qt, nay chúng tôi đóng gói
libfreetype
,libsoftokn
,libsqlite3
vàlibxkbcommon
cùng với trình mô phỏng. - Trình mô phỏng nay sử dụng thư viện cửa sổ gốc của nền tảng để lấy kích thước màn hình, thay vì sử dụng những thư viện Qt trả về kết quả không đáng tin cậy.
Tự động tối ưu hoá CPU sau khi khởi động nguội
Để giải quyết vấn đề mức sử dụng CPU, giờ đây trình mô phỏng sẽ chạy các lệnh ADB sau đây trên một phiên khởi động nguội sau khi nhận được tín hiệu boot complete
:
adb shell settings put screen_off_timeout 214783647
- Lệnh này làm tăng thời gian chờ tắt màn hình để bạn có thể sử dụng trình mô phỏng ở chế độ dùng pin khi không sạc. Ở chế độ dùng pin, mức sử dụng CPU trong nền sẽ giảm đáng kể.
- Trong chế độ cắm sạc nguồn AC, các thao tác chạy trong nền tảng GMSCore, chẳng hạn như bản cập nhật ứng dụng, có thể chiếm dụng tất cả lõi CPU của thiết bị – và sâu hơn là toàn bộ lõi CPU trên máy của người dùng – mà không có cảnh báo.
adb shell pm revoke com.google.android.googlequicksearchbox android.permission.RECORD_AUDIO
- Lệnh này thu hồi quyền sử dụng micrô của ứng dụng Google Tìm kiếm. Điều này giúp giảm đáng kể mức sử dụng CPU trong nền trên màn hình chính và trong trình chạy khi ứng dụng Google Tìm kiếm đang hoạt động.
- Đối với máy chủ, lệnh này chạy ngoài hành vi mặc định của trình mô phỏng là tắt âm thanh của máy chủ. Hơn nữa, lệnh này còn tự động giảm thiểu mức sử dụng CPU theo mô tả cho tính năng phát hiện cụm từ kích hoạt từ bản phát hành 28.0.23.
Biến môi trường mới để theo dõi hiệu suất
Bạn hiện có thể sử dụng hai biến môi trường mới để theo dõi được hiệu suất và mức sử dụng tài nguyên của trình mô phỏng một cách chi tiết.
SHOW_PERF_STATS=1
- Biến môi trường này giúp bạn theo dõi cả mức sử dụng CPU và RAM. Tính năng theo dõi mức sử dụng RAM được phân biệt giữa mức sử dụng đồ hoạ và tổng bộ nhớ thường trú.
ANDROID_EMU_TRACING=1
- Biến môi trường này cho phép in mỗi khi một thao tác nhập hoặc tác vụ đồ hoạ mất nhiều thời gian (dài hơn 1 mili giây).
- Chúng tôi cũng đang sử dụng biến môi trường này để giúp chẩn đoán các vấn đề mà người dùng Windows gặp phải khi gặp hiện tượng giật hình (khung hình bị sụt) nhiều hơn so với khi họ trải nghiệm trên macOS hoặc Linux.
Cải tiến chung trong Project Marble
Bản cập nhật này cũng bao gồm các điểm cải tiến chung sau đây trong sáng kiến Project Marble:
- Bạn hiện có thể tạm dừng tất cả vCPU trên trình mô phỏng thông qua các lệnh trong bảng điều khiển sau:
adb emu avd pause
adb emu avd resume
- Giảm đáng kể mức hao tổn của bản vẽ OpenGL. Điểm cải tiến này làm giảm mức sử dụng CPU trong khi trình mô phỏng đang phát ảnh động.
- Khôi phục hỗ trợ cho thiết bị mạng ảo e1000 của QEMU. Bạn có thể sử dụng thiết bị này để thiết lập trình mô phỏng trong môi trường mạng cầu nối. Trong môi trường mạng cầu nối, trình mô phỏng sẽ xuất hiện trên mạng máy chủ và mạng máy chủ sẽ xuất hiện trên trình mô phỏng.
- Bạn hiện có thể dùng các tệp nhị phân BIOS phù hợp với QEMU 2.12 để khởi động trình mô phỏng.
- Nâng cấp phiên bản
ffmpeg
lên phiên bản 3.4.5 để mã hoá và giải mã video. - Giảm đáng kể mức hao tổn vòng lặp chính I/O của QEMU trên macOS bằng cách thay thế vòng lặp chính dựa trên
select()
bằng vòng lặp chính dựa trênkqueue
. - Dung lượng bộ nhớ đệm Logcat tăng lên 2 MB để giải quyết các vấn đề EOF gây gián đoạn ngoài dự kiến khi chạy Logcat với trình mô phỏng.
- Theo mặc định, giờ đây trình mô phỏng sẽ xuất biến môi trường
LC_ALL=C
. Thay đổi này giải quyết các sự cố và vấn đề không tương thích liên quan đến việc chạy trình mô phỏng ở nhiều ngôn ngữ. - Bạn hiện có thể theo dõi mức sử dụng CPU và RAM của trình mô phỏng bằng cách sử dụng số liệu thống kê hiệu suất tại phần Extended Controls (Chế độ điều khiển mở rộng) > Settings (Cài đặt) > Advanced (Nâng cao) > Performance Stats (Số liệu thống kê về hiệu suất). Hãy dùng số liệu thống kê này để chẩn đoán nhanh các vấn đề nếu trình mô phỏng có vẻ đang sử dụng quá nhiều CPU hoặc RAM.
glReadPixels GL_IMPLEMENTATION_COLOR_READ_TYPE
hiện sử dụng kết quả của GPU lưu trữ (trên máy chủ) thay vì kết quả mô phỏng. Thay đổi này sẽ giúp sửa các vấn đề mà hình ảnh và tài sản không xuất hiện do định dạng đọc không chính xác.- Thêm tuỳ chọn hỗ trợ cho các tiện ích OpenGL ES
GL_EXT_texture_format_BGRA8888
vàGL_APPLE_texture_format_BGRA8888
nếu các tiện ích này được máy chủ hỗ trợ. - Thêm nhiều thông tin chẩn đoán hơn vào giao diện người dùng Báo cáo lỗi. Ngoài ra, bạn có thể truy cập các báo cáo lỗi trên bảng điều khiển bằng các lệnh sau:
telnet localhost 5554
avd bugreport
- Trên ảnh hệ thống Android Q, trình mô phỏng tăng kích thước RAM tối thiểu lên 2 GB.
- Thêm tính năng ghi nhật ký và in bất cứ khi nào OpenGL hoặc trình điều khiển ảo hoá không khởi động được.
- Nếu trình mô phỏng không thể khởi động đồng thời một phiên bản
-read-only
của AVD, thì trình mô phỏng sẽ cố gắng chạy lại AVD-read-only
thêm 3 lần trong 3 giây. Thay đổi này làm tăng khả năng trình mô phỏng sẽ khởi chạy đồng thời các phiên bản-read-only
của AVD nếu các phiên bản có thể ghi của AVD đó vẫn chưa xoá các tệp lỗi thời. - Đối với ảnh hệ thống sắp tới, trình mô phỏng hiện đã hỗ trợ Hardware Composer (Trình tổng hợp phần cứng) 2.0. Thay đổi này sẽ giảm mức hao tổn của trình điều khiển khi chạy hầu hết ảnh động.
- Bản dựng trình mô phỏng nay dựa trên CMake/Ninja.
- Trong giao diện người dùng của các tính năng điều khiển mở rộng của trình mô phỏng, các đường phân chia trong bảng phím tắt đã được khôi phục.
- Người dùng hiện có khoảng thời gian 10 giây để chọn cung cấp cho nhóm của chúng tôi các chỉ số sử dụng CPU và RAM. Chúng tôi sử dụng các chỉ số này để làm phong phú dữ liệu về việc sử dụng tài nguyên trình mô phỏng trong nhiều trường hợp sử dụng của người dùng. Việc này cho phép chúng tôi cải thiện hiệu suất và khả năng phản hồi của trình mô phỏng.
Bản sửa lỗi chung trong Project Marble
Bản cập nhật này cũng bao gồm các điểm sửa lỗi chung sau đây trong sáng kiến Project Marble:
- Khắc phục vấn đề khung hình giật và không hiển thị chính xác trên các hệ thống có GPU Intel khi sử dụng ảnh hệ thống Android Q.
- Khắc phục vấn đề hiển thị màn hình màu đen khi sử dụng ảnh hệ thống Android Q trên các giao diện của Pixel 2 XL (hoặc giao diện bất kỳ có khía hoặc các góc tròn).
- Khắc phục vấn đề tuỳ chọn dòng lệnh
-partition-size
không đặt kích thước phân vùng dữ liệu. - Khắc phục vấn đề trình pulseaudio trên trình mô phỏng Linx sẽ quay vòng (spin) và chiếm toàn bộ lõi CPU trong một số trường hợp.
- Khắc phục các vấn đề xảy ra khi quyền truy cập bộ nhớ vượt quá giới hạn khi xử lý các kết cấu nén.
- Sửa lỗi GL xảy ra trên máy chủ trong
glTexSubImage2D
khi cập nhật một số vùng đệm gralloc (có định dạng RGB 565, RGB10A2, RGB(A)16F). - Khắc phục vấn đề về màn hình trong hình ảnh hệ thống Android Q xảy ra với tính năng tổng quan nhanh khi hình dạng hình học của ngăn thông báo được kết xuất bằng chế độ cài đặt số chia thực thể (instance divisor) không hợp lệ.
- Sửa một số vấn đề khó tái hiện và tình trạng treo máy khi khởi chạy do Qt mất tín hiệu hoặc có trạng thái không nhất quán khi khởi động.
- Khắc phục nhiều vấn đề đồng thời. Chúng tôi hiện có thể xây dựng trình mô phỏng Linux bằng ThreadSanitizer (TSAN). Lệnh này có thể dễ dàng phát hiện các lỗi khó tái tạo được.
- Đối với người dùng Linux: chúng tôi nhận thấy rằng trên một số nhân hệ thống lưu trữ, chế độ khách của nhân hệ điều hành Android có thể gặp lỗi và thoát trong KVM kèm theo lỗi phần cứng chung. Trình mô phỏng sẽ
abort()
khi điều này xảy ra để tăng khả năng gỡ lỗi (trước đây, trình mô phỏng bị treo mỗi khi gặp vấn đề này). - Đối với người dùng Linux: để thuận tiện cho việc thiết lập CI, bạn có thể sử dụng tuỳ chọn dòng lệnh
-stdouterr-file <file-name>
mới để chuyển hướng cảstdout
vàstderr
đến một tệp. - Khắc phục vấn đề dùng sai
SO_REUSEADDR
. Để biết thêm thông tin, hãy xem chi tiết về cam kết. - Khắc phục một vấn đề thường xuyên xảy ra trong trình mô phỏng Windows, trong đó các quy trình phụ, chẳng hạn như lệnh ADB, không thể bắt đầu nếu tên người dùng có dấu cách.
- Khắc phục vấn đề thiếu thông tin khởi động RCU trong các luồng HAXM vCPU. Bản sửa lỗi này có thể giải quyết một số sự cố và điều kiện tương tranh.
- Khắc phục sự cố xảy ra với một số mẫu lưu và tải bản tổng quan nhanh qua giao diện người dùng tổng quan nhanh bằng cách sử dụng hình ảnh hệ thống Android Q gần đây.
- Khắc phục vấn đề máy ảnh cảnh ảo sẽ bị trắng khi trình mô phỏng được khởi động qua bản tổng quan nhanh, nếu macro AR đang phát khi bản tổng quan nhanh đó đã được lưu.
- Khắc phục vấn đề một số người dùng thiết lập máy tính từ xa gặp phải lỗi màn hình đen khi khởi chạy trình mô phỏng trên Linux. Để tránh điều này, trình mô phỏng giờ đây sẽ định cấu hình
MESA_RGB_VISUAL
một cách rõ ràng. Để biết thêm thông tin, hãy xem chi tiết về cam kết. - Khắc phục vấn đề về các nút xoay sẽ xuất hiện trên AVD TV.
- Khắc phục vấn đề trình mô phỏng luôn được đặt ở trên cùng, cửa sổ chế độ điều khiển mở rộng sẽ xuất hiện mỗi khi trình mô phỏng được xoay.
Cấu hình phần cứng cho thiết bị có thể gập lại
Trình mô phỏng giờ đây cung cấp cả cấu hình phần cứng cho thiết bị có thể gập lại. Để sử dụng những cấu hình phần cứng mới này, bạn phải sử dụng Android Studio 3.5 Canary 10 trở lên.
Có hai cấu hình phần cứng có thể gập lại mà bạn có thể sử dụng để tạo AVD:
- Thiết bị có thể gập lại 7.3": 1536x2152 khi mở, 4.6" 840x1960 khi gập
- Thiết bị có thể gập lại 8": 2200x2480 khi mở, 6.6" 1480x2480 khi gập
Khi chạy trình mô phỏng bằng một trong các cấu hình phần cứng sau, bạn có thể gập và mở thiết bị bằng thao tác gập và mở trong thanh công cụ của trình mô phỏng, các lệnh trên bảng điều khiển hoặc các phím tắt sau đây:
- Gập:
Ctrl + F
(Command + F
trên macOS) - Mở:
Ctrl + U
(Command + U
trên macOS)
Macro AR
Trình mô phỏng hiện bao gồm các macro AR có thể giúp bạn kiểm thử các hành động thực tế tăng cường phổ biến. Ví dụ: bạn có thể dùng macro để đặt lại tất cả cảm biến trên thiết bị về trạng thái mặc định.
Để biết thêm thông tin, hãy xem nội dung Kiểm thử các hành động AR phổ biến với các macro.
Hỗ trợ Vulkan (Windows, Linux)
Người dùng Windows và Linux hiện có thể kiểm thử các ứng dụng Vulkan bằng Trình mô phỏng Android lên đến Vulkan 1.1 khi sử dụng ảnh hệ thống tương thích (Android Q Beta 3 trở lên cho Vulkan 1.1, Android Q Beta 2 cho Vulkan 1.0) và GPU lưu trữ (trên máy chủ) tương thích (bao gồm hầu hết GPU Intel, NVIDIA và AMD từ năm 2014 trở đi).
Để bật dịch vụ hỗ trợ Vulkan, bạn phải thêm cờ tính năng sau vào tệp ~/.android/advancedFeatures.ini
(tạo tệp nếu chưa có):
Vulkan = on
GLDirectMem = on
Hỗ trợ ban đầu cho nhà phát triển ROM
Các nhà phát triển ROM đang tạo mục tiêu sdk_phone_x86
hoặc sdk_phone_x86_64
(userdebug
, eng
) trên nhánh AOSP master
hiện có thể chạy trình mô phỏng hỗ trợ Vulkan.
Hoạt động hỗ trợ này vẫn đang trong giai đoạn thử nghiệm và chủ yếu dành cho các nhà phát triển làm việc về ảnh hệ thống, trình điều khiển và công cụ phát triển trò chơi. Nhiều phần mở rộng vẫn còn thiếu.
Tuy nhiên, bộ nhớ HOST_COHERENT
được hỗ trợ và bạn hiện có thể chạy Mẫu hướng dẫn API Vulkan.
Nếu đang sử dụng Linux, bạn có thể thử thao tác này bằng cách dùng những lệnh sau:
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
Kết xuất Skia bằng Vulkan
Các GPU NVIDIA và AMD hỗ trợ Vulkan cũng hỗ trợ khả năng tương tác 0 bản sao với OpenGL thông qua phần mở rộng GL_EXT_memory_objects
. Trình mô phỏng sẽ sử dụng khả năng này để cung cấp một cách hoàn chỉnh cách kết xuất giao diện người dùng Android bằng các API Skia Vulkan.
Nếu bạn có một GPU NVIDIA hoặc AMD hỗ trợ Vulkan, hãy sử dụng các lệnh sau để kiểm thử kết xuất Skia với hình ảnh hệ thống tương thích (Android Q Beta 3 trở lên):
adb shell
su
setprop debug.hwui.renderer skiavk
stop
start
Hỗ trợ dành cho Vulkan trên macOS
Tính năng hỗ trợ macOS vẫn còn đang chạy thử nghiệm, nhưng trình mô phỏng nay đã có Swiftshader, MoltenVK và các API libportability (gfx-rs). Bạn có thể thử nghiệm với các API này bằng cách đặt các biến môi trường sau:
- Swiftshader:
ANDROID_EMU_VK_ICD=swiftshader
- MoltenVK:
ANDROID_EMU_VK_ICD=moltenvk
- libportability:
ANDROID_EMU_VK_ICD=portability
Vấn đề đã biết
Đôi khi, HAXM không thể liên kết bộ nhớ nhất quán (coherent memory) Vulkan với chế độ khách và tắt trình mô phỏng. Vấn đề này sẽ được giải quyết trong bản cập nhật HAXM sắp tới.
Trình mô phỏng truyền trực tuyến gRPC (Linux)
Chúng tôi luôn cố gắng làm cho trình mô phỏng linh hoạt nhất có thể bằng cách cho phép kết xuất GPU lưu trữ (trên máy chủ) và tính tương tác trong ngữ cảnh hoạt động rộng nhất. Người dùng CI và máy tính từ xa của chúng tôi gặp phải các vấn đề dai dẳng sau đây:
- Việc gửi các lệnh đầu vào cho trình mô phỏng theo phương pháp có lập trình sẽ bao gồm việc chạy các lệnh shell adb (mức hao tổn cao) hoặc sử dụng bảng điều khiển telnet (tốc độ nhanh hơn nhưng có thể không hoạt động được trên một số cấu hình mạng).
- Người dùng CI thường chạy các trình mô phỏng không có giao diện người dùng. Điều này có thể khiến họ gặp khó khăn trong việc theo dõi các vấn đề yêu cầu màn hình phải hiển thị hoặc tương tác được.
- Người dùng máy tính từ xa thường không thể tương tác với trình mô phỏng khi sử dụng tính năng kết xuất GPU lưu trữ (trên máy chủ) vì chế độ kết xuất GPU thường gắn với các màn hình không ảo của máy chủ.
Để giải quyết vấn đề này, khi chạy trên hệ điều hành Linux, trình mô phỏng hiện sẽ phân phát dịch vụ gRPC. gRPC là một khung chung cho phép RPC hoạt động qua HTTP.
Theo mặc định, dịch vụ gRPC của trình mô phỏng bị tắt, nhưng bạn có thể kích hoạt dịch vụ này bằng cách sử dụng tuỳ chọn dòng lệnh sau, trong đó <port>
là cổng mà trình mô phỏng sẽ phân phát các yêu cầu gRPC (thường là 5556
):
-grpc <port>
Sau khi bắt đầu cung cấp dịch vụ, các lệnh gRPC có thể được phát hành qua máy khách. Bộ lệnh hiện tại cho phép gửi cả sự kiện đầu vào và nhận bản tổng quan nhanh. Những lệnh này giúp giải quyết các vấn đề sau:
- Bạn có thể gửi lệnh đầu vào đến trình mô phỏng với mức hao tổn thấp qua HTTP. HTTP cũng cho phép gửi các lệnh trong cấu hình mạng bổ sung.
- Bạn có thể gửi các lệnh chụp ảnh màn hình để truy vấn màn hình hiện tại, ngay cả khi trình mô phỏng đang chạy không có giao diện người dùng. Đối với mức độ tương tác, sự kiện đầu vào cũng có thể được gửi lại cho trình mô phỏng.
- Người dùng máy tính từ xa có thể chạy trình mô phỏng không có giao diện người dùng trên màn hình chính với tính năng kết xuất tăng tốc GPU trong khi sử dụng gRPC để có được ảnh chụp màn hình và gửi các sự kiện đầu vào để tương tác với trình mô phỏng.
Để xem danh sách đầy đủ các lệnh có sẵn, hãy xem protobuf này.
Để giúp bạn bắt đầu sử dụng gRPC, chúng tôi đã cung cấp một số ứng dụng mẫu có thể tham khảo.
Hiện tại, chúng tôi có các mẫu sau:
- Dịch vụ dựa trên Go có thể dùng để truy vấn trạng thái trình mô phỏng.
- Một ứng dụng React minh hoạ khả năng tương tác từ xa thông qua ảnh chụp màn hình và các RPC đầu vào. Mẫu này yêu cầu bản protobuf phiên bản 3.7.0 trở lên.
- Mẫu Python truy vấn cấu hình máy ảo của trình mô phỏng rồi gửi một loạt lệnh sau đó.
28.0.25 (ngày 29 tháng 3 năm 2019)
Bản cập nhật này bao gồm những điểm cải tiến và sửa lỗi sau đây:
Bản dựng trình mô phỏng không có giao diện người dùng
Trình mô phỏng gặp khó khăn khi thiết lập với Docker và các quy trình làm việc tích hợp liên tục (CI) khác do kỳ vọng ngầm của hệ thống có thể hỗ trợ Qt cùng với các phần phụ thuộc thư viện được chia sẻ (cùng các vấn đề khác).
Bước đầu tiên để giải quyết vấn đề này là chúng tôi đã giới thiệu một biến thể của trình chạy trình mô phỏng với các tệp thực thi QEMU không phụ thuộc vào Qt. Trên Linux, vẫn còn một đường liên kết đến libX11
, nhưng chúng tôi hy vọng cũng sẽ sớm loại bỏ được đường liên kết đó.
Để sử dụng trình mô phỏng không có giao diện người dùng, hãy chạy trình mô phỏng từ dòng lệnh như bình thường,
nhưng thay thế lệnh gọi nhị phân của trình mô phỏng bằng emulator-headless
. Để biết thêm
thông tin, hãy xem bản cập nhật bản phát hành 28.1.8 Canary.
- Khắc phục sự cố hiển thị khung hình giật và không chính xác trên GPU Intel khi chạy ảnh hệ thống Android Q.
- Khắc phục vấn đề màn hình đen xuất hiện khi sử dụng ảnh hệ thống Android Q với các giao diện của Pixel 2 XL.
- Các tệp nhị phân BIOS mới nhất hiện được dùng để khởi động trình mô phỏng. Thay đổi này có thể giúp giảm các lỗi "yêu cầu tắt vCPU" đôi khi xảy ra khi chạy trình mô phỏng trên Windows.
- Điều chỉnh cho phiên bản cũ đối với lỗi "wrong display when resuming Android Q system images from a snapshop" ("hiển thị sai khi tiếp tục dùng hình ảnh hệ thống Android Q từ bản tổng quan nhanh").
- Người dùng đang gặp phải vấn đề về trình mô phỏng "chưa được uỷ quyền" do có sự thay đổi không tương thích về ADB trong công cụ dành cho nền tảng 28.0.2. Bạn hiện có thể sử dụng ADB từ các công cụ dành cho nền tảng 28.0.2 với trình mô phỏng một cách an toàn. Nếu bạn đang gặp sự cố với trình mô phỏng "unauthorized" ("chưa được uỷ quyền"), hãy thực hiện các bước khắc phục sự cố sau:
- Thoát khỏi tất cả trình mô phỏng.
- Xoá cả tệp
~/.android/adbkey
và~/.android/adbkey.pub
. - Chạy lệnh sau:
adb kill-server
- Chạy lệnh sau:
adb devices
- Xoá sạch dữ liệu AVD.
- Chạy lại trình mô phỏng.
28.0.23 (ngày 29 tháng 1 năm 2019)
Bản cập nhật này bao gồm những điểm cải tiến và sửa lỗi sau đây:
Tắt đầu vào âm thanh máy chủ theo mặc định
Một bài đăng gần đây trên Reddit đã cung cấp thông tin về cách hệ điều hành Android ở chế độ khách luôn sử dụng âm thanh của micrô trên máy chủ, từ đó cho phép "OK Google" hoạt động ngoài dự kiến. Chúng tôi rất tiếc về việc này và sẽ làm việc với đội ngũ Android để đảm bảo rằng tính năng phát hiện cụm từ kích hoạt cũng bị vô hiệu hoá trong hình ảnh hệ thống.
Để giải quyết vấn đề này, chúng tôi đã thực hiện các thay đổi sau:
- Theo mặc định, dữ liệu âm thanh thực tế trên máy chủ sẽ được chặn. Khi máy khách dùng micrô, âm thanh im lặng sẽ được truyền qua thay vì âm thanh của máy chủ.
- Nếu muốn sử dụng dữ liệu âm thanh của máy chủ, bạn nay có thể bật tuỳ chọn đó bằng cách chuyển đến Extended Controls > Microphone (Chế độ điều khiển mở rộng > Micrô) rồi bật Virtual microphone uses host audio input (Micrô ảo sử dụng đầu vào âm thanh của máy chủ). Tuỳ chọn này tự động tắt bất cứ khi nào trình mô phỏng được khởi động lại.
Cập nhật quá trình kiểm tra mức sử dụng CPU
Trong quá trình điều tra dự án Marble, chúng tôi nhận thấy rằng mức sử dụng CPU cao trên trình mô phỏng thường thuộc 3 danh mục sau:
Khi ở trạng thái rảnh: Tự động cập nhật ứng dụng trong hình ảnh trên Cửa hàng Play
Chúng tôi nhận thấy rằng trong các khoảng thời gian ngẫu nhiên, tất cả ứng dụng đã cài đặt đều được cập nhật, ngay cả khi người dùng không đăng nhập. Trong quá trình này, mức sử dụng CPU được thúc đẩy đến số lượng lõi x 100% (thường là ~400%) trong GMSCore và dex2oat. Bạn có thể giảm thiểu vấn đề này bằng cách tắt tính năng tự động cập nhật ứng dụng trong ứng dụng Cửa hàng Play.
Khi ở trạng thái rảnh: Phát hiện cụm từ kích hoạt
Khi ở trên màn hình chính và không có ứng dụng nào chạy trong nền trước, mức sử dụng CPU có thể tăng cao (~25% với mức tăng đột biến lên đến 50%). Việc này là do tính năng phát hiện cụm từ kích hoạt liên tục ping đến máy chủ. Bạn không thể giảm thiểu vấn đề này bằng cách tắt đầu vào âm thanh máy chủ vì mức hao tổn CPU chủ yếu là do thời gian cần để di chuyển từ máy khách đến máy chủ. Tuy nhiên, bạn có thể giảm thiểu vấn đề này bằng cách thu hồi quyền truy cập micrô của ứng dụng Google.
Đang hoạt động, nhưng đôi khi ở trạng thái rảnh: Ảnh động
Nguồn thứ ba gây ra vấn đề mức sử dụng CPU cao là ảnh động. Chúng tôi nhận thấy điều này bằng cách tối ưu hoá ngăn xếp trình điều khiển đồ hoạ, chúng tôi cũng có thể giảm mức sử dụng CPU ngay cả khi trình mô phỏng hoạt động. Chúng tôi sẽ dần triển khai tính năng tối ưu hoá trình điều khiển đồ hoạ trong Project Marble.
28.0.22 (ngày 21 tháng 12 năm 2018)
Bản cập nhật này bao gồm những điểm cải tiến và sửa lỗi sau đây:
- Khắc phục vấn đề thường xuyên xảy ra trong một số tuỳ chọn cài đặt, trình mô phỏng máy Mac sẽ khởi động lại hoặc rơi vào tình trạng hoảng loạn hạt nhân trên bản lưu tính năng Khởi động nhanh. (Vấn đề 120951634)
- Khi sử dụng một tệp đã ánh xạ làm tổng quan nhanh RAM, trình mô phỏng giờ đây sẽ huỷ ánh xạ tệp ánh xạ một cách rõ ràng khi thoát.
28.0.20 (ngày 11 tháng 12 năm 2018)
Bản cập nhật này bao gồm những điểm cải tiến và sửa lỗi sau đây:
- Khắc phục vấn đề trên Windows khiến trình mô phỏng bị treo khi tải bản tổng quan nhanh với một số mẫu GPU Intel.
- Khắc phục vấn đề đã xảy ra trạng thái
unauthorized
của thiết bị ADB khi sử dụng vị tríANDROID_SDK_HOME
không chuẩn. - Khắc phục vấn đề trên Windows khiến trình mô phỏng gặp sự cố khi khởi động hình ảnh hệ thống được tắt tính năng tăng tốc CPU.
- Khắc phục vấn đề hiển thị trình mô phỏng tạo pixel. Tính năng giảm tần số lấy mẫu hiện đã hoạt động trở lại.
- Khắc phục sự cố trên macOS 10.14 trở lên, trong đó tuỳ chọn kiểm soát giao diện máy ảnh cảnh ảo có thể trở nên quá nhạy cảm do có sự tương tác với các chế độ cài đặt bảo mật hỗ trợ tiếp cận mới.
- Khắc phục lỗi tính toán múi giờ có thể khiến đồng hồ của trình mô phỏng thay đổi ngẫu nhiên.
- Khắc phục lỗi kết xuất trong các công cụ ứng dụng cocos2d và Unreal.
- Bổ sung tính năng hỗ trợ Wi-Fi ngang hàng cho trình mô phỏng.
Hai trình mô phỏng hiện có thể trò chuyện trực tiếp với nhau qua Wi-Fi nếu sử dụng
hình ảnh Cửa hàng Play Pie mới nhất. Để sử dụng Wi-Fi ngang hàng, hãy bắt đầu 2 AVD với cùng các đối số
-wifi-server-port
và-wifi-client-port
:emulator @<server-avd-name> -wifi-server-port 9999
emulator @<client-avd-name>-wifi-client-port 9999
- Bổ sung tính năng hỗ trợ nhiều webcam trên Windows hơn bằng cách lấy bất kỳ kích thước khung không tương thích và linh động đổi kích thước cho vừa với chế độ cài đặt của camera trong hệ điều hành Android khách.
28.0.16 (tháng 11 năm 2018)
Bản cập nhật này có một số tính năng mới, cải thiện một số tính năng hiện có và khắc phục một số lỗi.
Sử dụng tài nguyên
Trình mô phỏng hiện sử dụng ít RAM tổng thể hơn, đặc biệt là khi sử dụng ảnh hệ thống có API cấp 28 trở lên. Các ảnh hệ thống này bao gồm việc sử dụng bộ nhớ cải tiến cho trình điều khiển đồ hoạ phía khách.
Ngoài ra, chúng tôi cũng đã cải thiện việc sử dụng tài nguyên trong các mục sau:
- Giảm mức sử dụng bộ nhớ của trình mô phỏng trong các chương trình kiểm thử lâu dài. Nếu bạn vẫn gặp vấn đề về việc sử dụng bộ nhớ trong các chương trình kiểm thử lâu dài, vui lòng tạo vấn đề và mô tả trường hợp sử dụng của bạn trong Công cụ theo dõi lỗi.
- Giảm mức sử dụng CPU khi chạy ứng dụng có ảnh động.
- Khắc phục vấn đề ngữ cảnh QEMU AIO có thể bị rò rỉ trên Windows.
Chạy đồng thời nhiều phiên bản của một thiết bị ảo Android (AVD)
Bạn hiện có thể khởi chạy nhiều phiên bản của cùng một AVD và chạy đồng thời các phiên bản đó. Những phiên bản bạn khởi chạy sau phiên bản đầu tiên sẽ ở chế độ chỉ đọc và các thay đổi của các phiên bản này đối với ổ đĩa ảo khách sẽ bị huỷ khi thoát.
Để chạy nhiều phiên bản của một AVD cùng lúc, hãy khởi chạy mọi phiên bản
sau phiên bản đầu tiên từ dòng lệnh bằng cách sử dụng cờ -read-only
.
Bạn có thể thực hiện tính năng này bằng cách sao chép các tệp QCOW2 được liên kết với các phần có thể ghi của hình ảnh Android. Để giúp bạn quản lý dung lượng ổ đĩa, chúng tôi cũng đã đóng gói công cụ dòng lệnh qemu-img
để cho phép cam kết trước các tệp QCOW2 trước khi khởi chạy nhiều phiên bản.
Ngoài ra, đi đôi với tính năng Tạo tệp sao lưu tổng quan nhanh dung lượng RAM cho máy khách, nhiều thực thể AVD chia sẻ bản tổng quan nhanh Khởi động nhanh dành cho AVD dưới dạng nguồn phổ biến của Bộ nhớ RAM máy khách sao chép khi ghi. Thuộc tính này có nghĩa các phiên bản chia sẻ nhiều dung lượng RAM chung. Hãy sử dụng tính năng này để chạy các kiểm thử yêu cầu nhiều thiết bị chạy song song.
Chúng tôi rất trân trọng ý kiến đóng góp của bạn về các trường hợp sử dụng có thể là một phần trong quy trình làm việc tương tác hoặc CI thông thường. Vui lòng tạo hoặc tán thành các vấn đề trong Công cụ theo dõi lỗi.
Tạo tệp sao lưu tổng quan nhanh dung lượng RAM cho máy khách
Bằng cách phân bổ trước và ánh xạ RAM máy khách dưới dạng tệp, trình mô phỏng giờ đây có thể lưu bản tổng quan nhanh Khởi động nhanh trong thời gian chạy, thay vì chỉ thực hiện thao tác đó khi thoát. Nếu hiện tại bạn phải đợi một khoảng thời gian dài để lưu lại tác vụ khi đóng trình mô phỏng, hãy bật tính năng này để cải thiện hiệu suất Khởi động nhanh. Theo mặc định, bản tổng quan nhanh Khởi động nhanh sẽ được lưu khi thoát và tải lại mỗi lần khởi động, tương tự như tạm ngưng và đánh thức một thiết bị thực.
Theo mặc định, vì RAM máy khách trên Android hiện được tự động lưu, nên nếu bạn muốn xác định trạng thái của thiết bị và liên tục tải từ trạng thái trên, bạn cần yêu cầu trình mô phỏng huỷ các thay đổi sau mỗi phiên hoạt động. Bạn có thể thực hiện việc này theo các cách sau:
- Sử dụng cờ
-no-snapshot-save
hoặc-read-only
khi chạy trình mô phỏng trong dòng lệnh. - Chuyển đến mục Extended Controls (Chế độ điều khiển mở rộng) > Snapshots (Tổng quan nhanh) > Settings (Cài đặt) rồi chuyển tuỳ chọn Auto-savecurrent state to Quickboot? (Tự động lưu trạng thái hiện tại vào chế độ Khởi động nhanh?) thành No (Không).
- Bạn sẽ cần khởi động lại trình mô phỏng sau khi chọn tuỳ chọn này. Nếu đã thiết lập trình mô phỏng sang chế độ tự động lưu, bạn có thể chạy lệnh sau để thiết lập giá trị cho điểm kiểm tra:
adb emu avd snapshot remap 0
Sau khi bạn chạy lệnh này, bản tổng quan nhanh Quickboot của trình mô phỏng sẽ vẫn ở điểm kiểm tra đó. Chạy lại chính lệnh này để tải trình mô phỏng ở trạng thái của điểm kiểm tra đó.
Bản tổng quan nhanh được chụp và tải thông qua chức năng Giao diện người dùng của bản tổng quan nhanh như trước đây mà không có bản đồ ánh xạ tệp.
Vì đây là một thay đổi lớn trong cách hoạt động của tính năng Khởi động nhanh, nên chúng tôi rất mong nhận được ý kiến phản hồi của bạn về việc tính năng này có cải thiện được hiệu suất Khởi động nhanh hay không cũng như vấn đề bạn gặp phải khi sử dụng. Nếu gặp khó khăn, bạn có thể tắt tính năng này bằng cách thêm dòng sau vào tệp ~/.android/advancedFeatures.ini
:
QuickbootFileBacked = off
Khi bạn khởi động trình mô phỏng từ một bản tổng quan nhanh (sử dụng tuỳ chọn dòng lệnh -snapshot
hoặc khởi chạy qua một bản tổng quan nhanh trong trình quản lý AVD), trình mô phỏng sẽ tắt cả tính năng tự động lưu bản tổng quan nhanh Khởi động nhanh lẫn tính năng lưu bản tổng quan nhanh Khởi động nhanh khi thoát. Điều này làm giảm khả năng bản tổng quan nhanh Khởi động nhanh vô tình bị ghi đè và tránh việc đường dẫn dự phòng chậm không sử dụng tệp sao lưu bản tổng quan nhanh Khởi động nhanh.
QEMU 2.12
Chúng tôi đã chuyển đổi (rebase) biến thể QEMU từ QEMU 2.9 sang QEMU 2.12. Bản cập nhật này có các thay đổi sau liên quan đến QEMU:
- https://wiki.qemu.org/ChangeLog/2.10
- https://wiki.qemu.org/ChangeLog/2.11
- https://wiki.qemu.org/ChangeLog/2.12
Sau đây là một số thay đổi đáng chú ý ảnh hưởng đến Trình mô phỏng Android:
- x86:
gdbstub
nay cung cấp quyền truy cập vào thanh ghi SSE. - Hình ảnh đĩa: Theo mặc định, tính năng khoá hình ảnh được thêm vào và bật. Chừng nào máy chủ còn hỗ trợ khoá OFD hoặc posix, nhiều quy trình QEMU không thể ghi vào cùng một hình ảnh trừ phi chỉ định tuỳ chọn khác.
qemu-img: qemu-img resize
hỗ trợ việc sắp xếp trước các phần mới của hình ảnh.- Tính năng thu gọn tệp QCOW2 hiện đã được hỗ trợ trong
qemu
vàqemu-img
.
Hỗ trợ tiếp cận
- Khắc phục sự cố với trình đọc màn hình và hỗ trợ tốt hơn cho công cụ này trong Giao diện người dùng Screen Record and Snapshot (Quay phim và chụp nhanh màn hình).
- Thiết kế các biểu tượng thông báo Khởi động nhanh dễ tiếp cận hơn với những người dùng bị mù màu.
Đồ hoạ
- Khắc phục việc mảng con trỏ đỉnh OpenGL ES có thể gặp vấn đề với quyền truy cập bộ nhớ nằm ngoài giới hạn.
- Một số GPU cũ không hỗ trợ OpenGL 2.1 trở lên (bắt buộc) hoặc có các vấn đề khác về độ ổn định. Những vấn đề này có thể khiến trình mô phỏng gặp sự cố khi khởi động, bị treo hoặc không sử dụng được trên tuỳ chọn cài đặt GPU mặc định. Trình mô phỏng hiện sẽ tự động chuyển sang trình kết xuất Swiftshader nếu phát hiện thấy những GPU này đang được sử dụng.
- Khắc phục vấn đề trình mô phỏng không đăng đúng vùng đệm khung nếu
FBO != 0
bị liên kết tại thời điểmeglSwapBuffers
. - Khắc phục vấn đề màn hình Android ảo chỉ xuất hiện ở góc trên cùng bên trái. Chúng tôi tin rằng vấn đề này do biến môi trường Qt bị định cấu hình sai. Trình mô phỏng hiện ghi đè tất cả biến môi trường liên quan đến tỷ lệ Qt.
- Khắc phục vấn đề trình mô phỏng gặp sự cố trong một số tình huống khi tải các ứng dụng GLES1 từ một bản tổng quan nhanh.
- Khắc phục các vấn đề đồng thời trong OpenGL và vấn đề khi khởi chạy các luồng kết xuất đồ hoạ có thể khiến dữ liệu giải phóng hai lần hoặc bị hỏng.
- Android Emulator hiện hỗ trợ tính năng hỗ trợ kết cấu nén ASTC LDR (
GL_KHR_texture_compression_astc_ldr
) cho những hình ảnh hệ thống sử dụng API cấp 28 trở lên. - Theo mặc định, hầu hết các GPU hiện đại đều có thể khởi chạy trình mô phỏng với OpenGL ES 3.x được bật mà không cần sử dụng cờ tính năng
GLESDynamicVersion
. -gpu guest
(tính năng kết xuất phần mềm trong máy khách) đã không còn được dùng nữa. Ảnh hệ thống cho API cấp 28 trở lên giờ sẽ tự động chuyển sang dùng Swiftshader (-gpu swiftshader_indirect
).- Nếu trình mô phỏng khởi chạy từ dòng lệnh bằng cờ
-no-window
, thì trình kết xuất mặc định hiện sẽ là Swiftshader.
Vị trí
- Trình mô phỏng hiện có thể cập nhật góc phương vị cùng với vị trí vĩ độ và kinh độ. Cảm biến từ kế ảo sẽ tự điều chỉnh linh hoạt theo hướng bắc từ tính bằng cách dự đoán chuyển động khi phát lại tệp GPX hoặc KML.
- Hiện bạn có thể đặt tốc độ của thiết bị trên trang Location (Vị trí).
- Khi phát lại một tệp GPX hoặc KML, tốc độ sẽ được thiết lập tự động và được thiết lập thành 0 khi lượt phát kết thúc.
- Độ cao không còn bị giới hạn trong khoảng từ -1.000 đến hơn 10.000 mét.
- Khắc phục vấn đề vị trí GPS ảo không được cập nhật định kỳ trừ phi cửa sổ Extended Controls (Điều khiển mở rộng) được mở ít nhất một lần.
Máy ảnh
Trên Windows, hiện có thêm nhiều webcam được hỗ trợ vì trình mô phỏng tự động đổi kích thước khung máy ảnh được phân phối qua webcam. Tính năng này cũng giúp ngăn chặn lỗi trong việc phân phối khung hình khiến trình mô phỏng bị treo.
Cửa hàng Play
Để giải quyết các vấn đề về hết dung lượng ổ đĩa trên hình ảnh Cửa hàng Play, trình mô phỏng giờ đây sẽ tự động đổi kích thước phân vùng dữ liệu người dùng thành 6 GB khi chạy bằng AVD mới của Cửa hàng Play.
Cải thiện chất lượng chung và sửa lỗi
- Một số người dùng báo cáo rằng trình mô phỏng đang chạy chậm. Chúng tôi đã xác định được nguyên nhân có thể xảy ra, đó là do thư mục tạm thời của trình mô phỏng chứa quá nhiều tệp lỗi thời. Để giải quyết vấn đề này, trình mô phỏng không còn lưu trữ các tệp kiểm tra tính trực tiếp của ADB trong thư mục đó. Tuy nhiên, bạn cũng có thể xoá nội dung của thư mục đó. Thư mục này được đặt ở một trong các vị trí sau đây,
tuỳ thuộc vào hệ điều hành:
- Windows:
C:\Users\<username>\AppData\Local\Temp\AndroidEmulator\*
- macOS hoặc Linux:
/tmp/android-<username>/*
- Windows:
- Nếu trình mô phỏng không thể khởi động do không đủ dung lượng RAM trống, thì thông báo lỗi sẽ xuất hiện. Nếu bạn đang dùng Windows và nhận thấy còn dung lượng RAM trống, nhưng bạn vẫn không thể khởi động trình mô phỏng, thì có thể bạn đã vượt quá RAM dự trữ. Để được trợ giúp về vấn đề này, hãy xem trang Khắc phục sự cố trình mô phỏng.
- Tuỳ chọn dòng lệnh
-sysdir
giờ đây sẽ ghi đè đúng thư mục ảnh hệ thống được suy đoán. - Modem ảo hiện hỗ trợ truy vấn về thông tin hoạt động của mô hình
+MAI
. - Khắc phục nhiều vấn đề về rò rỉ bộ nhớ, hỏng bộ nhớ và mức sử dụng CPU. Nếu bạn gặp sự cố, rò rỉ bộ nhớ hoặc mức độ sử dụng tài nguyên quá lớn, vui lòng tạo vấn đề trong Công cụ theo dõi lỗi.
- Khắc phục vấn đề xuất hiện lại trên macOS 10.14, trong đó việc sử dụng tai nghe Bluetooth với trình mô phỏng sẽ làm giảm hoàn toàn chất lượng âm thanh. Để ngăn chặn điều này, trình mô phỏng giờ đây sẽ tránh sử dụng âm thanh Bluetooth khi chạy trên macOS. (Vấn đề 37070892)
- Khắc phục vấn đề trên Windows trong đó đồng hồ trình mô phỏng không ở đúng múi giờ.
- Khắc phục vấn đề làm chậm và treo trình mô phỏng trên hệ thống Linux có ổ cứng quay (HDD).
- Khắc phục một số cảnh báo biên dịch có thể dẫn đến tình trạng hỏng ngăn xếp trên macOS.
- Khắc phục các vấn đề có thể khiến báo cáo treo gây hiểu lầm.
- Khắc phục vấn đề huỷ nhóm các luồng có thể gây ra sự cố nếu một trong những luồng đó không được tạo thành công.
- Khắc phục vấn đề đồng hồ hẹn giờ trở nên không đáng tin cậy, dẫn đến việc macOS bị treo và xuất hiện các hành vi khác thường. Nếu bạn gặp phải vấn đề khiến trình mô phỏng bị treo trên macOS, vui lòng tạo vấn đề trong Công cụ theo dõi lỗi.
- Khắc phục vấn đề thao tác đóng trình mô phỏng sẽ vô hiệu hoá giao diện người dùng nhưng trình mô phỏng thực ra vẫn chưa đóng.
- Khắc phục vấn đề liên quan đến các sự cố ngẫu nhiên, bao gồm cả trường hợp bị huỷ do mở quá nhiều thực thể
/dev/urandom
. - Khắc phục vấn đề khiến trình mô phỏng không khởi động sau lần đầu tiên nếu ADB bị buộc chấm dứt.
- Bản dựng MIPS đã bị xoá. Nếu bạn vẫn cần đến MIPS, vui lòng tạo một vấn đề trong Công cụ theo dõi lỗi.
- Khắc phục vấn đề kết nối ADB có thể bị hỏng khi tải bản tổng quan nhanh.
- Khắc phục vấn đề cửa sổ trình mô phỏng sẽ có dư ảnh hoặc di chuyển ra ngoài màn hình sau khi tiếp tục xem bản tổng quan nhanh do hướng thiết bị khác với hướng mặc định của AVD.
- Khắc phục các vấn đề liên quan đến sự cố khi lưu bản tổng quan nhanh.
- Trên Linux, các hệ thống tệp btrfs có thể gây ra tình trạng chậm rất nghiêm trọng vì trình mô phỏng tự động lưu bản tổng quan nhanh và sử dụng tính năng sao chép khi ghi cho thiết bị đĩa ảo. Bạn nên dọn sạch thư mục
~/.android/avd
và chạy lệnh sau trên thư mục~/.android/avd
trống:chattr +C
Thao tác này sẽ tạo thông tin tổng quan nhanh mới trong thư mục mà tính năng sao chép khi ghi bị tắt.
HAXM 7.3.2
Chúng tôi muốn nhắc đến HAXM 7.3.2 lần nữa vì bạn phải cài đặt HAXM 7.3.2 để các ảnh hệ thống gần đây có thể chạy ổn định trên trình mô phỏng. HAXM 7.3.2 có sẵn trong Kênh chính thức và bạn cũng có thể cài đặt theo cách thủ công qua https://github.com/intel/haxm/releases.
Sau đây là một số vấn đề mà phiên bản HAXM này đã giải quyết:
- Khắc phục sự cố ngẫu nhiên của hệ điều hành khách sử dụng một nhân hệ điều hành Linux mới đây (>= 4.6). Ví dụ: Ubuntu 18.04 (#39, #74).
- Khắc phục lỗi trình mô phỏng hướng dẫn x86 có thể dẫn đến sự cố máy chủ (#93).
Không dùng Windows 32 bit nữa
Do mức sử dụng thấp và chi phí bảo trì cao, chúng tôi dự định sẽ không dùng phiên bản Trình mô phỏng Android 32 bit chạy trên Windows nữa. Chúng tôi sẽ triển khai kế hoạch chuyển đổi trước khi xoá và ngừng sử dụng phiên bản 32 bit của Trình mô phỏng Android. Tuy nhiên, chúng tôi vẫn đang tích cực thu thập ý kiến phản hồi và thắc mắc về sự thay đổi sắp xảy ra này.
Vui lòng cho chúng tôi biết trong Công cụ theo dõi lỗi nếu bạn hiện vẫn đang cần dùng phiên bản 32 bit của Trình mô phỏng Android chạy trên Windows và cho chúng tôi biết cách tốt nhất cho bạn trong tương lai.
27.3.10 (tháng 8 năm 2018)
Bản cập nhật này bao gồm bản sửa lỗi sau:
Sửa lỗi cấu hình dung lượng RAM
Một số người dùng báo cáo rằng trình mô phỏng đang chạy chậm. Chúng tôi đã xác định được một
lý do có thể khiến dung lượng RAM AVD trong tệp config.ini
của AVD được đặt không chính xác.
Để giảm thiểu điều này, trình mô phỏng sẽ tăng mức RAM tối thiểu cho những ảnh sử dụng API cấp 26 trở lên tới mức mặc định là 1536 MB trên Android Studio. Nếu tệp config.ini
của AVD không liệt kê hw.ramSize
theo megabyte, vui lòng tạo một vấn đề trong Công cụ theo dõi lỗi.
Bạn có thể tìm thấy tệp config.ini
ở vị trí sau:
~/.android/avd/<avdname>.avd/config.ini
27.3.9 (tháng 7 năm 2018)
Bản cập nhật này bao gồm những điểm cải tiến và sửa lỗi sau:
Cải thiện thông báo lỗi cho Windows Hypervisor Platform
Một số người dùng gặp khó khăn trong việc chẩn đoán lý do Windows Hypervisor Platform
(WHPX) không khởi chạy được khi họ kích hoạt trình mô phỏng WHPX. Để giúp bạn
chẩn đoán những vấn đề này, chúng tôi đã thêm các thông báo lỗi chứa đầy đủ thông tin hơn. Bạn có thể bật các thông báo lỗi này bằng cách chạy trình mô phỏng từ dòng lệnh bằng cách sử dụng cờ -verbose
.
Bản sửa lỗi chung
- Sửa các lỗi OpenGL xảy ra khi tải tổng quan nhanh trong ứng dụng máy ảnh.
27.3.8 (tháng 7 năm 2018)
Bản cập nhật này có một số tính năng mới, cải thiện một số tính năng hiện có và khắc phục một số lỗi.
Tổng quan nhanh
Bạn hiện có thể lưu nhiều bản tổng quan nhanh AVD cho một cấu hình thiết bị nhất định và lựa chọn tải bản tổng quan nhanh bất kỳ vừa lưu khi khởi động trình mô phỏng.
Kể từ Android Studio 3.2 Canary 13, mỗi cấu hình thiết bị đi kèm với một tuỳ chọn điều khiển trong các tuỳ chọn cài đặt nâng cao trong hộp thoại Virtual Device Configuration (Cấu hình thiết bị ảo), nhờ đó bạn có thể chỉ định bản tổng quan nhanh AVD sẽ tải khi khởi động AVD.
Để phù hợp với việc mở rộng các tính năng tổng quan nhanh này, chúng tôi đã thêm danh mục Snapshots (Bản tổng quan nhanh) vào hộp thoại Extended controls (Chế độ điều khiển mở rộng). Ngăn mới này chứa các tuỳ chọn điều khiển để lưu và tải bản tổng quan nhanh AVD, bao gồm các tuỳ chọn điều khiển để lưu và tải bản tổng quan nhanh cho tính năng Khởi động nhanh trước đó nằm trong ngăn Settings (Cài đặt).
Bạn có thể chỉnh sửa tên và thông tin mô tả của từng bản tổng quan nhanh đã lưu.
Để biết thông tin chi tiết, hãy xem nội dung Bản tổng quan nhanh.
HAXM 7.2.0
HAXM 7.2.0 hiện có sẵn ở mọi kênh.
Bản cập nhật này bao gồm các bản sửa lỗi và hỗ trợ tốt hơn cho dung lượng RAM lớn. Ngoài ra, với bản cập nhật HAXM này và Trình mô phỏng 27.3 trở lên, bản tổng quan nhanh sẽ tải nội dung vào RAM theo yêu cầu thay vì tải toàn bộ bản tổng quan nhanh khi thiết bị ảo khởi động. Thay đổi này sẽ làm giảm đáng kể thời gian cần thiết để tải bản tổng quan nhanh.
Để biết thông tin chi tiết, hãy xem nội dung Định cấu hình tăng tốc máy ảo.
27.2.9 (tháng 5 năm 2018)
Bản cập nhật này có một số tính năng mới, cải thiện một số tính năng hiện có và khắc phục một số lỗi.
Ghi màn hình
Bạn hiện có thể ghi lại video và âm thanh qua Trình mô phỏng Android và lưu bản ghi vào tệp WebM hoặc GIF động.
Các nút điều khiển chế độ ghi màn hình nằm trên thẻ Screen record (Ghi màn hình) trong cửa sổ Extended Controls (Chế độ điều khiển mở rộng).
Mẹo: Bạn cũng có thể mở các nút điều khiển chế độ ghi màn hình bằng cách nhấn tổ hợp phím Control + Shift + R (hoặc Command + Shift + R trên máy Mac).
Để bắt đầu ghi màn hình, hãy nhấp vào nút Start recording(Bắt đầu ghi) trong thẻ Screen record (Ghi màn hình). Để dừng ghi, hãy nhấp vào Stop recording (Dừng ghi).
Các nút điều khiển để phát và lưu video đã ghi nằm ở cuối thẻ Screen record (Ghi màn hình). Để lưu video, hãy chọn WebM hoặc GIF trong trình đơn ở cuối thẻ rồi nhấp vào Save (Lưu).
Bạn cũng có thể ghi và lưu bản ghi màn hình qua trình mô phỏng bằng cách sử dụng lệnh sau trên dòng lệnh:
adb emu screenrecord start --time-limit 10 [path to save video]/sample_video.webm
Ảnh chụp màn hình
Bạn có thể chụp ảnh màn hình qua dòng lệnh bằng một trong các lệnh sau:
screenrecord screenshot [destination-directory]
adb emu screenrecord screenshot [destination-directory]
Ảnh chụp màn hình được lưu ở định dạng PNG.
Máy ảnh cảnh ảo và ARCore
Việc phát triển và kiểm thử ứng dụng thực tế tăng cường (AR) bằng ARCore giờ đây đã trở nên dễ dàng hơn với máy ảnh cảnh ảo mới, cho phép bạn thử nghiệm trải nghiệm thực tế tăng cường trong môi trường máy ảo.
Để nắm thông tin về cách sử dụng máy ảnh cảnh ảo trong trình mô phỏng, hãy xem nội dung Chạy ứng dụng thực tế tăng cường trong Trình mô phỏng Android.
Ảnh Cửa hàng Google Play trên thiết bị Pixel
Cửa hàng Google Play hiện đã được bật tính năng ảnh hệ thống cho thiết bị Pixel và Pixel 2. Tính năng này được giới thiệu trong Trình quản lý thiết bị ảo Android trong Android Studio 3.2 trở lên với biểu tượng Google Play trong cột Play Store (Cửa hàng Play). Các AVD đã kích hoạt Cửa hàng Google Play có một thẻ Google Play trong hộp thoại Extended controls (Chế độ điều khiển mở rộng), giúp đưa ra một nút thuận tiện để cập nhật các dịch vụ của Google Play trên thiết bị.
Tổng quan nhanh
Bạn hiện có thể tải bản tổng quan nhanh cho tính năng Khởi động nhanh mà không cần khởi động lại trình mô phỏng. Để tải bản tổng quan nhanh, hãy mở cửa sổ Extended Control(Chế độ điều khiển mở rộng) trên trang Settings (Cài đặt) rồi nhấp vào nút Load Now (Tải ngay).
Chúng tôi đã cải thiện tính năng tải và lưu bản tổng quan nhanh để cải thiện hiệu quả sử dụng tài nguyên và giảm thiểu thời gian cần để thực hiện mỗi thao tác. Nếu bạn vẫn phải tốn thời gian dài đến bất thường để lưu, vui lòng gửi vấn đề đến cho chúng tôi, cung cấp thông tin chi tiết về CPU, RAM cũng như bất cứ chế độ cài đặt của phần mềm diệt vi-rút/tường lửa/phần mềm bảo mật nào đang chạy.
Kết xuất bằng Skia
Khi sử dụng hình ảnh cho API 27 trở lên, trình mô phỏng có thể kết xuất giao diện người dùng Android bằng Skia. Phương pháp này có thể kết xuất hình ảnh suôn sẻ và hiệu quả hơn.
Hiện tại, việc sử dụng Skia yêu cầu bạn phải thể hiện rõ việc bật tính năng này.
Để bật tính năng kết xuất Skia, hãy sử dụng các lệnh sau trong shell adb:
su setprop debug.hwui.renderer skiagl stop start
Máy ảnh
Trên Windows, Trình mô phỏng Android hiện sử dụng Media Foundation làm webcam phụ trợ, giúp cải thiện đáng kể hiệu suất và tốc độ khung hình khi chụp webcam, lên tới 720p và 30 khung hình/giây.
Trên máy Mac, bạn hiện có thể sử dụng kết hợp webcam0 và webcam1.
Khác
Tuỳ chọn dòng lệnh -phone-number-prefix
đã được thay đổi thành -phone-number [number]
, cho phép cài đặt toàn bộ số điện thoại.
Giờ đây, bạn có thể sử dụng các địa chỉ SMS dạng ký tự chữ–số.
Sửa lỗi
- Phiên bản Linux của Trình mô phỏng Android hiện được xây dựng bằng chuỗi công cụ Clang C++ hiện đại. Thay đổi này sẽ Khắc phục vấn đề trình mô phỏng không khởi động được do các lỗi libGL và libstdc+.
- Khắc phục một số nguyên nhân dẫn đến sự cố và bị treo.
- Để tránh sự cố và bị treo do không có đủ dung lượng ổ đĩa trống, trình mô phỏng hiện khi khởi động sẽ kiểm tra dung lượng ổ đĩa trống có đủ sử dụng không và sẽ không bắt đầu trừ phi có ít nhất 2 GB trống.
- Khắc phục vấn đề ngăn một số trò chơi Unity kết xuất hình ảnh.
- Khắc phục vấn đề DNS khiến trình mô phỏng không thể kết nối với mạng.
- Khắc phục vấn đề bộ nhớ trong được phân bổ cho AVD thông qua hộp thoại Virtual Device Configuration (Cấu hình thiết bị ảo) không hoạt động.
- Khắc phục vấn đề nhiều quy trình adb đang được tạo và không được tắt đúng cách.
- Khắc phục vấn đề khiến các nút xoay và các phần khác của giao diện người dùng không phản hồi trừ phi cửa sổ Extended controls (Điều khiển mở rộng) đang mở.
- Khắc phục vấn đề khiến thao tác sao chép và dán từ máy chủ không hoạt động trừ phi hộp thoại Extended controls (Điều khiển mở rộng) được mở ít nhất một lần.
- Trình mô phỏng không có khung cập nhật tính năng đổi kích thước hình chữ nhật để phù hợp hơn với giao diện trực quan.
- Khi bật chế độ trên máy bay, điện thoại và SMS hiện đã được vô hiệu hoá đúng cách.
- Khắc phục vấn đề khiến SMS và chức năng di động bị tắt sau khi tải bản tổng quan nhanh.
- Bạn sẽ không còn nhận được thông báo cảnh báo sai nói rằng
“Unable to open... \pstore.bin. Permission denied.”
- Khắc phục vấn đề ngăn việc định vị lại AVD trên một số màn hình Mac.
- Khắc phục vấn đề màn hình nhấp nháy và trống rỗng trên máy tính MacBook Pro bản mới khi chạy AVD với giao diện Pixel 2 XL.
- Khắc phục vấn đề màn hình trống rỗng khi chuyển sang chế độ thu phóng trong khi trình mô phỏng không có khung đang hoạt động.
- Khắc phục vấn đề khiến giao diện người dùng và nội dung trình mô phỏng của thiết bị không đồng bộ hoá được thao tác cuộn khi phóng to.
Nếu bạn vẫn gặp sự cố bị treo hoặc các vấn đề không ổn định khác, vui lòng gửi vấn đề đến cho chúng tôi.
27.1.12 (tháng 3 năm 2018)
Bản cập nhật này đã khắc phục các vấn đề sau:
- Sau khi khởi động trình mô phỏng, chất lượng âm thanh Bluetooth bị suy giảm. (Vấn đề 37095756)
- Các vị trí chỉ gửi đến một trình mô phỏng lại được gửi đến tất cả trình mô phỏng khác. (Vấn đề 73450633)
- Thông tin cài đặt vị trí GPS sử dụng bảng điều khiển đã được ghi đè bằng giá trị đã đặt bằng cách sử dụng Extended Controls (Chế độ điều khiển mở rộng) > Location (Vị trí) trong giao diện người dùng đồ hoạ. (Vấn đề 73471760)
Nếu bạn vẫn gặp sự cố bị treo hoặc các vấn đề không ổn định khác, vui lòng gửi vấn đề đến cho chúng tôi.
Với bản cập nhật này, ảnh hệ thống hiện tại và phiên bản xem trước của Android Studio, bạn có thể sử dụng Trình mô phỏng Android để chạy các ứng dụng thực tế tăng cường xây dựng bằng ARCore. Để nắm được hướng dẫn và yêu cầu chi tiết, hãy xem nội dung Chạy ứng dụng thực tế tăng cường trong Trình mô phỏng Android.
27.1.10 (tháng 2 năm 2018)
Độ phân giải máy ảnh
Bạn hiện có thể chụp khung hình 720p qua một webcam đi kèm.
Để hoạt động với Android 8.1 (API cấp 27) trở lên, mọi webcam đi kèm đều phải có khả năng chụp ảnh khung hình 720p.
Sửa lỗi
- Khắc phục vấn đề khiến tính năng quay bằng webcam đôi khi xuất ra hình ảnh bị méo hoặc toàn là màu xanh lục.
- Khắc phục vấn đề nhận được thông báo sau ngay cả khi hiện tượng treo không xảy ra: "emulator: ERROR: detected a hanging thread 'Qt event loop' No response for 15000 ms". ("trình mô phỏng: LỖI: đã phát hiện một luồng treo "vòng lặp sự kiện Qt". Không có phản hồi trong 15000 mili giây.").
Nếu bạn vẫn gặp sự cố bị treo hoặc các vấn đề không ổn định khác, vui lòng gửi vấn đề đến cho chúng tôi.
27.1.7 (tháng 2 năm 2018)
Cửa sổ trình mô phỏng không có khung:
Theo mặc định, trình mô phỏng với các tệp giao diện thiết bị đang xuất hiện mà không có khung cửa sổ xung quanh. Để hiện khung cửa sổ xung quanh, hãy bật chế độ Show window frame around device (Hiện khung cửa sổ xung quanh thiết bị) trong ngăn Settings (Cài đặt) của cửa sổ Extended Controls (Chế độ điều khiển mở rộng).
Các điểm cải tiến trong tính năng Khởi động nhanh giúp bạn đạt được hiệu quả cao hơn khi dùng bản tổng quan nhanh AVD:
- Bạn có thể lưu bản tổng quan nhanh AVD bất cứ lúc nào bằng cách sử dụng nút Save Now (Lưu ngay) trong ngăn Settings (Cài đặt) của hộp thoại Extended Controls (Chế độ điều khiển mở rộng)
- Trình mô phỏng giảm thời gian lưu bản tổng quan nhanh trong nhiều trường hợp bằng cách chỉ lưu sự khác biệt giữa trạng thái hiện tại và bản tổng quan nhanh đã lưu trước đó.
Để biết thông tin chi tiết, hãy xem tài liệu về tính năng Khởi động nhanh.
Trình mô phỏng được cập nhật để sử dụng QEMU 2.9.
Có một số điểm cải thiện đáng chú ý sau đây:
- Tối ưu hoá I/O và tinh chỉnh khoá luồng I/O để tăng cường hiệu suất.
- Sửa các lỗi kể từ QEMU 2.8 (26.1.4).
- Triển khai phần phụ trợ nền tảng HAXM mới.
Xem danh sách đầy đủ các thay đổi trong nhật ký thay đổi QEMU 2.9.
Cách triển khai Swiftshader theo chuẩn OpenGL ES 3.0:
Trình kết xuất Swiftshader của trình mô phỏng nay hoàn toàn tuân thủ chuẩn OpenGL ES 3.0. Để biết thông tin chi tiết về trình kết xuất Swiftshader, hãy xem phần Settings (Cài đặt) > Advanced (Nâng cao) trong Extended Controls (Chế độ điều khiển mở rộng).
Sửa lỗi
- Khắc phục vấn đề tính năng chia sẻ bảng nhớ tạm không hoạt động trừ phi bật/tắt tuỳ chọn Enable clipboard sharing (Bật tính năng chia sẻ bảng nhớ tạm).
- Khắc phục sự cố treo máy khi sử dụng phần bổ trợ kết xuất hình ảnh Swiftshader trên AVD có độ phân giải thấp.
27.0.5 (tháng 1 năm 2018)
Theo mặc định, tính năng kết xuất hình ảnh ANGLE trên Windows bị tắt.
Nếu ANGLE hoạt động tốt, bạn có thể bật lại tính năng đó bằng cờ hiệu dòng lệnh
-gpu angle_indirect
. Bạn cũng có thể mở cửa sổ Extended controls (Chế độ điều khiển mở rộng), chuyển đến phần Settings (Cài đặt) > Advanced (Nâng cao) rồi chọn ANGLE D3D11 cho chế độ cài đặt trình kết xuất OpenGL ES.Khắc phục sự cố nhập Shift+B nhưng không xuất hiện ký tự B viết hoa.
27.0.2 (tháng 12 năm 2017)
Tính năng Khởi động nhanh mới giúp làm giảm thời gian bắt đầu trình mô phỏng, dựa trên bản tổng quan nhanh của phiên bản AVD.
Theo mặc định, tính năng Khởi động nhanh được bật cho tất cả AVD. Tuy trong lần đầu khởi động AVD, bạn phải khởi động nguội (tương tự như khi bật nguồn thiết bị), nhưng tất cả những lần khởi động tiếp theo sau đó đều diễn ra nhanh chóng và hệ thống được khôi phục về trạng thái tại thời điểm bạn đóng trình mô phỏng (tương tự như khi đánh thức thiết bị).
Nếu bạn muốn điều khiển thời điểm trình mô phỏng lưu bản tổng quan nhanh, hãy mở cửa sổ Extended controls (Chế độ điều khiển nâng cao) trong trình mô phỏng rồi nhấp vào Settings (Cài đặt). Tại đây, bạn có thể chọn một trong các chế độ cài đặt sau cho tính năng Save quick boot state on exit (Lưu trạng thái khởi động nhanh khi thoát):
- Yes (Có): Luôn lưu bản tổng quan nhanh cho tính năng Khởi động nhanh khi bạn đóng trình mô phỏng. Đây là tuỳ chọn mặc định.
- No (Không): Không bao giờ lưu bản tổng quan nhanh Khởi động nhanh; luôn khởi động nguội.
- Ask (Hỏi): Nhắc xem có lưu bản tổng quan nhanh Khởi động nhanh hay không khi bạn đóng trình mô phỏng.
Lựa chọn của bạn chỉ áp dụng cho AVD hiện đang mở.
Để biết thêm thông tin, hãy xem tài liệu về tính năng Khởi động nhanh.
Bổ sung tính năng hỗ trợ Mac OpenGL ES 3 (đối với ảnh hệ thống sử dụng API cấp 24 trở lên, API của Google và ABI x86).
Để tăng cường độ ổn định trong ứng dụng OpenGL ES 2 trở lên, trình mô phỏng hiện sử dụng cấu hình cốt lõi OpenGL nếu có.
Các tuỳ chọn mới để kết xuất bằng Swiftshader/ANGLE:
-gpu swiftshader_indirect
: Biến thể nhanh hơn, ổn định hơn của Swiftshader hoạt động được với tính năng Khởi động nhanh.-gpu angle_indirect
(chỉ dành cho Windows): Biến thể ổn định hơn của ANGLE D3D cũng hoạt động được với tính năng Khởi động nhanh.
Các tuỳ chọn
-gpu swiftshader
và-gpu angle
cũ hiện không được dùng nữa. Trong cửa sổ Extended controls (Điều khiển mở rộng), các tuỳ chọn "SwiftShader" và "ANGLE" cho chế độ cài đặt trình kết xuất OpenGL ES trong Settings > Advanced hiện sử dụng các biến thể*_indirect
.Các bản sửa lỗi khác.
26.1.4 (tháng 8 năm 2017)
Đây là một bản phát hành nhỏ có các nội dung sửa lỗi và điểm cải thiện sau đây về cấu hình GPU:
- Bật ảnh động khởi động khi chạy trên trình kết xuất ANGLE
- Tắt GLES3 khi chạy trên trình kết xuất ANGLE
26.1.3 (tháng 8 năm 2017)
Đây là một bản phát hành nhỏ có nội dung sửa lỗi, điểm cải thiện hiệu suất cũng như một số thay đổi nhỏ về tính năng.
- Phiên bản này hiện bắt buộc phải sử dụng ảnh hệ thống Android 8.0 mới nhất.
Các ảnh hệ thống này tuân thủ chuẩn Treble,
với sự xuất hiện của các phân vùng
vendor.img
riêng biệt. - Hiện đã có phiên bản HAXM 6.2.0 mới (hãy kiểm tra Trình quản lý SDK) và có những nội dung cập nhật sau:
- Cải thiện mức sử dụng bộ nhớ. Tập hợp bộ nhớ hoạt động cao nhất mà HAXM ghim lại không còn bằng dung lượng RAM của AVD; thay vào đó, bộ nhớ sẽ được phân trang theo yêu cầu. Việc này sẽ giúp trình mô phỏng chạy ổn định trên các máy có dung lượng RAM thấp.
- Trình mô phỏng có HAXM 6.2.0 hiện có thể khởi động nhanh hơn trên macOS, bỏ qua giai đoạn khởi động dài.
- Cải thiện về cấu hình GPU
- Khắc phục vấn đề màn hình đen lúc khởi động khi kết xuất phần mềm phía máy khách, bằng cách dùng trở lại phương thức kết xuất phần mềm phía máy chủ bằng Swiftshader. Các bản sửa đổi mới nhất về ảnh hệ thống cho API cấp 19 – 25 với việc API Google phải có quy trình kết xuất phía máy khách đang hoạt động.
- Khắc phục vấn đề trình mô phỏng được chuyển sang trình kết xuất phần mềm do phát hiện sự hiện diện của các GPU Intel cũ, nhưng trình mô phỏng thực sự đang chạy trên một GPU rời. Sau đây là cách xác định GPU sẽ được chuyển sang dùng tính năng kết xuất ANGLE hoặc Swiftshader:
- Các Intel iGPU cũ hơn gặp vấn đề về trình điều khiển trên cả trình điều khiển OpenGL và ANGLE D3D. Những người dùng sở hữu GPU Intel HD Graphics 3xxx trở xuống sẽ sử dụng Swiftshader.
- Một số người dùng cho biết họ không thể sử dụng hình ảnh API cấp 25 do có lỗi "Pixel Launcher keeps stopping" ("Trình chạy Pixel liên tục dừng"). Đây có vẻ như là vấn đề về trình điều khiển trong một số loại GPU Intel HD 4xxx. Vì vậy, những người dùng này sẽ được tự động chuyển sang sử dụng ANGLE.
- Để có kết quả mô phỏng GPU tốt nhất, bạn nên sử dụng GPU NVIDIA hoặc AMD rời hoặc GPU Intel thế hệ mới (Iris, HD 5xxx, HD 5xx/6xx).
- Khắc phục vấn đề trình mô phỏng không khởi động được (không khởi động được quá trình mô phỏng OpenGL) nếu AVD được định cấu hình bằng
hw.gpu.mode=host
và trình mô phỏng đã được khởi động trong một ứng dụng máy tính từ xa. - Làm rõ chế độ cài đặt "OpenGL ES API level (requires restart)" ("Cấp API OpenES ES (yêu cầu khởi động lại)"); thêm tuỳ chọn hạ cấp từ OpenGL ES 3 xuống OpenGL ES 2 nếu gặp vấn đề hoặc cần kiểm thử ở cấp độ OpenGL ES API thấp hơn.
- Trình kết xuất Mesa không còn được dùng nữa;
hw.gpu.mode=mesa
hiện sẽ tự động chuyển sang sử dụng Swiftshader trên máy chủ.
- Những cải thiện đối với macOS:
- Trình mô phỏng hiện hoàn toàn tương thích với macOS 10.13 High Sierra thông qua Hypervisor.Framework hoặc HAXM 6.2.0.
- Theo mặc định, Hypervisor.framework hiện đã được bật trên macOS cho hình ảnh x86 32 bit để cải thiện hiệu suất và khả năng tương thích với macOS. Nếu bạn gặp vấn đề cụ thể, vui lòng gửi báo cáo lỗi và thêm
HVF = off
vào~/.android/advancedFeatures.ini
(tạo tệp này nếu chưa có). - Khắc phục các vấn đề không có Internet/không thể đính kèm trình gỡ lỗi trong khi sử dụng Hypervisor.framework.
- Để nâng cao khả năng tương thích và hiệu suất của tính năng chụp ảnh bằng webcam, bộ nhớ ảnh chụp dựa trên QTKit đã được thay thế bằng một vùng đệm dựa trên AVFoundation.
- Bổ sung tính năng hỗ trợ Wi-Fi trong một số ảnh hệ thống (hiện chỉ có API cấp 25).
Một điểm truy cập có tên "AndroidWifi" đã được thiết lập và Android sẽ tự động kết nối với điểm đó. Bạn có thể tắt tính năng hỗ trợ Wi-Fi bằng cách chạy trình mô phỏng bằng tham số dòng lệnh
-feature -Wifi
. - Một số người dùng lo ngại rằng ảnh hệ thống Cửa hàng Play kích thước cố định không có đủ dung lượng lưu trữ. Vì vậy, theo mặc định, chúng tôi đã tăng dung lượng lên 2 GB (tăng từ 800 MB).
- Thêm phím tắt (Ctrl+Shift+U) để mở trang giao diện người dùng báo cáo lỗi ngay trên trang cài đặt.
- Khắc phục vấn đề nếu một CPU cũ có Intel x86 EPT nhưng không sử dụng UG, thì trình mô phỏng sẽ không khởi động được nếu có ít nhất một lõi đã được định cấu hình.
- Khắc phục vấn đề HyperV sẽ bị phát hiện không đúng cách nếu trình mô phỏng tự chạy trong trình điều khiển ảo hoá Xen.
- Khắc phục vấn đề trình mô phỏng sẽ gặp sự cố khi khởi động trong một số cấu hình Linux.
26.1.2 (tháng 7 năm 2017)
Bản phát hành này bao gồm một số tính năng mới và điểm cải thiện về hiệu suất.
Thêm tính năng xác định cấu hình proxy HTTP tuỳ chỉnh trong các tuỳ chọn điều khiển mở rộng (nhấp vào biểu tượng Thêm ), sau đó nhấp vào Settings (Cài đặt) và Proxy). Theo mặc định, trình mô phỏng sử dụng chế độ cài đặt proxy HTTP của Android Studio, nhưng màn hình này cho phép bạn xác định cấu hình proxy thủ công.
Bổ sung khả năng hỗ trợ VNC cho GPU chế độ khách để trình mô phỏng có thể được xem và điều khiển từ xa. Ví dụ: bạn có thể khởi động trình mô phỏng và cho phép VNC nghe cổng 5901 như sau:
- Thực thi:
emulator -gpu guest -avd avd_name -no-window -qemu -vnc :1
Mở trình xem VNC (chẳng hạn như trình xem tightvnc) để kết nối với cổng 5901.
Để sử dụng ứng dụng chia sẻ màn hình tích hợp trong máy Mac, bạn cần phải nhập mật khẩu VNC khi khởi động trình mô phỏng. Để đặt mật khẩu, hãy sử dụng lệnh này:
emulator -gpu guest -avd avd_name -no-window -qemu -vnc :1,password -monitor stdio
Sau đó, hãy nhập
change vnc password
vào bảng điều khiển rồi nhập mật khẩu.
Android O hiện chưa được hỗ trợ ở chế độ VNC.
- Thực thi:
Đã thêm nút File a bug (Báo lỗi) trong màn hình trợ giúp của phần chế độ điều khiển mở rộng (Nhấp vào biểu tượng Thêm , nhấp vào Help (Trợ giúp) rồi nhấp vào Emulator help (Trợ giúp về trình mô phỏng)). Khi nhấp vào File a bug (Báo lỗi), bạn sẽ thấy một hộp thoại để xem thông tin chi tiết về báo cáo lỗi (chẳng hạn như ảnh chụp màn hình, thông tin cấu hình AVD và nhật ký báo cáo lỗi). Sau đó, bạn có thể tự lưu báo cáo hoặc báo cáo vấn đề của trình mô phỏng.
Thêm cảm biến con quay hồi chuyển vào trình mô phỏng và bảng điều khiển cảm biến ảo. Tính năng này đòi hỏi ảnh hệ thống có hỗ trợ con quay hồi chuyển để hoạt động được (hiện đang là API cấp 24 và 25).
Thêm DNS được ưu tiên cho máy chủ vào danh sách DNS Qemu trên Windows, khi các giao diện mạng ảo trên máy chủ giới thiệu nhiều địa chỉ DNS nhưng trình mô phỏng không xử lý được.
Bổ sung tính năng hỗ trợ thử nghiệm macOS Hypervisor.Framework cho hình ảnh 32 bit x86 trên macOS 10.10 trở lên thông qua cờ máy chủ, gíup cải thiện thời gian khởi động và hiệu suất.
- Nếu bạn gặp sự cố với tính năng này, hãy thêm dòng
HVF = off
vào~/.android/advancedFeatures.ini
.
- Nếu bạn gặp sự cố với tính năng này, hãy thêm dòng
Theo mặc định, OpenGL ES 3.x hiện được bật cho ảnh hệ thống và GPU lưu trữ (trên máy chủ) hỗ trợ OpenGL ES 3. Hiện tại, chỉ Android O (API cấp 26) và máy chủ Windows/Linux hỗ trợ OpenGL ES 3.
- Nếu bạn gặp sự cố về OpenGL ES 3, hãy thêm dòng
GLESDynamicVersion = off
trong~/.android/advancedFeatures.ini
.
- Nếu bạn gặp sự cố về OpenGL ES 3, hãy thêm dòng
Trình mô phỏng hiện sử dụng FBO OpenGL ngoài màn hình cho tất cả kết xuất, ngoại trừ hoạt động đăng hình ảnh hiển thị cuối cùng. Tính năng này sẽ giúp giải quyết vấn đề nhất quán về màu sắc trên các nền tảng.
Sau khi thu thập dữ liệu về các sự cố làm giảm đột ngột tốc độ trình mô phỏng, chúng tôi đã nhận thấy có thể sự cố đó liên quan đến một số hoạt động tương tác giữa các trình điều khiển Intel OpenGL cũ và các bản cập nhật Windows. Do đó, những người dùng sử dụng Intel HD 4000, 3000, 2000 (và GPU có liên quan) giờ đây sẽ thiết lập chế độ kết xuất mặc định thành trình kết xuất D3D (ANGLE) hoặc Swiftshader (trình kết xuất phần mềm).
26.0.0 (tháng 3 năm 2017)
Bản phát hành này tương thích với API cấp 26. Ngoài ra, API này còn có một số điểm cải thiện về hiệu suất và một số bản sửa lỗi.
Bản sửa đổi nhỏ 26.0.3 (tháng 5 năm 2017)
- Thêm các cờ tính năng có thể cập nhật trực tuyến để giải quyết nhanh vấn đề phát sinh qua các cấu hình phần cứng có vấn đề. Tính năng này cho phép Google triển khai các bản sửa lỗi và tính năng phụ thuộc vào cấu hình của người dùng bằng cách cập nhật cờ phía máy chủ. Nếu bạn nhận thấy vấn đề với một phần cứng cụ thể, vui lòng báo cáo lỗi để chúng tôi có thể kiểm tra sự cố đó.
- Hỗ trợ mới cho phương thức nhập dữ liệu xoay cho ảnh hệ thống API Android Wear cấp 25. Để mô phỏng phương thức nhập dữ liệu xoay trên thiết bị Wear, hãy nhấp vào thẻ Rotary Input (Nhập dữ liệu xoay) trên cửa sổ mở rộng.
- Hộp thoại Crash Reporting (Báo cáo sự cố) nay có thể thay đổi kích thước và không còn đặt lại When to send crash reports (Thời điểm gửi báo cáo sự cố) thành Ask (Hỏi) khi không có thông tin đầu vào.
- Trình mô phỏng 32 bit nay yêu cầu dung lượng RAM AVD tối đa nhỏ hơn hoặc bằng 512 MB, để ngăn trình mô phỏng này sử dụng hết không gian địa chỉ ảo 2 GB.
- Bổ sung tính năng hỗ trợ cho các đường dẫn tuyệt đối trong ảnh trình mô phỏng.
- Thêm thẻ mới vào cửa sổ mở rộng cho ảnh hệ thống Cửa hàng Google Play có hiển thị phiên bản Dịch vụ Google Play và một nút để kiểm tra bản cập nhật Dịch vụ Google Play.
- Thêm trình đơn thả xuống để chọn trình kết xuất OpenGL trên trang Emulator Settings (Cài đặt trình mô phỏng). Nếu bạn gặp sự cố với trình điều khiển OpenGL trên máy tính chạy Windows, hãy thử sử dụng các tuỳ chọn ANGLE (D3D11) hoặc ANGLE (D3D9) (cần phải khởi động lại). Nếu bạn gặp sự cố với trình điều khiển OpenGL trên một máy tính không chạy Windows, hãy thử dùng trình kết xuất phần mềm Swiftshader (cần phải khởi động lại).
- Khắc phục một sự cố hiếm gặp khi thoát, khi trình mô phỏng nhận được cả lệnh
exit
vàminimize
. - Khắc phục vấn đề về tỷ lệ khi thay đổi màn hình trên máy Mac. (Vấn đề 268296)
- Khắc phục vấn đề trình mô phỏng chiếm 300% CPU và tiếp tục nắm giữ dung lượng này sau khi máy chủ trở lại sau chế độ ngủ hoặc khi trình mô phỏng chạy trong một thời gian dài.
- Khắc phục một sự cố xuất hiện khi trình mô phỏng đang tắt.
Thông tin cập nhật về HAXM v6.1.1 (tháng 3 năm 2017)
Lưu ý: HAXM v6.1.1 nay đã phát hành cho người dùng Mac thông qua Trình quản lý SDK kể từ ngày 30 tháng 3 và sẽ sớm được cung cấp cho người dùng Windows.
Phiên bản 26.0.0 của Trình mô phỏng Android hỗ trợ HAXM v6.1.1, bao gồm các bản cập nhật sau:
- Bật tính năng mô phỏng Performance Monitoring Units (Đơn vị giám sát hiệu suất) (PMU). (Vấn đề 223377)
- Khắc phục sự cố không thể cùng tồn tại với VirtualBox và Docker trên máy Mac. (Issue 197915)
- Sửa đổi thông báo lỗi chế độ cài đặt hiển thị khi trình cài đặt không phát hiện được Intel VT-x trên Windows, nguyên nhân thường là do đã bật Hyper-V.
- Bổ sung tính năng hỗ trợ tăng tốc Trình mô phỏng Android trong máy ảo Windows trên Hyper-V. Bản cập nhật này đòi hỏi phiên bản Hyper-V của máy chủ (phiên bản quản lý máy ảo/khách Windows) sử dụng phiên bản mới nhất của Hyper-V đã bật tính năng ảo hoá lồng nhau. Bạn phải tắt Hyper-V trong phiên bản Hyper-V của khách (máy ảo Windows).
Phần phụ thuộc
- Bản sửa đổi Công cụ của nền tảng SDK cho Android phiên bản 25.0.4 trở lên.
- Bản sửa đổi Công cụ SDK Android 26.0.0 trở lên.
Bản sửa lỗi và tính năng mới
- Tương thích với API cấp 26.
- Hoàn toàn tuân thủ GLES 2.0. Do có một GPU lưu trữ (trên máy chủ) có các trình điều khiển OpenGL dành cho máy tính, nên trình mô phỏng giờ đây truyền 100% danh sách Android CTS dEQP-GLES2
mustpass
. Tính năng này đã được phát hành cho các ảnh API cấp độ 24 x86 (bản sửa đổi 11 trở lên) và sẽ sớm được đưa vào tất cả ảnh hệ thống. - Cải thiện hiệu suất phát video. Trình mô phỏng hiện lưu trữ tất cả vùng đệm màu video trong bộ nhớ dùng chung của máy chủ/khách và thực hiện hoạt động chuyển đổi YUV sang RGB cuối cùng cần thiết trong GPU. 1080p30 phù hợp với phạm vi tiếp cận của hầu hết hệ thống hiện nay. Tính năng này đã được phát hành cho các ảnh API cấp 24 x86 (bản sửa đổi 11 trở lên) và sẽ sớm được đưa vào tất cả ảnh hệ thống.
- Trình mô phỏng hiện tự huỷ đăng ký khỏi danh sách
adb devices
khi thoát và đóng các cổng TCP đang mở trên máy Linux. - Kết nối adb nay trở nên đáng tin cậy hơn. Phát hiện trình mô phỏng đang chạy nhanh hơn và không còn chuyển sang trạng thái "offline" ("ngoại tuyến") hay "unauthorized" ("chưa được uỷ quyền").
25.3.0 (tháng 3 năm 2017)
Kể từ bản phát hành này, Trình mô phỏng Android sẽ được phát hành tách biệt khỏi Bộ công cụ SDK. Bản phát hành này có nhiều điểm cải thiện về hiệu suất, tính năng mới và bản sửa lỗi.
Bản sửa đổi nhỏ 25.3.1 (tháng 3 năm 2017)
- Khắc phục một sự cố xảy ra trên một số cấu hình GPU bằng cách tắt GLAsyncSwap theo mặc định.
Tính năng này được thêm vào phiên bản 25.3.0 để cải thiện thời gian kết xuất khung hình và khung hình/giây cho các trò chơi và video nhưng khiến trình mô phỏng gặp lỗi trên một số cấu hình máy tính không xác định. Bạn có thể bật chế độ này theo cách thủ công bằng cách mở tệp
android_sdk/emulator/lib/advancedFeatures.ini
và cài đặtGLAsyncSwap = on
.
Phần phụ thuộc
- Bản sửa đổi Công cụ của nền tảng SDK cho Android phiên bản 24 trở lên.
- Bản sửa đổi Công cụ SDK Android 25.3.0.
Bản sửa lỗi và tính năng mới
- Cập nhật công cụ mô phỏng lên QEMU 2.7, bao gồm tất cả bản sửa lỗi gần đây, cải thiện hiệu suất và các tính năng mới.
- Hỗ trợ mới cho IPv6.
- Trình mô phỏng hiện sử dụng SwiftShader làm một trình kết xuất phần mềm thuần tuý trên máy chủ.
- Những điểm cải thiện về hiệu suất của Android Pipe: Android Pipe (kênh giao tiếp chính giữa trình mô phỏng và hệ điều hành Android) nay có thứ tự cường độ nhanh hơn, độ trễ thấp hơn và đem đến hiệu suất đa luồng tốt hơn. Tính năng này mang đến một số điểm cải thiện về hiệu suất cho trình mô phỏng, bao gồm:
- Cải thiện tốc độ đẩy/kéo ADB.
- Hỗ trợ tăng tốc 3D hiệu quả hơn.
- Tăng khả năng phản hồi tổng thể của trình mô phỏng.
- Cải thiện hiệu suất đồ hoạ.
- Trình mô phỏng hiện sử dụng vùng đệm phía GPU (glBindBuffers/glBufferData) khi máy khách yêu cầu, giảm mức hao tổn CPU trong một số ứng dụng.
- Hỗ trợ âm thanh hiệu quả hơn.
- I/O ổ đĩa nhanh hơn: Trình mô phỏng hiện sử dụng các chuỗi riêng biệt để gửi I/O ổ đĩa, mang lại độ trễ thấp và thông lượng tốt hơn (tốc độ I/O tuần tự ~1,5x, tốc độ I/O truy cập ngẫu nhiên ~5x ). Tính năng này cũng giúp giảm số lần xả dữ liệu vào đĩa, dẫn đến việc giảm tải đáng kể cho thiết bị thực tế.
- Trình mô phỏng hiện sử dụng các tệp thưa cho các lượt khởi động đĩa trên máy Windows, giúp tăng tốc cả lần khởi động đầu tiên và lần khởi động "xoá sạch dữ liệu" ("wipe-data"). Khi tạo hoặc đặt lại AVD, trình mô phỏng hiện sẽ ghi 100-200 MB dữ liệu vào ổ đĩa, thay vì 2 GB trở lên.
- Một số tính năng nâng cao của GUI (Giao diện người dùng đồ hoạ):
- Trình mô phỏng hiện sử dụng Qt 5.7.0 với các bản sửa lỗi và cải thiện về hiệu suất.
- Quá trình khởi động giao diện người dùng không còn cố gắng tải tất cả tệp thực thi trình mô phỏng dưới dạng các trình bổ trợ Qt, vì vậy, quá trình khởi động sẽ ngắn hơn đáng kể, đặc biệt là trên ổ đĩa HDD.
- Các hoạt động tương tác với giao diện người dùng hiện diễn ra nhanh và mượt mà hơn, bao gồm cả tính năng xoay, đổi kích thước cửa sổ và các chế độ điều khiển mở rộng khi tải và đóng cửa sổ.