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 localement (sur des machines Linux x86).
Objectifs de seiche
- Libérez le développeur de la plate-forme et de l'application de la dépendance vis-à-vis du matériel physique pour développer et valider les modifications de code.
- Reproduisez le comportement basé sur le framework d'un appareil réel en mettant l'accent sur la haute fidélité en maintenant un alignement étroit avec le framework principal.
- Prend en charge tous les niveaux d'API après 28.
- Fournissez un niveau de fonctionnalité cohérent à tous les niveaux de l'API, aligné sur le comportement sur le matériel physique.
Activer l'échelle :
- Fournir la 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.
Comparez Seiche à d'autres appareils
Seiche et émulateur Android
Il existe de nombreuses similitudes avec l' émulateur Android , mais Cuttlefish garantit une fidélité totale avec le framework Android (qu'il s'agisse d'AOSP pur ou d'une implémentation personnalisée dans votre propre arbre). Dans une application réelle, cela signifie que vous devez vous attendre à ce que Cuttlefish réponde à vos interactions au niveau du système d'exploitation, tout comme une cible de téléphone physique construite avec la même source de système d'exploitation Android personnalisée ou pure.
L'émulateur Android a été conçu autour du cas d'utilisation consistant à faciliter le développement d'applications, et il contient de nombreux crochets fonctionnels pour faire appel aux cas d'utilisation du développeur d'applications Android. Cela peut présenter des défis si vous souhaitez créer un émulateur avec votre framework Android personnalisé. Si vous avez besoin d'un appareil virtuel qui sera représentatif de votre code de plate-forme/framework personnalisé ou de la pointe de l'arbre Android, alors Cuttlefish est une option virtuelle idéale. C'est le dispositif canonique pour représenter l'état actuel du développement de l'AOSP.
Seiche et dispositif 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 n'importe quel matériel personnalisé. À l'exception des implémentations spécifiques au matériel, vous devez vous attendre à un comportement fonctionnellement équivalent entre Cuttlefish et un périphérique physique.
Comment la Seiche peut-elle aider ?
Vous pouvez interagir avec Cuttlefish comme vous le feriez avec n'importe quel autre appareil Android que vous pourriez utiliser pour le débogage. Il s'enregistrera comme un appareil normal via adb et vous pourrez interagir avec lui comme un appareil physique via un bureau à distance. Les cas d'utilisation sont larges et peuvent couvrir les tests d'applications, les tests de construction de systèmes personnalisés, etc.
Parce que Cuttlefish s'efforce d'obtenir une fidélité totale au framework, il peut être utilisé pour les tests fonctionnels de votre framework et/ou d'applications où il n'y a pas de dépendances matérielles physiques impossibles à émuler.
Comment la seiche est-elle couramment utilisée pour les tests aujourd'hui ?
Certaines applications courantes de la seiche pour les tests incluent :
- CTS
- Conformité au cadre
- Tests d'intégration continue
- Suites de tests personnalisées
Puis-je héberger la seiche dans le cloud ?
Oui, Cuttlefish supporte nativement Google Cloud et la prise en charge d'autres plateformes cloud est prévue.
Commencer
Pour obtenir des conseils sur la création d'une instance Cuttlefish basée sur AOSP, consultez Utiliser Cuttlefish .