Tải xuống, tạo và chạy

Trang này giải thích cách tải xuống, tạo và chạy AAOS SDV trên Cuttlefish.

Tải mã nguồn AAOS SDV

Hãy làm theo hướng dẫn trong phần Tải mã nguồn Android.

Thiết lập môi trường tạo bản dựng

Trong thư mục làm việc, hãy tìm nguồn cho tập lệnh envsetup.sh để thiết lập môi trường tạo bản dựng:

source build/envsetup.sh

Tập lệnh này nhập một số lệnh cho phép bạn làm việc với mã nguồn Android, bao gồm cả các lệnh được dùng trên trang này. Để xem nguồn của tập lệnh, hãy xem platform/build/envsetup.sh. Để xem trợ giúp tích hợp, hãy nhập hmm.

Chọn mục tiêu

Trước khi tạo SDV, hãy xác định mục tiêu để tạo. Để xác định mục tiêu cần tạo, hãy sử dụng lệnh lunch rồi theo sau là một chuỗi đại diện cho mục tiêu mà bạn đang tạo. Ví dụ: hãy dùng lệnh này để tạo mục tiêu cho trình mô phỏng Cuttlefish:

lunch sdv_core_cf-trunk_staging-userdebug

Lệnh này chọn sản phẩm, cấu hình bản phát hành và biến thể để tạo, đồng thời lưu lựa chọn đó trong môi trường.

Các mục tiêu lunch cho SDV được cung cấp trong một dự án Git riêng biệt nằm trong thư mục devices/google/sdv. Xem phần mô tả chi tiết về các mục tiêu có sẵn tại device/google/sdv/README.md. Các mục tiêu chính của Cuttlefish (cf) là:

  • sdv_core_cf-trunk_staging-userdebug – Tạo hình ảnh của AAOS SDV Core (sdv_core) chạy trên Cuttlefish (cf).
  • sdv_media_cf-trunk_staging-userdebug – Tạo hình ảnh của AAOS SDV Core bằng các API nội dung nghe nhìn được ảo hoá virtIO (sdv_media).
  • sdv_media_har_cf-trunk_staging-userdebug – Tạo hình ảnh mở rộng mục tiêu của nội dung nghe nhìn AAOS SDV (sdv_media_cf) lunch để chứa trình kết xuất có độ khả dụng cao (HAR). HAR tự động chạy khi khởi động.
  • sdv_ivi_cf-trunk_staging-userdebug – Tạo hình ảnh của Hệ thống thông tin giải trí trong xe (IVI) chứa Cổng SDV và các ứng dụng mẫu Java.
  • sdv_ivi_cf_ds-trunk_staging-userdebug – Tạo hình ảnh mở rộng mục tiêu AAOS SDV IVI (sdv_ivi_cf) và bao gồm cả việc triển khai DriverUI và Cụm đồng hồ của Display Safety.

Tạo AAOS SDV

Chạy lệnh sau để tạo mục tiêu. Tuỳ thuộc vào thông số kỹ thuật của máy trạm, bản dựng đầu tiên sẽ mất từ 30 đến 60 phút. Các bản dựng tiếp theo sẽ mất ít thời gian hơn đáng kể.

m

Kết quả của bản dựng sẽ xuất hiện trong $OUT_DIR. Nếu bạn tạo các mục tiêu khác nhau, mỗi bản dựng mục tiêu sẽ xuất hiện trong $OUT_DIR.

Kiểm thử bản dựng bằng Cuttlefish

Sau khi tạo AAOS SDV, hãy kiểm thử bản dựng bằng Cuttlefish.

  1. Cách khởi động Cuttlefish bằng bản dựng:

    cvd create

    Cuttlefish chạy bằng mục tiêu đã tạo (sdv_core_cf-trunk_staging-userdebug). Sau khi Cuttlefish khởi động, thông báo này sẽ xuất hiện:

    VIRTUAL_DEVICE_BOOT_COMPLETED
    Virtual device booted successfully
  2. Chạy adb để kết nối với Cuttlefish.

  3. Chạy adb devices để xác minh rằng bản dựng của bạn đang chạy. Kết quả tương tự như sau sẽ xuất hiện:

    List of devices attached
    0.0.0.0:6520 device
  4. Chạy cvd stop để tắt thiết bị.

Để chạy nhiều thực thể của Cuttlefish với các bản dựng khác nhau, hãy xem phần Cuttlefish: nhiều đối tượng thuê.

Khắc phục sự cố

Phần này giải thích cách khắc phục các lỗi có thể xảy ra trong quá trình tải xuống, tạo hoặc chạy AAOS SDV.

Lỗi RBE

Nếu bạn gặp bất kỳ lỗi nào về Thực thi bản dựng từ xa (RBE), hãy xoá các định nghĩa về USE_RBEENABLE_RBE_BOOTSTRAP khỏi .bashrc hoặc .zshrc

cvd: Trình quản lý máy ảo crosvm không được hỗ trợ trên máy này

Nếu Cuttlefish báo cáo rằng trình quản lý máy ảo crosvm không được hỗ trợ trên máy của bạn, hãy chạy lệnh sau để cài đặt Cuttlefish:

sudo apt install cuttlefish-common

Không tìm thấy cvd

Nếu bạn nhận được lỗi cvd not found:

  1. Thiết lập lại bản dựng.
  2. Tiếp tục với phần Chọn mục tiêu.

Vòng lặp sự cố Cuttlefish

Nếu Cuttlefish gặp vòng lặp sự cố:

  1. Để dừng tất cả thực thể Cuttlefish, hãy chạy cvd stop.
  2. Dùng Cuttlefish để kiểm thử lại bản dựng.