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

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

Lấy mã nguồn AAOS SDV

Làm theo hướng dẫn trong phần Tải nguồn Android xuống.

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

Trong thư mục đang hoạt động, hãy lấy 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 phần trợ giúp tích hợp sẵn, 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 cần tạo. Để xác định mục tiêu cần tạo, hãy sử dụng lệnh lunch, 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 sử dụng lệnh này để tạo mục tiêu cho trình mô phỏng Cuttlefish:

lunch sdv_core_cf-aosp_current-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 bản dựng, đồng thời lưu trữ 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 device/google/sdv. Xem nội dung 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-aosp_current-userdebug – Tạo một hình ảnh của AAOS SDV Core (sdv_core) chạy trên Cuttlefish (cf).
  • sdv_media_cf-aosp_current-userdebug – Tạo một bản dựng của AAOS SDV Core bằng các API đa phương tiện được ảo hoá virtIO (sdv_media).
  • sdv_media_har_cf-aosp_current-userdebug – Tạo một hình ảnh mở rộng mục tiêu nội dung nghe nhìn SDV của AAOS (sdv_media_cf) lunch để chứa trình kết xuất có độ sẵn sàng cao (HAR). HAR tự động chạy khi khởi động.
  • sdv_ivi_cf-aosp_current-userdebug – Tạo một hình ảnh của Đầu phát giải trí trong xe (IVI) chứa Cổng SDV và các ứng dụng mẫu Java.
  • sdv_ivi_cf_ds-aosp_current-userdebug – Tạo một hình ảnh mở rộng mục tiêu IVI SDV của AAOS (sdv_ivi_cf) và bao gồm cả việc triển khai DriverUI và Cụm đồng hồ của Display Safety.

Xây dựng SDV AAOS

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 nhiều mục tiêu, thì 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 của bạn:

    cvd create

    Cuttlefish chạy bằng mục tiêu đã tạo (sdv_core_cf-aosp_current-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 phiên bản Cuttlefish với các bản dựng khác nhau, hãy xem phần Cuttlefish: multi-tenancy (Cuttlefish: đa người dùng).

Khắc phục sự cố

Phần này giải thích cách khắc phục sự cố 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 liên quan đến Remote Build Execution (RBE), hãy xoá các định nghĩa về USE_RBE và ENABLE_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 gặp 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 lỗi lặp lại:

  1. Để dừng tất cả các phiên bản Cuttlefish, hãy chạy cvd stop.
  2. Sử dụng Cuttlefish để kiểm tra lại bản dựng.