Trang này giải thích cách tải xuống, tạo và chạy SDV AAOS trên Cuttlefish.
Khởi chạy ứng dụng Repo
Thiết lập ứng dụng để truy cập vào kho lưu trữ nguồn Android:
Tạo và chuyển đến một thư mục đang hoạt động, chẳng hạn như
sdv:mkdir WORKING_DIRECTORYcd WORKING_DIRECTORYKhởi động thư mục làm việc để kiểm soát nguồn:
Ví dụ này sử dụng nhánh
26Q2-fs-release.RELEASE=26Q2-fs-releaserepo init -u https://partner-android.googlesource.com/platform/vendor/pdk/generic/fs/manifest/ -b $RELEASELựa chọn
-ulà bắt buộc và xác định một tệp manifest. Đây là một tệp XML chỉ định vị trí đặt các dự án Git khác nhau trong nguồn Android trong thư mục đang hoạt động của bạn. Trong ví dụ này, tên của tệp kê khai không được chỉ định, vì vậy, lệnh này sẽ sử dụng tệp kê khai mặc định (default.xml).Lựa chọn
-bxác định nhánh mà bạn đang khởi tạo.Đầu ra phải chứa thông báo:
repo has been initialized in path_to_working_directory
Tải nguồn SDV AAOS xuống
Chạy lệnh sau để tải cây nguồn Android xuống thư mục đang hoạt động:
repo sync -c -j8Đối số -c hướng dẫn Repo tìm nạp nhánh tệp kê khai hiện tại từ máy chủ. Lệnh -j8 chia quá trình đồng bộ hoá thành nhiều luồng để hoàn tất nhanh hơn.
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 thao tá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, hãy nhập hmm.
Chọn một 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, 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-trunk_staging-userdebugLệnh này chọn sản phẩm, cấu hình phát hành và biến thể để tạo bản dựng, đồng thời lưu lựa chọn vào môi trường.
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 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-trunk_staging-userdebug– Tạo một hình ảnh về AAOS SDV Core (sdv_core) chạy trên Cuttlefish (cf).sdv_media_cf-trunk_staging-userdebug– Tạo hình ảnh về Lõi SDV AAOS bằng các API đa phương tiện được ảo hoá virtIO (sdv_media).sdv_media_har_cf-trunk_staging-userdebug– Tạo một hình ảnh mở rộng mục tiêu nội dung nghe nhìn SDV AAOS (sdv_media_cf)lunchđể chứa trình kết xuất có tính sẵn sàng cao (HAR). HAR tự động chạy khi khởi động.sdv_ivi_cf-trunk_staging-userdebug– Tạo hình ảnh về Hệ thống thông tin giải trí trong xe (IVI) có chứa Cổng SDV và các ứng dụng mẫu Java.sdv_ivi_cf_ds-trunk_staging-userdebug– Tạo một hình ảnh mở rộng đích IVI SDV AAOS (sdv_ivi_cf) và bao gồm việc triển khai DriverUI và Cụm công cụ của Display Safety.
Tạo 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Đầu ra 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, 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.
Cách khởi động Cuttlefish bằng bản dựng của bạn:
cvd createCuttlefish chạy bằng mục tiêu đã tạo của bạn (
sdv_core_cf-trunk_staging-userdebug). Sau khi Cuttlefish khởi động, thông báo sau 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. Một 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 phiên bản 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 những lỗi có thể xảy ra trong quá trình tải xuống, tạo hoặc chạy SDV AAOS.
Lỗi RBE
Nếu bạn gặp bất kỳ lỗi nào về 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-commonkhông tìm thấy cvd
Nếu bạn gặp 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 lỗi lặp lại:
- Để dừng tất cả các phiên bản Cuttlefish, hãy chạy
cvd stop. - Sử dụng Cuttlefish để kiểm thử lại bản dựng.