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

Cách sử dụng Thiết bị ảo Android (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 tối ưu cho môi trường của bạn.

  • 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 người dùng và nhà phát triển ứng dụng.
  • Khởi động trình mô phỏng từ dòng lệnh mang đến một giải pháp linh hoạt cho người dùng điện và hệ thống 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ụ ở công cụ).

Chạy AVD dành cho ô tô AOSP bằng công cụ tạo sẵn

Để nhanh chóng khởi chạy và kiểm thử bằng AVD Android được tạo sẵn cho ô tô, hãy sử dụng một tập lệnh nguồn mở để tải xuống và khởi chạy bản dựng trình mô phỏng từ ci.android.com. Tập lệnh đã được thử nghiệm vào macOS và Linux.

Bạn cần có Curl để sử dụng tập lệnh này.

Để chạy tập lệnh:

  1. Sao chép launch_emu.sh nội dung tập lệnh vào tệp cục bộ của bạn, giả sử bạn sử dụng launch_emu.sh làm tên tệp trên máy.
  2. Làm cho tập lệnh cục bộ của bạn có thể thực thi. Ví dụ: chạy chmod +x ./launch_emu.sh.
  3. Kiểm tra các tuỳ chọn có sẵn bằng cách chạy tập lệnh với ./launch_emu.sh -h.
  4. Trên ci.android.com, hãy chuyển đến Nhánh aosp-main-throttled và chọn một bản dựng gần đây, trong đó sdk_car_x86_64 có màu xanh lục. Ví dụ: 11370359. Nếu bạn không thấy bản dựng hãy đăng xuất khỏi Tài khoản Google của bạn và thử lại.
  5. Tải xuống và cài đặt các tệp nhị phân liên quan đến trình mô phỏng bằng mã bản dựng. Ví dụ: ./launch_emu.sh -i -a 11370359.
  6. Sau đó, bạn có thể sử dụng ./launch_emu.sh để chạy tệp đã tải xuống và cài đặt trình mô phỏng (không sử dụng các tuỳ chọn -i hoặc -a).
  7. Để tải xuống và cài đặt một mã bản dựng khác, hãy chạy ./launch_emu.sh -c để dọn dẹp bộ nhớ Workspace rồi lặp lại Bước 4 và Bước 5 ở trên.

Để chỉ định trình mô phỏng Android Tuỳ chọn khởi động dòng lệnh khi chạy trình mô phỏng, hãy sử dụng tuỳ chọn -v. Ví dụ:

  ./launch_emu.sh -v “-cores 4 -memory 6144 -no-snapshot"

Tạo AVD trên ô tô AOSP (Dự án nguồn mở Android)

Quy trình tạo AVD dành cho ô tô AOSP tương tự 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 nhánh, hãy xem Công cụ kiểm soát nguồn. Sau đó xem lại 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 (thêm các tuỳ chọn khởi động dòng lệnh bổ sung khi cần):
    emulator &

    Ví dụ:

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

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

    • Vì quy trình xây dựng giống với quy trình cần thiết để tạo Android cho một thiết bị thực tế, hãy chờ một thời gian để tải nguồn xuống rồi tạo mã đó.
    • Để làm việc trên các nhánh khác, hãy đặt $ANDROID_BRANCH thành một nhánh khác nhánh/thẻ.
    • 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 AVD là thư mục hệ thống.
    • Xem README để tìm hiểu cách dùng tệp nhị phân tạo sẵn của trình mô phỏng trong cây Android để chạy trình mô phỏng.

Tạo AVD trên ô tô

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

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

  1. Tạo công ty và 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 tệp makefile của 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 nguyên mẫu hầu hết các tính năng của ứng dụng và HMI 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 trên một AVD khác của bạn. Sử dụng emu_img_zip.mk để tạo tệp zip hình ảnh AVD:

  1. Sau khi 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, là được tạo trong thư mục có tên $ANDROID_PRODUCT_OUT.

Tạo nhân hệ điều hành 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 hình ảnh được tạo sẵn cho nhân cá vàng tiêu chuẩn như từ mỗi bản phát hành Android.

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

  1. Chạy chuỗi hướng dẫn sau đây:
    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ụ: x86_64-vendor.mk bao gồm x86_64-kernel.mk.

Mã và cấu hình kernel có dạng như sau:

Mặt hàng Giá trị
Chi nhánh common-android11-5.4 (dùng trong Android 11)
Tệp kê khai kernel/manifest/common-android11-5.4
mô-đun chung/thiết bị ảo 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ý thiết bị ảo Android Studio, hãy xem Tạo và quản lý thiết bị ảo. Nhà sản xuất thiết bị có thể xác định các 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ị Automotive trong automotive.xml.
  • Để phát triển hoặc tạo nguyên mẫu cho HMI, bạn có thể thêm nhiều thiết bị vào 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ụ: dưới dạng 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 nhằm mang lại trải nghiệm người dùng trung thực hơn. Điều này không chỉ hữu ích đối với quy trình làm việc của nhà phát triển mà còn cho các công việc khác như nghiên cứu trải nghiệm người dùng và đánh giá.

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

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

  • Ví dụ: hãy xem tệp XML hình ảnh AVD của 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 của nhà sản xuất thiết bị gốc (OEM) riêng cho người dùng mục tiêu của họ (sử dụng hệ thống danh dự) với giấy phép dành cho Trình mô phỏng Android. của Android Khi có loại giấy phép đó, Studio cần người dùng đồng ý.

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 trong đó một tệp zip. Ví dụ: dưới dạng 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 (tệp XML mẫu được cung cấp trong tools).

Ví dụ: để lưu trữ AVD trên Google Cloud Storage, xem phần Tạo bộ chứa lưu trữ.

Để tải lên và đặt AVD có thể truy cập công khai, hãy xem Công khai hoá 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 tiện ích bổ sung của 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à dùng AVD của bạn qua Android Studio, bạn có thể cung cấp tệp XML tiện ích bổ sung SDK. Để biết thông tin chi tiết, hãy xem Cập nhật Bộ công cụ SDK và IDE.

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

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

Ngoài ra, để tăng tốc độ 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ấ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 ADDON_DIR.
  2. Hãy chỉ định URL là file://$ADDON_DIR/oem-sys-img2-1.xml.