Appareils Android virtuels Cuttlefish

Cuttlefish est un appareil Android virtuel configurable qui peut s'exécuter à la fois à distance (à l'aide d'offres cloud tierces telles que Google Cloud Engine) et en local (sur ordinateurs Linux x86 et ARM64).

Objectifs pour seiches

  • Libérez la plate-forme et le développeur de l'application de la dépendance physique du matériel pour développer et valider les modifications du code.
  • Reproduisez le comportement basé sur le framework d'un appareil réel en privilégiant la haute fidélité en maintenant un alignement étroit avec le framework principal.
  • Prise en charge de tous les niveaux d'API après le niveau 28.
  • Fournissez un niveau de fonctionnalité cohérent entre les niveaux d'API, en adéquation avec le comportement sur le matériel physique.
  • Activez la mise à l'échelle :

    • Possibilité d'exécuter plusieurs appareils en parallèle.
    • Activez l'exécution de tests simultanés avec une haute fidélité à un coût d'entrée inférieur.
  • Fournir un appareil configurable avec la possibilité d'ajuster le facteur de forme, la RAM, les processeurs, etc.

Comparer Settlefish à d'autres appareils

Cuttlefish et Android Emulator

Il existe de nombreuses similitudes avec Android Emulator, mais Cuttlefish garantit une fidélité totale avec le framework Android (qu'il s'agisse d'un AOSP pur ou d'une implémentation personnalisée dans votre propre arborescence). Dans une application réelle, cela signifie que vous devez vous attendre à ce que Cuttlefish réponde à vos interactions au niveau de l'OS, comme une cible de téléphone physique créée avec la même source d'OS Android personnalisée ou pure.

Android Emulator a été conçu pour créer des applications développement facile. De plus, il comporte de nombreux points d'ancrage fonctionnels qui attirent l'attention de l'utilisateur. du développeur d'applications Android. Cela peut poser des problèmes si vous voulez pour créer un émulateur avec votre framework Android personnalisé. Si vous avez besoin d'un appareil virtuel qui représentera votre code de plate-forme/framework personnalisé ou Android de pointe, Cuttlefish est une option virtuelle idéale. Il est l’appareil canonique pour représenter l’état actuel du développement d’AOSP.

Seiche et appareil physique

Les principales différences entre un appareil virtuel Cuttlefish et votre appareil physique se situent au niveau de la couche d'abstraction matérielle (HAL), ainsi que de tout logiciel qui interagit avec du matériel personnalisé. Sauf pour les configurations matérielles vous devez vous attendre à un comportement équivalent du point de vue fonctionnel entre Seiche et un appareil physique.

Comment Settlefish peut-il vous aider ?

Vous pouvez interagir avec Cuttlefish comme avec n'importe quelle autre application Android que vous pourriez utiliser pour le débogage. Il s'enregistrera en tant qu'appareil normal via adb et vous pourrez interagir avec lui comme avec un appareil physique via un bureau à distance. Les cas d'utilisation sont vastes et peuvent inclure les tests d'applications, les systèmes des tests de compilation et plus encore.

Comme Cuttlefish s'efforce d'obtenir une fidélité complète du framework, elle peut être utilisée pour des tests fonctionnels de votre framework ou de vos applications dépendances matérielles physiques impossibles à émuler.

Comment la seiche est-elle couramment utilisée pour les tests aujourd'hui ?

Voici quelques applications courantes de seiche pour les tests:

  • CTS
  • Conformité avec le framework
  • Tests d'intégration continue
  • Suites de tests personnalisés

Puis-je héberger Settlefish dans le cloud ?

Oui, Cuttlefish est compatible nativement avec Google Cloud. La compatibilité avec d'autres plates-formes cloud est prévue.

Premiers pas

Pour obtenir des conseils sur la création d'une instance Cuttlefish basée sur AOSP, consultez la section Utiliser Cuttlefish.