Эта страница переведена с помощью Cloud Translation API.
Switch to English

Виртуальные Android-устройства Cuttlefish

Что такое каракатица?

Cuttlefish - это настраиваемое виртуальное устройство Android, которое может работать как удаленно (с использованием сторонних облачных предложений, таких как Google Cloud Engine), так и локально (на машинах Linux x86).

Цели каракатицы

  • Освободите разработчика платформы и приложения от зависимости от физического оборудования при разработке и проверке изменений кода.
  • Воспроизведите поведение реального устройства на основе фреймворка с упором на высокую точность , поддерживая точное соответствие с базовым фреймворком.
  • Поддержка всех уровней API после 28.
  • Обеспечьте согласованный уровень функциональности на всех уровнях API, согласованный с поведением на физическом оборудовании.
  • Включить масштаб:

    • Обеспечьте возможность параллельной работы нескольких устройств.
    • Обеспечьте одновременное выполнение тестов с высокой точностью при более низкой стоимости входа.
  • Предоставляет настраиваемое устройство с возможностью настройки форм-фактора, оперативной памяти, процессоров и т. Д.

Сравнение Cuttlefish с другими устройствами

Каракатица и эмулятор Android

Есть много общего с эмулятором Android , но Cuttlefish гарантирует полную совместимость с платформой Android (будь то чистый AOSP или пользовательская реализация в вашем собственном дереве). В реальном приложении это означает, что вы должны ожидать, что Cuttlefish будет реагировать на ваши взаимодействия на уровне ОС так же, как физическая цель телефона, созданная с тем же настроенным или чистым исходным кодом ОС Android.

Эмулятор Android был построен на основе сценария использования, упрощающего разработку приложений, и содержит множество функциональных ловушек, которые могут быть использованы разработчиками приложений Android. Это может вызвать проблемы, если вы хотите создать эмулятор со своей индивидуальной платформой Android. Если вам нужно виртуальное устройство, которое будет представлять вашу пользовательскую платформу / код фреймворка или простой Android, тогда Cuttlefish - идеальный виртуальный вариант. Это каноническое устройство для представления текущего состояния развития AOSP.

Каракатица и физическое устройство

Основные различия между виртуальным устройством Cuttlefish и вашим физическим устройством заключаются в уровне абстракции оборудования (HAL), а также в любом программном обеспечении, которое взаимодействует с любым настраиваемым оборудованием. За исключением аппаратных реализаций, вы должны ожидать функционально эквивалентного поведения между Cuttlefish и физическим устройством.

Чем может помочь каракатица?

Вы можете взаимодействовать с Cuttlefish так же, как и с любым другим устройством Android, которое вы можете использовать для отладки. Он зарегистрируется как обычное устройство через adb, и вы сможете взаимодействовать с ним, как с физическим устройством, через удаленный рабочий стол. Сценарии использования обширны и могут включать тестирование приложений, тестирование сборки пользовательской системы и многое другое.

Поскольку Cuttlefish стремится к полной точности фреймворка, его можно использовать для функционального тестирования вашего фреймворка и / или приложений, где нет физических зависимостей оборудования, которые невозможно эмулировать.

Как сегодня каракатица обычно используется для тестирования?

Вот некоторые распространенные применения Cuttlefish для тестирования:

  • CTS
  • Соответствие рамкам
  • Непрерывное интеграционное тестирование
  • Индивидуальные наборы тестов

Могу ли я разместить каракатиц в облаке?

Да, Cuttlefish изначально поддерживает Google Cloud, и планируется поддержка других облачных платформ.

Начиная

См. Руководство по началу работы для получения инструкций по созданию экземпляра Cuttlefish на основе AOSP.