Thiết bị Android ảo làm nền tảng phát triển

Để sử dụng Thiết bị Android ảo (AVD), Trình mô phỏng Android hỗ trợ Giao diện người dùng đồ hoạ (GUI) và Giao diện dòng lệnh (CLI). Bạn chọn quy trình làm việc tối ưu cho môi trường của mình.

  • Tạo và quản lý thiết bị ảo GUI là một công cụ đơn giản được cung cấp cho hầu hết các nhà phát triển ứng dụng và người dùng.
  • Khởi động trình mô phỏng từ dòng lệnh là một cách linh hoạt cho người dùng thành thạo và tự động hoá. Ví dụ: để sử dụng nhiều AVD hoặc thiết lập quy trình kiểm thử liên tục và tích hợp liên tục. Để bắt đầu, hãy xem các ví dụ trong tools (công cụ).

Tạo AVD trên ô tô AOSP

Quy trình tạo AVD ô tô AOSP tương tự như quy trình Tạo hình ảnh AVD cho điện thoại (ví dụ: aosp_car_x86_64):

  1. Để thiết lập môi trường phát triển và xác định một nhánh, hãy xem phần Công cụ kiểm soát nguồn. Sau đó, hãy xem phần Tải nguồn xuống:
    ANDROID_BRANCH="android12L-release"
    REPO_URL="https://android.googlesource.com/platform/manifest"
    mkdir $ANDROID_BRANCH && cd $ANDROID_BRANCH && repo init -u $REPO_URL -b $ANDROID_BRANCH --partial-clone && repo sync -c -j8
  2. Tạo hình ảnh AVD:
    . build/envsetup.sh && lunch sdk_car_x86_64-userdebug && m -j32
  3. Chạy hình ảnh AVD (nếu cần, hãy thêm Tuỳ chọn khởi động dòng lệnh):
    emulator &

    Ví dụ:

    Hình 1. Màn hình Trình mô phỏng ảo Android

    Lưu ý về quy trình này:

    • Vì quy trình tạo giống với quy trình cần thiết để tạo Android cho một thiết bị thực, nên hãy dành chút thời gian để tải nguồn xuống rồi tạo.
    • Để làm việc trên các nhánh khác, hãy đặt $ANDROID_BRANCH thành một nhánh/thẻ khác.
    • Các hình ảnh AVD, chẳng hạn như system.img, được tạo tại $ANDROID_PRODUCT_OUT. Để tìm hiểu thêm về hình ảnh chính, hãy xem thư mục hệ thống AVD.
    • Hãy xem tệp README để tìm hiểu cách các tệp nhị phân trình mô phỏng được tạo sẵn trong cây Android được dùng để chạy trình mô phỏng.

Tạo AVD trên ô tô

Việc thêm một AVD ô tô mới gần giống với việc Thêm một thiết bị mới. Ví dụ: 1660554 sẽ tạo một AVD avd_car mới.

Cách tạo AVD trên ô tô:

  1. Tạo một công ty và một thư mục thiết bị nếu cần. Ví dụ này sử dụng $ANDROID_BUILD_TOP/device/google_car/avd_car.
  2. Tạo makefile sản phẩm, avd_car.mk, xác định cách tạo AVD.
  3. Tạo một thư mục trên thiết bị (avd_car_device) để chứa BoardConfig.mksource.properties.
  4. Thêm makefile mới và lựa chọn lunch mới vào AndroidProducts.mk.
  5. Cách tạo và chạy AVD avd_car mới:
    . build/envsetup.sh && lunch acar-userdebug && m -j32 && emulator &
Giờ đây, bạn đã sẵn sàng tạo mẫu cho hầu hết các tính năng HMI và ứng dụng trên AVD mới.

Đóng gói tệp ZIP hình ảnh AVD

Bạn có thể đóng gói và chia sẻ AVD với người khác hoặc sử dụng AVD trên một máy tính khác. Dùng emu_img_zip.mk để tạo tệp zip hình ảnh AVD:

  1. Sau khi bạn tạo AVD, hãy đặt emu_img_zip làm mục tiêu:
    m emu_img_zip
  2. Tệp ZIP hình ảnh AVD, có tiền tố là sdk-repo-linux-system-images, được tạo trong thư mục có tên là $ANDROID_PRODUCT_OUT.

Tạo một nhân AVD

Nhân AVD tương tự như các nhân Android khác ở chỗ tất cả đều là hình ảnh được tạo sẵn. Thông thường, bạn có thể sử dụng các hình ảnh được tạo sẵn của nhân goldfish tiêu chuẩn như trong mỗi bản phát hành Android.

Để thử nghiệm các thay đổi về nhân:

  1. Chạy chuỗi hướng dẫn sau:
    mkdir goldfish-kernel-54
    cd goldfish-kernel-54
    repo init -u https://android.googlesource.com/kernel/manifest -b
    common-android11-5.4
    repo sync
    BUILD_CONFIG=common/build.config.gki.x86_64 build/build.sh
    BUILD_CONFIG=common-modules/virtual-device/build.config.goldfish.x86_64
    build/build.sh
    ls -l ./out/android11-5.4/dist/
  2. Thay thế tệp nhị phân nhân trong cơ sở mã theo tệp makefile AVD. Ví dụ: device/generic/goldfish/board/emu64x/details.mk bao gồm device/generic/goldfish/board/kernel/x86_64.mk.

Mã và cấu hình của nhân nằm ở vị trí như sau:

Mục Giá trị
Chi nhánh common-android11-5.4 (được dùng trong Android 11)
Tệp kê khai kernel/manifest/common-android11-5.4
common-modules/virtual-device kernel/common-modules/virtual-device/android11-5.4
Kernel kernel/common/android11-5.4

Tạo hồ sơ thiết bị mới

Để cho phép người dùng tạo một AVD cụ thể trong Trình quản lý AVD của Android Studio, hãy xem phần Tạo và quản lý thiết bị ảo. Nhà sản xuất thiết bị có thể xác định thông số kỹ thuật phần cứng của riêng họ, chẳng hạn như kích thước màn hình và DPI, thông qua việc sử dụng tệp devices.xml có trong hình ảnh AVD.

  • Ví dụ: xem hồ sơ Thiết bị ô tô trong automotive.xml.
  • Đối với quá trình phát triển hoặc tạo mẫu HMI, bạn có thể thêm nhiều thiết bị vào tệp cho cùng một hình ảnh AVD.
  • Đưa tệp này vào tệp zip hình ảnh AVD của OEM trong thư mục [ABI]. Ví dụ: x86_64.
  • Nhà sản xuất thiết bị cũng có thể Tạo giao diện trình mô phỏng. Ví dụ: để xác định các nút phần cứng bổ sung cho trải nghiệm người dùng có độ trung thực cao hơn. Tính năng này không chỉ hữu ích cho quy trình làm việc của nhà phát triển mà còn cho các tác vụ khác như nghiên cứu và đánh giá trải nghiệm người dùng.

Tạo tệp XML hình ảnh AVD

Nhà sản xuất thiết bị có thể tạo một tệp XML hình ảnh AVD để Android Studio tải tệp đó xuống.

  • Ví dụ: xem tệp XML hình ảnh AVD AAOS, sys-img2-1.xml.
  • Nhà sản xuất thiết bị có thể xác định thoả thuận cấp phép AVD OEM của riêng họ cho người dùng mục tiêu (sử dụng hệ thống tự giác), kèm theo giấy phép cho Trình mô phỏng Android. Android Studio sẽ nhận được sự đồng thuận của người dùng khi có giấy phép như vậy.

Cách tạo hình ảnh:

  1. Chuẩn bị tệp zip hình ảnh AVD.
  2. Giải nén ${ANDROID_PRODUCT_OUT}/sdk-repo-linux-system-images-*.zip.
  3. Thêm devices.xml vào thư mục x86_64 rồi nén tệp này trong tệp zip. Ví dụ: oem_avd_img_x86_64.zip.
  4. Cập nhật oem-sys-img2-1.xml.
  5. Cập nhật tên, kích thước và shasum của tệp zip (các tệp XML mẫu được cung cấp trong tools).

Ví dụ: để lưu trữ AVD trên Cloud Storage của Google, hãy xem phần Tạo các vùng lưu trữ.

Để tải lên và công khai AVD, hãy xem phần Công khai dữ liệu:

BUCKET_NAME="aaos-avd"
gsutil mb gs://$BUCKET_NAME
gsutil cp oem_avd_img_x86_64.zip gs://$BUCKET_NAME
gsutil cp oem-sys-img2-1.xml gs://$BUCKET_NAME
gsutil iam ch allUsers:objectViewer gs://$BUCKET_NAME

Định dạng URL của tiện ích bổ sung SDK hình ảnh AVD là: https://storage.googleapis.com/$BUCKET_NAME/oem-sys-img2-1.xml. Ví dụ: nếu BUCKET_NAME là aaos-avd, thì URL sẽ là: https://storage.googleapis.com/aaos-avd/oem-sys-img2-1.xml.

Chia sẻ hình ảnh AVD với người dùng Android Studio

Để người dùng có thể tải hình ảnh AVD xuống và sử dụng AVD của bạn bằng Android Studio, bạn có thể cung cấp một tệp XML tiện ích bổ sung SDK. Để biết thông tin chi tiết, hãy xem phần Cập nhật Bộ công cụ SDK và IDE.

Cách tải AVD xuống từ mạng:

  1. Lưu trữ tệp zip hình ảnh và tệp XML trên một máy chủ.
  2. Cung cấp URL cho người dùng mục tiêu.
  3. (Không bắt buộc) Giới hạn quyền truy cập bằng tên người dùng và mật khẩu.

Ngoài ra, để tăng tốc quá trình phát triển, hãy tải AVD xuống một thư mục cục bộ:

  1. Lưu các tệp XML và tất cả các cấu phần phần mềm được chỉ định trong tệp XML vào một thư mục (ví dụ: tất cả các tệp zip hình ảnh AVD) có tên là ADDON_DIR.
  2. Chỉ định URL là file://$ADDON_DIR/oem-sys-img2-1.xml.