Sử dụng thiết bị ảo Trình mô phỏng Android

Bạn có thể sử dụng Trình mô phỏng Android để tạo bản mô phỏng của các thiết bị Android chạy hình ảnh hệ thống Android tuỳ chỉnh của riêng bạn. Ngoài ra, bạn có thể thêm tính năng hỗ trợ nhiều màn hình vào các hoạt động mô phỏng của Trình mô phỏng Android.

Cấu trúc của Trình mô phỏng Android

Trình mô phỏng Android chạy hệ điều hành Android trong một máy ảo có tên là Thiết bị Android ảo (AVD). Mỗi AVD chứa đầy đủ ngăn xếp phần mềm Android và chạy như thể đang chạy trên một thiết bị thực. Hình 1 minh hoạ cấu trúc cấp cao của Trình mô phỏng Android. Để biết thêm thông tin về trình mô phỏng, hãy xem bài viết Chạy ứng dụng trên Trình mô phỏng Android.

Cấu trúc của Trình mô phỏng Android.

Hình 1. Cấu trúc của Trình mô phỏng Android.

Tạo hình ảnh AVD

Mỗi AVD bao gồm một hình ảnh hệ thống Android chạy trong AVD đó. Trình quản lý thiết bị ảo Android bao gồm một số hình ảnh hệ thống. Ngoài ra, bạn có thể tạo hình ảnh hệ thống AVD tuỳ chỉnh từ mã nguồn và tạo bản mô phỏng thiết bị để chạy các hình ảnh đó.

Cách tạo và chạy hình ảnh hệ thống AVD:

  1. Tải nguồn Android xuống:

    mkdir aosp-main; cd aosp-main
    repo init -u
    repo sync -j24
    

Nếu muốn tạo các phiên bản Android khác, bạn có thể tìm thấy tên nhánh của các phiên bản đó trong kho lưu trữ Android công khai. Các giá trị này liên kết với Tên mã, thẻ và số bản dựng của Android.

  1. Tạo hình ảnh hệ thống AVD. Đây là quy trình tương tự như tạo hình ảnh hệ thống thiết bị Android. Ví dụ: để tạo một AVD x86 64 bit:

    source ./build/envsetup.sh
    lunch sdk_phone_x86_64
    make -j32
    
  2. Chạy hình ảnh hệ thống AVD trong Trình mô phỏng Android:

    emulator
    

Hãy xem phần Tuỳ chọn khởi động dòng lệnh để biết thêm thông tin chi tiết về cách chạy trình mô phỏng. Hình 2 cho thấy ví dụ về Trình mô phỏng Android đang chạy AVD:

Trình mô phỏng Android đang chạy một AVD.

Hình 2. Trình mô phỏng Android đang chạy một AVD.

Chia sẻ hình ảnh hệ thống AVD để người khác sử dụng với Android Studio

Làm theo hướng dẫn này để chia sẻ hình ảnh hệ thống AVD với người khác. Họ có thể sử dụng hình ảnh hệ thống AVD của bạn bằng Android Studio để phát triển và kiểm thử ứng dụng.

  1. Tạo thêm các gói sdksdk_repo:

    Đối với Android 13 trở lên, hãy sử dụng lệnh emu_img_zip:

    $ make emu_img_zip
    

    Thao tác này sẽ tạo một tệp sdk-repo-linux-system-images-eng.[username]].zip.

    Đối với Android 12 trở xuống, hãy sử dụng lệnh sdk_repo:

    $ make -j32 sdk sdk_repo
    

    Lệnh make sdk sdk_repo tạo hai tệp trong aosp-main/out/host/linux-x86/sdk/sdk_phone_x86:

    • sdk-repo-linux-system-images-eng.[username].zip
    • repo-sys-img.xml
  2. Lưu trữ tệp sdk-repo-linux-system-images-eng.[username].zip ở nơi người dùng có thể truy cập và lấy URL của tệp đó để dùng làm URL Hình ảnh hệ thống AVD.

  3. Đối với Android 12 trở xuống, hãy chỉnh sửa repo-sys-img.xml cho phù hợp:

    • Cập nhật <sdk:url> thành URL hình ảnh hệ thống AVD.
    • Hãy xem sdk-sys-img-03.xsd để tìm hiểu về các bản cập nhật khác cho tệp này.
    • Lưu trữ repo-sys-img.xml ở nơi người dùng của bạn có thể truy cập và lấy URL của trang web đó để sử dụng làm URL trang web cập nhật tuỳ chỉnh.

Để sử dụng hình ảnh AVD tuỳ chỉnh, hãy làm như sau trong Trình quản lý SDK:

  1. Thêm URL trang web cập nhật tuỳ chỉnh làm Trang web cập nhật SDK.

    Thao tác này sẽ thêm hình ảnh hệ thống AVD tuỳ chỉnh vào trang Hình ảnh hệ thống.

  2. Tạo AVD bằng cách tải xuống và chọn hình ảnh hệ thống AVD tuỳ chỉnh.

Thêm tính năng hỗ trợ nhiều màn hình

Android 10 cải thiện chế độ nhiều màn hình để hỗ trợ tốt hơn nhiều trường hợp sử dụng, chẳng hạn như chế độ tự động và chế độ máy tính. Trình mô phỏng Android cũng hỗ trợ tính năng mô phỏng nhiều màn hình. Vì vậy, bạn có thể tạo một môi trường nhiều màn hình cụ thể mà không cần thiết lập phần cứng thực.

Bạn có thể thêm tính năng hỗ trợ nhiều màn hình vào AVD bằng cách thực hiện các thay đổi sau đây hoặc chọn trong số các CL này.

  • Thêm trình cung cấp nhiều màn hình vào bản dựng bằng cách thêm các dòng sau vào tệp build/target/product/sdk_phone_x86.mk:

    PRODUCT_ARTIFACT_PATH_REQUIREMENT_WHITELIST := \
        system/lib/libemulator_multidisplay_jni.so \
        system/lib64/libemulator_multidisplay_jni.so \
        system/priv-app/MultiDisplayProvider/MultiDisplayProvider.apk \
    PRODUCT_PACKAGES += MultiDisplayProvider
    
  • Bật cờ tính năng Nhiều màn hình bằng cách thêm dòng này vào tệp device/generic/goldfish/data/etc/advancedFeatures.ini:

    MultiDisplay = on
    

Bạn có thể tìm thấy các tính năng trình mô phỏng và thông tin phát hành mới nhất từ các nguồn sau: