Bắt đầu

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

  1. 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.

  2. 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/.

  3. 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.

  4. 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.

  5. 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.

  6. 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.

    1. 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ềm aosp_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.

    2. 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.

  7. 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:

    1. 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

    2. 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

  8. 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