Cuttlefish to konfigurowalne wirtualne urządzenie z Androidem, które może działać zdalnie. (przy użyciu rozwiązań chmurowych innych firm, takich jak Google Cloud Engine) i lokalnie (w na komputerach z systemem Linux x86 i ARM64).
Cele do mątwy
- Uwolnienie dewelopera platformy i aplikacji od zależności od fizycznego sprzętu do tworzenia i weryfikowania zmian w kodzie.
- Odtwarzanie opartego na platformie działania rzeczywistego urządzenia z naciskiem na wysoką wierność przez utrzymanie ścisłego zgodności z podstawową platformą.
- Obsługuj wszystkie poziomy interfejsów API po 28.
- muszą zapewniać spójny poziom funkcjonalności na różnych poziomach interfejsu API; z działaniem na sprzęcie fizycznym.
Włącz skalę:
- Umożliw uruchamianie wielu urządzeń równolegle.
- Umożliwiają równoległe uruchamianie testów o wysokiej wierności przy niższych kosztach.
Udostępnianie urządzenia z możliwością zmiany formatu, pamięci RAM, procesora itp.
Porównaj mątwę z innymi urządzeniami
Cuttlefish i Emulator Androida
Cuttlefish ma wiele podobieństw do Android Emulator, ale gwarantuje pełną zgodność z platformą Android (czy to czysta platforma AOSP, czy niestandardowa implementacja w Twoim drzewie). W świecie rzeczywistym aplikacji, oznacza to, że Cuttlefish powinna zareagować i interakcji na poziomie systemu operacyjnego, jak w przypadku fizycznego celu telefonicznego stworzonego z tego samego niestandardowego lub czystego systemu operacyjnego Android.
Emulator Androida został stworzony z myślą o ułatwieniu tworzenia aplikacji i zawiera wiele elementów funkcjonalnych, które ułatwiają realizację przypadków użycia przez deweloperów aplikacji na Androida. Może to stanowić problem, jeśli chcesz utworzyć emulator z niestandardowym środowiskiem Android. Jeśli potrzebujesz wirtualnego urządzenia, które będzie reprezentować niestandardowy kod platformy/ramy lub Androida na poziomie drzewa, Cuttlefish będzie idealnym rozwiązaniem. Jest kanoniczne urządzenie do reprezentowania bieżącego stanu rozwoju AOSP.
Mątwa i urządzenie fizyczne
Główne różnice między urządzeniem wirtualnym mątwy a urządzeniem fizycznym są na poziomie abstrakcji sprzętowej (HAL), jak które współpracuje z dowolnym niestandardowym sprzętem. Z wyjątkiem konfiguracji sprzętowych należy spodziewać się funkcjonalnego zachowania równoważnego Mątwa i urządzenie fizyczne.
W jaki sposób może pomóc mątwy?
Możesz korzystać z mątwy tak samo jak z innymi urządzeniami z Androidem urządzenia, które może służyć do debugowania. Zarejestruje się w zwykły sposób. urządzenia za pomocą narzędzia adb i można z niego korzystać jak z urządzenia fizycznego – za pomocą pilota. na komputerze. Przypadki użycia są szerokie i mogą obejmować testowanie aplikacji, niestandardowy system testowanie kompilacji i inne działania.
Cuttlefish dąży do pełnej zgodności z ramami, dlatego można go używać do testowania funkcjonalności frameworków lub aplikacji, w których nie ma zależności od sprzętu, których nie można emulować.
Jak obecnie Cuttlefish jest powszechnie używany do testowania?
Oto kilka typowych zastosowań Cuttlefish do testowania:
- wskaźnik CTS
- Zgodność z platformami
- Testowanie ciągłej integracji
- Niestandardowe pakiety testowe
Czy mogę hostować Cuttlefish w chmurze?
Tak, Cuttlefish natywnie obsługuje Google Cloud i inne usługi chmurowe platformy.
Rozpocznij
Wskazówki dotyczące tworzenia instancji Cuttlefish na podstawie AOSP znajdziesz w artykule Używanie Cuttlefish.