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

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

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

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

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

Сравните Каракатицу с другими устройствами

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

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

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

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

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

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

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

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

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

Некоторые распространенные варианты применения каракатиц для тестирования включают:

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

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

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

Начиная

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

,

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

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

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

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

Сравните Каракатицу с другими устройствами

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

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

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

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

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

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

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

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

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

Некоторые распространенные варианты применения каракатиц для тестирования включают:

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

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

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

Начиная

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