Wirtualne urządzenia z Androidem (mątwy)

Cuttlefish to konfigurowalne wirtualne urządzenie z Androidem, które może działać zarówno zdalnie (z użyciem rozwiązań chmurowych innych firm, np. Google Cloud Engine), jak i lokalnie (na komputerach z systemem Linux x86 i ARM64).

Cele do mątwy

  • Platforma i deweloper aplikacji nie będą uzależnione od fizycznego sprzętu w zakresie opracowywania i weryfikowania zmian w kodzie.
  • Powiel działanie oparte na platformie, skupiając się na wysokiej wierności, utrzymując ścisłą zgodność z podstawową platformą.
  • Obsługuj wszystkie poziomy interfejsów API po 28.
  • Zapewnij spójny poziom funkcji na różnych poziomach interfejsu API zgodny z działaniem na sprzęcie fizycznym.
  • Włącz skalę:

    • Umożliwiają równoległe uruchamianie kilku urządzeń.
    • Włącz równoległe wykonywanie testów z wysoką wiernością przy niższym koszcie wprowadzania.
  • Udostępnij konfigurowalne urządzenie z możliwością dostosowania formatu, pamięci RAM, procesora itp.

Porównaj mątwę z innymi urządzeniami

Mątwa i emulator Androida

Emulator Androida ma wiele podobieństw, ale Cuttlefish gwarantuje pełną zgodność z platformą Androida (niezależnie od tego, czy jest to zwykły AOSP, czy niestandardowa implementacja we własnym drzewie). W praktyce oznacza to, że Cuttlefish będzie reagować na Twoje interakcje na poziomie systemu operacyjnego tak samo jak w przypadku fizycznego celu telefonu stworzonego na podstawie tego samego niestandardowego źródła systemu operacyjnego Android.

Emulator Androida powstał z myślą o ułatwianiu tworzenia aplikacji. Zawiera wiele przydatnych rzeczy, które przydadzą się w przypadku deweloperów aplikacji na Androida. Może się to wiązać z trudnościami, jeśli chcesz stworzyć emulator przy użyciu własnej platformy Androida. Jeśli potrzebujesz urządzenia wirtualnego, które będzie reprezentatywne dla niestandardowego kodu platformy, ramówki lub precyzyjnego Androida, Cuttlefish to idealne rozwiązanie wirtualne. Jest to kanoniczne urządzenie do przedstawiania bieżącego stanu programowania AOSP.

Mątwa i urządzenie fizyczne

Podstawowe różnice między urządzeniem wirtualnym Cuttlefish a urządzeniem fizycznym dotyczą poziomu HAL oraz oprogramowania, które współpracuje z dowolnym niestandardowym sprzętem. Oprócz implementacji sprzętowych możesz oczekiwać podobnego działania mątwy i urządzenia fizycznego.

W czym może pomóc mątwy?

Z Cuttlefish możesz korzystać tak samo jak z innym urządzeniem z Androidem, którego możesz używać do debugowania. Przez adb zarejestruje się jako zwykłe urządzenie i będzie można z niego korzystać jak z fizycznego urządzenia przez komputer zdalny. Przypadki użycia są szerokie – mogą obejmować testowanie aplikacji, testowanie niestandardowych kompilacji systemu itp.

Cuttlefish dąży do pełnej wierności platformy, więc może być wykorzystywana do testów funkcjonalnych platformy lub aplikacji, w których nie ma fizycznych zależności sprzętowych, których nie da się naśladować.

Jak mątwy jest dziś powszechnie wykorzystywana do testów?

Oto niektóre typowe zastosowania mątwy 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, a planowane jest wprowadzenie obsługi innych platform chmurowych.

Rozpocznij

Wskazówki dotyczące tworzenia instancji Cuttlefish na podstawie AOSP znajdziesz w sekcji Korzystanie z Cuttlefish.