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.shTậ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-userdebugLệ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ể.
mKế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.
Cách khởi động Cuttlefish bằng bản dựng:
cvd createCuttlefish 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 successfullyChạy
adbđể kết nối với Cuttlefish.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 deviceChạ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_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-commonKhông tìm thấy cvd
Nếu bạn nhận được lỗi cvd not found:
- Thiết lập lại bản dựng.
- 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ố:
- Để dừng tất cả thực thể Cuttlefish, hãy chạy
cvd stop. - Dùng Cuttlefish để kiểm thử lại bản dựng.