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

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

голы каракатицы

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

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

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

В этом разделе сравнивается устройство Cuttlefish с другими устройствами.

Cuttlefish и эмулятор Android

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

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

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

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

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

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

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

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

К числу распространенных применений каракатицы для тестирования относятся:

  • CTS
  • Соответствие рамочной программе
  • Непрерывное интеграционное тестирование
  • Пользовательские наборы тестов

Разместите Cuttlefish в облаке.

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

Начать

Инструкции по созданию экземпляра Cuttlefish на основе AOSP см. в разделе «Использование Cuttlefish» .