Cuttlefish to konfigurowalne wirtualne urządzenie z Androidem, które może działać zdalnie (przy użyciu usług chmurowych innych firm, takich jak Google Cloud Engine) i lokalnie (na komputerach z systemem Linux x86 i ARM64).
Cele związane z Cuttlefish
- Uwolnienie platformy i dewelopera aplikacji od zależności od fizycznego sprzętu podczas opracowywania i weryfikowania zmian w kodzie.
- Odtwarzaj zachowanie prawdziwego urządzenia oparte na platformie, koncentrując się na wysokiej wierności, poprzez ścisłe dopasowanie do podstawowej platformy.
- Obsługa wszystkich poziomów API powyżej 28.
- Zapewnij spójny poziom funkcjonalności na różnych poziomach interfejsu API, zgodny z zachowaniem na sprzęcie fizycznym.
Włącz skalę:
- Umożliwia równoległe działanie wielu urządzeń.
- Umożliwia równoległe wykonywanie testów z wysoką wiernością przy niższym koszcie wejścia.
zapewniać konfigurowalne urządzenie z możliwością dostosowywania takich elementów jak format, pamięć RAM i procesory;
Porównanie Cuttlefish z innymi urządzeniami
W tej sekcji porównujemy Cuttlefish z innymi urządzeniami.
Cuttlefish i Android Emulator
Jest wiele podobieństw do emulatora Androida, ale Cuttlefish jest w pełni zgodny z platformą Androida (niezależnie od tego, czy jest to czysta wersja AOSP, czy niestandardowa implementacja w Twoim drzewie). W praktyce oznacza to, że Cuttlefish powinien reagować na Twoje interakcje na poziomie systemu operacyjnego tak samo jak fizyczny telefon docelowy zbudowany na podstawie tego samego dostosowanego lub czystego kodu źródłowego systemu operacyjnego Android.
Android Emulator został stworzony z myślą o ułatwieniu tworzenia aplikacji i zawiera wiele funkcjonalnych punktów zaczepienia, które są przydatne dla programistów aplikacji na Androida. Może to stanowić problem, jeśli chcesz utworzyć emulator z dostosowaną platformą Androida. Jeśli potrzebujesz urządzenia wirtualnego, które reprezentuje Twoją platformę niestandardową lub kod frameworka albo najnowszą wersję Androida, Cuttlefish jest idealnym rozwiązaniem wirtualnym. Cuttlefish to kanoniczne urządzenie reprezentujące bieżący stan rozwoju AOSP.
Cuttlefish i urządzenie fizyczne
Główne różnice między wirtualnym urządzeniem Cuttlefish a urządzeniem fizycznym występują na poziomie warstwy abstrakcji sprzętu (HAL) oraz w przypadku oprogramowania, które wchodzi w interakcję z dowolnym sprzętem niestandardowym. Z wyjątkiem implementacji specyficznych dla sprzętu, Cuttlefish i urządzenie fizyczne powinny działać w podobny sposób.
Jak Cuttlefish może pomóc
Z Cuttlefish możesz korzystać tak samo jak z każdego innego urządzenia z Androidem, którego używasz do debugowania. Rejestruje się jako zwykłe urządzenie w adb i możesz z nim wchodzić w interakcje jak z urządzeniem fizycznym za pomocą zdalnego pulpitu. Zastosowania są szerokie i mogą obejmować testowanie aplikacji, testowanie niestandardowych kompilacji systemowych i inne.
Cuttlefish zapewnia pełną wierność platformy, dlatego można go używać do testów funkcjonalnych platformy lub aplikacji, w których nie ma zależności od sprzętu fizycznego, których nie można emulować.
Jak obecnie wykorzystuje się Cuttlefish do testowania
Oto kilka typowych zastosowań Cuttlefish do testowania:
- CTS
- Zgodność z platformą
- Testowanie w trybie ciągłej integracji
- Niestandardowe zestawy testów
Hostowanie Cuttlefish w chmurze
Cuttlefish natywnie obsługuje Google Cloud, a w przyszłości planujemy wprowadzić obsługę innych platform chmurowych.
Rozpocznij
Wskazówki dotyczące tworzenia instancji Cuttlefish na podstawie AOSP znajdziesz w artykule Korzystanie z Cuttlefish.