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