Начать

На этой странице описывается, как запустить сборку AOSP с помощью Cuttlefish .

Проверить доступность KVM

Cuttlefish — это виртуальное устройство, функционирование которого зависит от доступности виртуализации на хост-компьютере.

В терминале на хост-компьютере убедитесь, что доступна виртуализация с использованием виртуальной машины на базе ядра (KVM):

grep -c -w "vmx\|svm" /proc/cpuinfo

Эта команда должна возвращать ненулевое значение.

При работе на машине ARM64 наиболее прямым способом является проверка /dev/kvm :

find /dev -name kvm

Запуск каракатицы

  1. В окне терминала загрузите, соберите и установите пакеты Debian хоста:

    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

    Перезагрузка запускает установку дополнительных модулей ядра и применяет правила udev .

  2. Cuttlefish является частью Android Open-Source Platform (AOSP). Сборки виртуального устройства можно найти на сайте Android Continuous Integration. Чтобы найти индекс всех сборок Android, перейдите на сайт Android Continuous Integration по адресу http://ci.android.com/ .

  3. Введите имя ветки. Используйте ветку aosp-android-latest-release по умолчанию или используйте ветку generic system image (GSI), например aosp-android13-gsi .

  4. Перейдите к цели сборки aosp_cf_x86_64_only_phone и нажмите userdebug для получения последней сборки.

  5. Нажмите на зеленое поле под userdebug , чтобы выбрать эту сборку. Появится панель Details с дополнительной информацией, относящейся к этой сборке. На этой панели нажмите Artifacts , чтобы увидеть список всех артефактов, прикрепленных к этой сборке.

  6. На панели «Артефакты» загрузите артефакты для Cuttlefish.

    1. Нажмите на артефакт aosp_cf_x86_64_phone-img-xxxxxx.zip для x86_64 или артефакт aosp_cf_arm64_only_phone-xxxxxx.zip для ARM64, содержащий образы устройств. В имени файла "xxxxxx" — это идентификатор сборки для этого устройства.

    2. Прокрутите панель вниз и загрузите cvd-host_package.tar.gz . Всегда загружайте пакет хоста из той же сборки, что и ваши образы.

  7. В локальной системе создайте папку-контейнер и извлеките пакеты:

    1. Архитектура 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. Архитектура 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. Запуск каракатицы:

    HOME=$PWD ./bin/launch_cvd --daemon

Убедитесь, что Cuttlefish виден через adb

Подобно физическому устройству, Cuttlefish виден через Android Debug Bridge (adb) .

В той же папке, где вы запустили Cuttlefish, выполните следующую команду, чтобы увидеть список всех устройств Android, доступных через adb на вашем хост-компьютере:

./bin/adb devices

Просмотр и взаимодействие с виртуальным устройством в Интернете

По умолчанию Cuttlefish запускается с --start_webrtc , который включает веб-просмотр через порт 8443 на хост-компьютере.

Для просмотра и взаимодействия с вашими виртуальными устройствами перейдите по адресу https://localhost:8443 в вашем веб-браузере.

Для получения дополнительной информации см. Cuttlefish: WebRTC Streaming .

Остановить каракатицу

Остановите виртуальное устройство в том же каталоге, который вы использовали для запуска устройства:

HOME=$PWD ./bin/stop_cvd
,

На этой странице описывается, как запустить сборку AOSP с помощью Cuttlefish .

Проверить доступность KVM

Cuttlefish — это виртуальное устройство, функционирование которого зависит от доступности виртуализации на хост-компьютере.

В терминале на хост-компьютере убедитесь, что доступна виртуализация с использованием виртуальной машины на базе ядра (KVM):

grep -c -w "vmx\|svm" /proc/cpuinfo

Эта команда должна возвращать ненулевое значение.

При работе на машине ARM64 наиболее прямым способом является проверка /dev/kvm :

find /dev -name kvm

Запуск каракатицы

  1. В окне терминала загрузите, соберите и установите пакеты Debian хоста:

    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

    Перезагрузка запускает установку дополнительных модулей ядра и применяет правила udev .

  2. Cuttlefish является частью Android Open-Source Platform (AOSP). Сборки виртуального устройства можно найти на сайте Android Continuous Integration. Чтобы найти индекс всех сборок Android, перейдите на сайт Android Continuous Integration по адресу http://ci.android.com/ .

  3. Введите имя ветки. Используйте ветку aosp-android-latest-release по умолчанию или используйте ветку generic system image (GSI), например aosp-android13-gsi .

  4. Перейдите к цели сборки aosp_cf_x86_64_only_phone и нажмите userdebug для получения последней сборки.

  5. Нажмите на зеленое поле под userdebug , чтобы выбрать эту сборку. Появится панель Details с дополнительной информацией, относящейся к этой сборке. На этой панели нажмите Artifacts , чтобы увидеть список всех артефактов, прикрепленных к этой сборке.

  6. На панели «Артефакты» загрузите артефакты для Cuttlefish.

    1. Нажмите на артефакт aosp_cf_x86_64_phone-img-xxxxxx.zip для x86_64 или артефакт aosp_cf_arm64_only_phone-xxxxxx.zip для ARM64, содержащий образы устройств. В имени файла "xxxxxx" — это идентификатор сборки для этого устройства.

    2. Прокрутите панель вниз и загрузите cvd-host_package.tar.gz . Всегда загружайте пакет хоста из той же сборки, что и ваши образы.

  7. В локальной системе создайте папку-контейнер и извлеките пакеты:

    1. Архитектура 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. Архитектура 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. Запуск каракатицы:

    HOME=$PWD ./bin/launch_cvd --daemon

Убедитесь, что Cuttlefish виден через adb

Подобно физическому устройству, Cuttlefish виден через Android Debug Bridge (adb) .

В той же папке, где вы запустили Cuttlefish, выполните следующую команду, чтобы увидеть список всех устройств Android, доступных через adb на вашем хост-компьютере:

./bin/adb devices

Просмотр и взаимодействие с виртуальным устройством в Интернете

По умолчанию Cuttlefish запускается с --start_webrtc , который включает веб-просмотр через порт 8443 на хост-компьютере.

Для просмотра и взаимодействия с вашими виртуальными устройствами перейдите по адресу https://localhost:8443 в вашем веб-браузере.

Для получения дополнительной информации см. Cuttlefish: WebRTC Streaming .

Остановить каракатицу

Остановите виртуальное устройство в том же каталоге, который вы использовали для запуска устройства:

HOME=$PWD ./bin/stop_cvd