Wirtualne urządzenia z Androidem (mątwy)

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.