Trang này mô tả cách chạy bản dựng AOSP bằng Cuttlefish.
Xác minh khả năng sử dụng KVM
Cuttlefish là một thiết bị ảo và phụ thuộc vào khả năng ảo hoá có trên máy chủ.
Trong một thiết bị đầu cuối trên máy chủ lưu trữ, hãy đảm bảo rằng bạn có thể ảo hoá bằng Máy ảo trên nền tảng phần cứng (KVM):
grep -c -w "vmx\|svm" /proc/cpuinfo
Lệnh này phải trả về một giá trị khác 0.
Khi chạy trên máy ARM64, cách trực tiếp nhất là kiểm tra /dev/kvm
:
find /dev -name kvm
Khởi chạy Cuttlefish
Trong cửa sổ thiết bị đầu cuối, hãy tải xuống, tạo và cài đặt các gói Debian của máy chủ lưu trữ:
sudo apt install -y git devscripts equivs config-package-dev debhelper-compat golang curl
git clone https://github.com/google/android-cuttlefish
cd android-cuttlefish
tools/buildutils/build_packages.sh
sudo dpkg -i ./cuttlefish-base_*_*64.deb || sudo apt-get install -f
sudo dpkg -i ./cuttlefish-user_*_*64.deb || sudo apt-get install -f
sudo usermod -aG kvm,cvdnetwork,render $USER
sudo reboot
Thao tác khởi động lại sẽ kích hoạt quá trình cài đặt các mô-đun kernel bổ sung và áp dụng các quy tắc
udev
.Cuttlefish là một phần của Nền tảng nguồn mở Android (AOSP). Các bản dựng của thiết bị ảo có trên trang web Tích hợp liên tục của Android. Để tìm chỉ mục của tất cả các bản dựng Android, hãy truy cập vào trang web Tích hợp liên tục của Android tại http://ci.android.com/.
Nhập tên nhánh. Sử dụng nhánh
aosp-android-latest-release
mặc định hoặc sử dụng nhánh hình ảnh hệ thống chung (GSI), chẳng hạn nhưaosp-android13-gsi
.Chuyển đến mục tiêu bản dựng aosp_cf_x86_64_only_phone rồi nhấp vào userdebug cho bản dựng mới nhất.
Nhấp vào hộp màu xanh lục bên dưới userdebug để chọn bản dựng này. Bảng điều khiển Details (Chi tiết) sẽ xuất hiện cùng với thông tin cụ thể hơn về bản dựng này. Trong bảng điều khiển này, hãy nhấp vào Artifacts (Cấu phần phần mềm) để xem danh sách tất cả các cấu phần phần mềm được đính kèm vào bản dựng này.
Trong bảng điều khiển Artifacts (Cấu phần phần mềm), hãy tải các cấu phần phần mềm xuống cho Cuttlefish.
Nhấp vào cấu phần phần mềm
aosp_cf_x86_64_phone-img-xxxxxx.zip
cho x86_64 hoặc cấu phần phần mềmaosp_cf_arm64_only_phone-xxxxxx.zip
cho ARM64. Cấu phần phần mềm này chứa hình ảnh thiết bị. Trong tên tệp, "xxxxxx" là mã nhận dạng bản dựng cho thiết bị này.Di chuyển xuống trong bảng điều khiển rồi tải
cvd-host_package.tar.gz
xuống. Luôn tải gói lưu trữ xuống từ cùng một bản dựng với hình ảnh của bạn.
Trên hệ thống cục bộ, hãy tạo một thư mục vùng chứa và giải nén các gói:
Cấu trúc x86_64:
mkdir cf
cd cf
tar -xvf /path/to/cvd-host_package.tar.gz
unzip /path/to/aosp_cf_x86_64_phone-img-xxxxxx.zip
Kiến trúc ARM64:
mkdir cf
cd cf
tar -xvf /path/to/cvd-host_package.tar.gz
unzip /path/to/aosp_cf_arm64_only_phone-img-xxxxxx.zip
Khởi chạy Cuttlefish:
HOME=$PWD ./bin/launch_cvd --daemon
Xác minh rằng Cuttlefish có thể nhìn thấy thông qua adb
Tương tự như một thiết bị thực, Cuttlefish có thể nhìn thấy thông qua Cầu gỡ lỗi Android (adb).
Trong cùng thư mục nơi bạn chạy Cuttlefish, hãy chạy lệnh sau để xem danh sách tất cả các thiết bị Android có sẵn thông qua adb trên máy chủ lưu trữ:
./bin/adb devices
Xem và tương tác với thiết bị ảo trên web
Theo mặc định, Cuttlefish sẽ khởi chạy bằng --start_webrtc
, cho phép một webview thông qua cổng 8443 trên máy chủ.
Để xem và tương tác với các thiết bị ảo, hãy chuyển đến https://localhost:8443 trong trình duyệt web.
Để biết thêm thông tin, hãy xem bài viết Cuttlefish: Truyền phát trực tuyến WebRTC.
Dừng Cuttlefish
Dừng thiết bị ảo trong cùng thư mục mà bạn đã dùng để khởi chạy thiết bị:
HOME=$PWD ./bin/stop_cvd