Cuttlefish es un dispositivo Android virtual configurable que puede ejecutarse tanto de forma remota (utilizando ofertas de nube de terceros como Google Cloud Engine) como localmente (en máquinas Linux x86).
Metas de sepia
- Libere al desarrollador de plataformas y aplicaciones de depender del hardware físico para desarrollar y validar cambios de código.
- Replica el comportamiento basado en el marco de un dispositivo real con un enfoque en la alta fidelidad manteniendo una estrecha alineación con el marco central.
- Admite todos los niveles de API después del 28.
- Proporcione un nivel consistente de funcionalidad en todos los niveles de API, alineado con el comportamiento en el hardware físico.
Habilitar escala:
- Proporciona la capacidad de ejecutar varios dispositivos en paralelo.
- Habilite la ejecución de pruebas simultáneas con alta fidelidad a un menor costo de entrada.
Proporcionar un dispositivo configurable con la capacidad de ajustar el factor de forma, RAM, CPU, etc.
Compara Sepia con otros dispositivos
Sepia y emulador de Android
Hay muchas similitudes con el emulador de Android , pero Cuttlefish garantiza total fidelidad con el marco de trabajo de Android (ya sea AOSP puro o una implementación personalizada en su propio árbol). En una aplicación del mundo real, esto significa que debe esperar que Cuttlefish responda a sus interacciones a nivel del sistema operativo como un teléfono físico construido con la misma fuente de sistema operativo Android personalizado o puro.
El emulador de Android se ha creado en torno al caso de uso para facilitar el desarrollo de aplicaciones y contiene muchos ganchos funcionales para atraer los casos de uso del desarrollador de aplicaciones de Android. Esto puede presentar desafíos si desea crear un emulador con su marco de Android personalizado. Si necesita un dispositivo virtual que sea representativo de su plataforma/código de marco personalizado o de la punta del árbol de Android, entonces Cuttlefish es una opción virtual ideal. Es el dispositivo canónico para representar el estado actual del desarrollo de AOSP.
Sepia y dispositivo físico
Las principales diferencias entre un dispositivo virtual Cuttlefish y su dispositivo físico se encuentran en el nivel de la capa de abstracción de hardware (HAL), así como en cualquier software que interactúe con cualquier hardware personalizado. Excepto en el caso de implementaciones específicas de hardware, se debe esperar un comportamiento funcionalmente equivalente entre Cuttlefish y un dispositivo físico.
¿Cómo puede ayudar la sepia?
Puedes interactuar con Cuttlefish tal como lo harías con cualquier otro dispositivo Android que puedas usar para depurar. Se registrará como un dispositivo normal a través de adb y podrá interactuar con él como un dispositivo físico a través de un escritorio remoto. Los casos de uso son amplios y pueden abarcar pruebas de aplicaciones, pruebas de compilación de sistemas personalizados y más.
Debido a que Cuttlefish se esfuerza por lograr una fidelidad total del marco, se puede utilizar para pruebas funcionales de su marco o aplicaciones donde no existen dependencias físicas de hardware que sean imposibles de emular.
¿Cómo se usa comúnmente la sepia para realizar pruebas hoy en día?
Algunas aplicaciones comunes de Sepia para pruebas incluyen:
- cts
- Cumplimiento del marco
- Pruebas de integración continua
- Conjuntos de pruebas personalizados
¿Puedo alojar Cuttlefish en la nube?
Sí, Cuttlefish es compatible de forma nativa con Google Cloud y está previsto admitir otras plataformas en la nube.
Empezar
Para obtener orientación sobre cómo crear una instancia de Cuttlefish basada en AOSP, consulte Usar Cuttlefish .