Hướng dẫn build aod cho kernel
Trình mô phỏng Android có thể sử dụng các tính năng tăng tốc phần cứng để cải thiện hiệu năng, đôi khi rất đáng kể. Trang này mô tả cách định cấu hình tính năng tăng tốc đồ hoạ và máy ảo (VM) để trình mô phỏng đạt hiệu năng cao hơn. Show
Định cấu hình tăng tốc đồ hoạTính năng tăng tốc đồ hoạ sử dụng phần cứng của máy tính (thường là GPU) để kết xuất màn hình nhanh hơn. Thiết bị Android sử dụng OpenGL dành cho Hệ thống nhúng (OpenGL ES hoặc GLES) để kết xuất cả đồ hoạ 2D và 3D trên màn hình. Khi tạo Thiết bị Android ảo (AVD) trong Trình quản lý thiết bị ảo Android (AVD Manager), bạn có thể chỉ định trình mô phỏng sử dụng phần cứng hoặc phần mềm để mô phỏng GPU của AVD. Tính năng tăng tốc bằng phần cứng thường cho tốc độ nhanh hơn, và được khuyến nghị sử dụng. Tuy nhiên, vẫn sẽ cần phải sử dụng tính năng tăng tốc bằng phần mềm nếu máy tính sử dụng trình điều khiển đồ hoạ không tương thích với trình mô phỏng. Theo mặc định, trình mô phỏng quyết định việc sử dụng tính năng tăng tốc đồ hoạ bằng phần cứng hoặc phần mềm dựa trên chế độ thiết lập của máy tính. Nếu phần cứng và trình điều khiển GPU tương thích, trình mô phỏng sẽ sử dụng GPU. Nếu không, trình mô phỏng sẽ sử dụng tính năng tăng tốc bằng phần mềm (sử dụng CPU của máy tính) để mô phỏng quá trình xử lý GPU. Nếu khởi động trình mô phỏng từ dòng lệnh, bạn cũng có thể ghi đè chế độ cài đặt tăng tốc đồ hoạ trong AVD đối với thực thể thiết bị ảo đó. Yêu cầuĐể sử dụng tính năng tăng tốc đồ hoạ, môi trường phát triển của bạn phải đáp ứng các yêu cầu sau:
Định cấu hình tính năng tăng tốc đồ hoạ trong Trình quản lý thiết bị ảo AndroidĐể định cấu hình tăng tốc đồ hoạ cho AVD, hãy làm theo các bước sau:
Định cấu hình tăng tốc đồ hoạ từ dòng lệnhĐể chỉ định loại tăng tốc đồ hoạ khi bạn chạy AVD từ dòng lệnh, hãy đưa vào tuỳ chọn -gpu, như minh hoạ trong ví dụ sau: emulator -avd avd_name -gpu mode [{-option [value]} ... ]Có thể thiết lập giá trị của mode thành một trong các tuỳ chọn sau:
Các tuỳ chọn mode sau không còn được dùng nữa:
Bật tính năng kết xuất đồ hoạ Skia dành cho giao diện người dùng AndroidKhi sử dụng các hình ảnh hệ thống API cấp 27 trở lên, trình mô phỏng có thể kết xuất đồ hoạ giao diện người dùng Android với Skia. Skia giúp trình mô phỏng kết xuất đồ hoạ mượt mà và hiệu quả hơn. Để bật tính năng kết xuất đồ hoạ Skia, hãy sử dụng các lệnh sau trong môi trường shell adb: su setprop debug.hwui.renderer skiagl stop startĐịnh cấu hình tăng tốc máy ảoTính năng tăng tốc máy ảo sử dụng bộ xử lý của máy tính để cải thiện đáng kể tốc độ thực thi của trình mô phỏng. Công cụ có tên là "hypervisor" (trình điều khiển ảo hoá) quản lý tương tác này bằng cách sử dụng những tiện ích ảo hoá mà bộ xử lý máy tính của bạn cung cấp. Phần này trình bày các yêu cầu đối với việc sử dụng tính năng tăng tốc máy ảo và mô tả cách thiết lập tính năng tăng tốc máy ảo trên từng hệ điều hành. Yêu cầu chungĐể sử dụng tính năng tăng tốc máy ảo với trình mô phỏng, máy tính của bạn phải đáp ứng các yêu cầu chung trong phần này. Máy tính của bạn cũng cần đáp ứng các yêu cầu khác dành riêng cho hệ điều hành. Yêu cầu về môi trường phát triểnĐể sử dụng tính năng tăng tốc máy ảo, môi trường phát triển của bạn phải đáp ứng các yêu cầu sau:
Yêu cầu về phần mở rộng ảo hoáNgoài các yêu cầu về môi trường phát triển, bộ xử lý của máy tính phải hỗ trợ một trong các công nghệ tiện ích ảo hoá sau:
Hầu hết các bộ xử lý hiện đại đều hỗ trợ các tiện ích ảo hoá này. Nếu không chắc chắn rằng bộ xử lý của bạn có hỗ trợ các tiện ích này hay không, hãy kiểm tra thông số kỹ thuật của bộ xử lý trên trang web của nhà sản xuất. Bạn không thể sử dụng tính năng tăng tốc máy ảo nếu bộ xử lý của bạn không hỗ trợ một trong các tiện ích này. Quy tắc hạn chếTính năng tăng tốc máy ảo có các quy tắc hạn chế sau:
Giới thiệu về trình điều khiển ảo hoá (hypervisor)Tính năng tăng tốc máy ảo cần có một trình điều khiển ảo hoá. Nếu không có trình điều khiển ảo hoá và tính năng tăng tốc máy ảo, trình mô phỏng phải dịch mã máy từ từng khối máy ảo một để phù hợp với kiến trúc của máy tính lưu trữ. Quá trình này có thể khá chậm. Với trình điều khiển ảo hoá, máy ảo và kiến trúc của máy tính lưu trữ hoạt động ăn khớp với nhau. Do đó, trình mô phỏng có thể sử dụng trình điều khiển ảo hoá để chạy mã trực tiếp trên bộ xử lý máy tính lưu trữ. Cải tiến này giúp tăng đáng kể cả tốc độ và hiệu năng của trình mô phỏng. Trình điều khiển ảo hoá sẽ hoạt động tốt nhất tuỳ thuộc vào hệ điều hành và cấu hình của máy tính. Để biết thêm thông tin, hãy xem một trong các phần sau:
Kiểm tra xem đã cài đặt trình điều khiển ảo hoá chưaBạn có thể sử dụng tuỳ chọn dòng lệnh -accel-check của trình mô phỏng để kiểm tra xem máy tính hiện đã cài đặt trình điều khiển ảo hoá hay chưa. Các ví dụ sau đây minh hoạ cách sử dụng tuỳ chọn accel-check của trình mô phỏng. Trong mỗi ví dụ, Sdk là vị trí của SDK Android: Windows: c:\Users\janedoe\AppData\Local\Android> Sdk\emulator\emulator -accel-check accel: 0 HAXM version 7.3.2 (4) is installed and usable. accelmacOS: janedoe-macbookpro:Android janedoe$ ./Sdk/emulator/emulator -accel-check accel: 0 HAXM version 7.3.2 (4) is installed and usable. accelLinux: janedoe:~/Android$ ./Sdk/emulator/emulator -accel-check accel: 0 KVM (version 12) is installed and usable.Định cấu hình tính năng tăng tốc máy ảo trên WindowsTính năng tăng tốc của máy ảo trên Windows có thể sử dụng một trong ba trình điều khiển ảo hoá: Trình quản lý thực thi tăng tốc phần cứng Intel (HAXM), Trình điều khiển ảo hoá của trình mô phỏng Android dành cho Bộ xử lý AMD hoặc Nền tảng Trình điều khiển ảo hoá Windows (WHPX). Chọn một trình điều khiển ảo hoá trên WindowsBạn hãy sử dụng các tiêu chí sau để xác định xem mình nên sử dụng trình điều khiển ảo hoá nào:
Kiểm tra kỹ khi tắt Hyper-VBạn phải tắt Hyper-V để sử dụng Intel HAXM hoặc Trình điều khiển mô phỏng ảo hoá của Android dành cho Bộ xử lý AMD. Tuy nhiên, việc bỏ chọn "Hyper-V" trong hộp thoại Tính năng của Windows có thể không đảm bảo rằng Hyper-V đã được tắt hoàn toàn. Khá nhiều tính năng trong Windows 10 sẽ bật Hyper-V theo mặc định. Người dùng thậm chí có thể không biết rằng Hyper-V đã được kích hoạt khi bật một trong các tính năng này. Theo hiểu biết tốt nhất của chúng tôi, những tính năng này bao gồmNền tảng máy ảo (Virtual Machine Platform) ,Nền tảng Trình điều khiển ảo hoá Windows (Windows Hypervisor Platform) ,Hộp cát Windows (Windows Sandbox) ,Tách biệt lõi (Core Isolation) ,Bảo vệ thông tin xác thực (Credential Guard). Ngoài ra, Hệ thống con Windows dành cho Linux phiên bản 2 yêu cầu Nền tảng máy ảo, đồng nghĩa với việc ngầm ẩn yêu cầu Hyper-V. Danh sách này chưa đầy đủ, hãy thông báo cho chúng tôi trên trình theo dõi lỗi nếu phát hiện một tính năng khác cũng bật Hyper-V. Hãy kiểm tra kỹ để đảm bảo rằng các tính năng nêu trên cũng sẽ bị tắt khi bạn tắt Hyper-V. Hãy tham khảo tài liệu của Microsoft và các ví dụ dưới đây để tìm hiểu cách tắt từng tính năng riêng lẻ. Một số nền tảng không vô hiệu hoá Hyper-V ngay lập tức khi bị tắt. Khi điều này xảy ra, không có lỗi nào được hệ điều hành Windows trả về và Hyper-V có vẻ như đã bị tắt trong hộp thoại Tính năng của Windows. Vui lòng báo cáo lỗi trên Công cụ theo dõi lỗi của Microsoft khi tình huống này xảy ra. Định cấu hình tính năng tăng tốc máy ảo bằng Intel HAXM trên WindowsTrước khi có thể cài đặt và sử dụng Intel HAXM, máy tính của bạn phải đáp ứng các yêu cầu sau:
Để cài đặt trình điều khiển Intel HAXM, hãy làm theo các bước sau:
Để biết thêm thông tin, hãy xem Hướng dẫn cài đặt Intel HAXM trên Windows. Bạn có thể điều chỉnh dung lượng bộ nhớ còn trống cho tiện ích nhân kernel Intel HAXM bằng cách chạy lại trình cài đặt. Bạn có thể gỡ cài đặt Intel HAXM bằng cách sử dụng trình cài đặt hoặc Bảng điều khiển Windows (Windows Control Panel). Trước khi gỡ cài đặt Intel HAXM, hãy tắt mọi trình mô phỏng x86 hiện đang chạy. Định cấu hình tính năng tăng tốc máy ảo bằng Trình điều khiển ảo hoá của trình mô phỏng Android dành cho Bộ xử lý AMD trên WindowsTrước khi cài đặt và sử dụng Trình điều khiển ảo hoá của trình mô phỏng Android dành cho Bộ xử lý AMD, máy tính của bạn phải đáp ứng các yêu cầu sau:
Bạn có thể cài đặt Trình điều khiển ảo hoá của trình mô phỏng Android dành cho Bộ xử lý AMD thông qua Trình quản lý SDK (SDK Manager) trong Android Studio 4.0 Canary 5 trở lên hoặc từ GitHub (xem bên dưới). Để cài đặt từ Trình quản lý SDK (SDK Manager), hãy làm theo các bước sau:
Bạn cũng có thể tải xuống và cài đặt Trình điều khiển ảo hoá của trình mô phỏng Android dành cho Bộ xử lý AMD từ GitHub. Sau khi giải nén gói trình điều khiển, hãy chạy "silent_install.bat" trong Dấu nhắc lệnh với đặc quyền Quản trị viên. Sau khi hoàn tất thành công một lượt cài đặt mới, bạn sẽ thấy kết quả sau đây: Việc nâng cấp bản cài đặt sẽ dẫn đến kết quả sau đây (bao gồm các thông báo về việc gỡ cài đặt trình điều khiển cũ): Bạn có thể gỡ cài đặt Trình điều khiển ảo hoá của trình mô phỏng Android dành cho Bộ xử lý AMD bằng các lệnh sau trong Dấu nhắc lệnh (Command Prompt) với đặc quyền Quản trị viên. sc stop gvm sc delete gvmLưu ý: Hãy tắt mọi trình mô phỏng x86 trước khi gỡ cài đặt Trình điều khiển ảo hoá của trình mô phỏng Android dành cho Bộ xử lý AMD. Định cấu hình tính năng tăng tốc máy ảo bằng Nền tảng Trình điều khiển ảo hoá WindowsTrước khi có thể bật WHPX, máy tính của bạn phải đáp ứng các yêu cầu sau:
Để cài đặt WHPX trên Windows, hãy làm theo các bước sau:
Định cấu hình tính năng tăng tốc máy ảo trên macOSTrên Mac OS X v10.10 Yosemite trở lên, Trình mô phỏng Android mặc định sử dụng Hypervisor.Framework tích hợp sẵn và quay lại sử dụng Intel HAXM nếu Hypervisor.Framework không khởi chạy thành công. Để sử dụng tính năng tăng tốc máy ảo trên macOS khi Hypervisor.Framework không hoạt động, bạn phải cài đặt tiện ích nhân kernel Intel HAXM. Để cài đặt tiện ích nhân kernel Intel HAXM, hãy làm theo các bước sau:
Để biết thêm thông tin, hãy xem Hướng dẫn cài đặt dành cho Intel HAXM. Bạn có thể điều chỉnh dung lượng bộ nhớ còn trống cho tiện ích nhân kernel Intel HAXM bằng cách chạy lại trình cài đặt. Bạn có thể ngừng sử dụng tiện ích nhân kernel Intel HAXM bằng cách gỡ cài đặt. Trước khi gỡ cài đặt tiện ích đó, hãy tắt mọi trình mô phỏng x86 hiện đang chạy, sau đó chạy lệnh sau trong cửa sổ dòng lệnh: sudo /System/Library/Extensions/intelhaxm.kext/Contents/Resources/uninstall.shĐịnh cấu hình tính năng tăng tốc máy ảo trên LinuxCác hệ thống dựa trên Linux hỗ trợ tăng tốc máy ảo thông qua gói phần mềm KVM. Làm theo hướng dẫn để cài đặt KVM trên hệ thống Linux và xác minh rằng bạn đã bật KVM. Đối với các hệ thống Ubuntu, hãy xem phần Cài đặt KVM trên Ubuntu. Yêu cầuĐể chạy KVM, bạn cần có quyền truy cập cụ thể của người dùng. Hãy đảm bảo rằng bạn có đủ các quyền được quy định trong hướng dẫn cài đặt KVM. Để sử dụng tính năng tăng tốc máy ảo trên Linux, máy tính của bạn cũng phải đáp ứng các yêu cầu sau:
Kiểm tra xem KVM hiện đã được cài đặt trên Linux chưaBạn có thể sử dụng tuỳ chọn dòng lệnh -accel-check của trình mô phỏng để kiểm tra xem mình đã cài đặt KVM hay chưa. Ngoài ra, bạn có thể cài đặt gói cpu-checker chứa lệnh kvm-ok. Ví dụ sau đây trình bày cách sử dụng lệnh kvm-ok.
Cài đặt KVM trên LinuxSử dụng lệnh sau để cài đặt KVM: Cosmic (18.10) trở lên sudo apt-get install qemu-kvm libvirt-daemon-system libvirt-clients bridge-utilsLucid (10.04) trở lên sudo apt-get install qemu-kvm libvirt-bin ubuntu-vm-builder bridge-utilsKarmic (9.10) trở xuống sudo aptitude install kvm libvirt-bin ubuntu-vm-builder bridge-utils |