Mątwy Wirtualne urządzenia z Androidem

Mątwy to konfigurowalne wirtualne urządzenie z Androidem, które może działać zarówno zdalnie (przy użyciu ofert chmurowych innych firm, takich jak Google Cloud Engine), jak i lokalnie (na komputerach z systemem Linux x86).

Cele mątwy

  • Uwolnij twórcę platformy i aplikacji od uzależnienia od sprzętu fizycznego przy opracowywaniu i sprawdzaniu zmian w kodzie.
  • Replikuj oparte na frameworku zachowanie prawdziwego urządzenia, koncentrując się na wysokiej wierności , zachowując ścisłe dopasowanie do podstawowej struktury.
  • Obsługa wszystkich poziomów API po 28.
  • Zapewnij spójny poziom funkcjonalności na wszystkich poziomach interfejsu API, dostosowany do zachowania na sprzęcie fizycznym.
  • Włącz skalę:

    • Zapewnij możliwość równoległego uruchamiania wielu urządzeń.
    • Umożliwiaj równoczesne wykonywanie testów z wysoką wiernością przy niższych kosztach wejścia.
  • Zapewnij konfigurowalne urządzenie z możliwością dostosowania współczynnika kształtu, pamięci RAM, procesorów itp.

Porównaj mątwy z innymi urządzeniami

Mątwa i emulator Androida

Istnieje wiele podobieństw z emulatorem Androida , ale Mątwa gwarantuje pełną wierność frameworkowi Android (niezależnie od tego, czy jest to czysty AOSP, czy niestandardowa implementacja we własnym drzewie). W rzeczywistych zastosowaniach oznacza to, że należy oczekiwać, że mątwy będą reagować na Twoje interakcje na poziomie systemu operacyjnego, tak jak fizyczny telefon docelowy zbudowany z tego samego dostosowanego lub czystego źródła systemu operacyjnego Android.

Emulator Androida został zbudowany wokół przypadków użycia, aby ułatwić tworzenie aplikacji i zawiera wiele funkcjonalnych haczyków, które odpowiadają przypadkom użycia deweloperów aplikacji na Androida. Może to stanowić wyzwanie, jeśli chcesz zbudować emulator z dostosowanym środowiskiem Androida. Jeśli potrzebujesz urządzenia wirtualnego, które będzie reprezentatywne dla Twojej niestandardowej platformy/kodu frameworka lub Androida na wierzchołku drzewa, to Mątwa jest idealną opcją wirtualną. Jest to kanoniczne narzędzie reprezentujące aktualny stan rozwoju AOSP.

Mątwa i urządzenie fizyczne

Podstawowe różnice między urządzeniem wirtualnym mątwy a urządzeniem fizycznym dotyczą poziomu warstwy abstrakcji sprzętu (HAL) oraz oprogramowania współpracującego z dowolnym niestandardowym sprzętem. Z wyjątkiem implementacji specyficznych dla sprzętu, należy spodziewać się funkcjonalnie równoważnego zachowania między mątwą a urządzeniem fizycznym.

Jak mątwa może pomóc?

Z Mątwą możesz wchodzić w interakcję tak samo, jak z każdym innym urządzeniem z Androidem, którego możesz używać do debugowania. Rejestruje się jako normalne urządzenie poprzez adb i można z nim wchodzić w interakcję jak z urządzeniem fizycznym za pośrednictwem zdalnego pulpitu. Przypadki użycia są szerokie i mogą obejmować testowanie aplikacji, testowanie niestandardowej kompilacji systemu i nie tylko.

Ponieważ Cuttlefish dąży do pełnej wierności frameworka, można go używać do testowania funkcjonalnego frameworku i/lub aplikacji, w których nie ma fizycznych zależności sprzętowych niemożliwych do emulacji.

W jaki sposób mątwy są dziś powszechnie wykorzystywane do testów?

Niektóre typowe zastosowania mątwy do testowania obejmują:

  • CTS
  • Zgodność ramowa
  • Ciągłe testowanie integracyjne
  • Niestandardowe zestawy testów

Czy mogę hostować mątwy w chmurze?

Tak, Cuttlefish natywnie obsługuje Google Cloud i planowana jest obsługa innych platform chmurowych.

Rozpoczęcie

Aby uzyskać wskazówki dotyczące tworzenia instancji mątwy opartej na AOSP, zobacz Korzystanie z mątwy .

,

Mątwy to konfigurowalne wirtualne urządzenie z Androidem, które może działać zarówno zdalnie (przy użyciu ofert chmurowych innych firm, takich jak Google Cloud Engine), jak i lokalnie (na komputerach z systemem Linux x86).

Cele mątwy

  • Uwolnij twórcę platformy i aplikacji od uzależnienia od sprzętu fizycznego przy opracowywaniu i sprawdzaniu zmian w kodzie.
  • Replikuj oparte na frameworku zachowanie prawdziwego urządzenia, koncentrując się na wysokiej wierności , zachowując ścisłe dopasowanie do podstawowej struktury.
  • Obsługa wszystkich poziomów API po 28.
  • Zapewnij spójny poziom funkcjonalności na wszystkich poziomach interfejsu API, dostosowany do zachowania na sprzęcie fizycznym.
  • Włącz skalę:

    • Zapewnij możliwość równoległego uruchamiania wielu urządzeń.
    • Umożliwiaj równoczesne wykonywanie testów z wysoką wiernością przy niższych kosztach wejścia.
  • Zapewnij konfigurowalne urządzenie z możliwością dostosowania współczynnika kształtu, pamięci RAM, procesorów itp.

Porównaj mątwy z innymi urządzeniami

Mątwa i emulator Androida

Istnieje wiele podobieństw z emulatorem Androida , ale Mątwa gwarantuje pełną wierność frameworkowi Android (niezależnie od tego, czy jest to czysty AOSP, czy niestandardowa implementacja we własnym drzewie). W rzeczywistych zastosowaniach oznacza to, że należy oczekiwać, że mątwy będą reagować na Twoje interakcje na poziomie systemu operacyjnego, tak jak fizyczny telefon docelowy zbudowany z tego samego dostosowanego lub czystego źródła systemu operacyjnego Android.

Emulator Androida został zbudowany wokół przypadków użycia, aby ułatwić tworzenie aplikacji i zawiera wiele funkcjonalnych haczyków, które odpowiadają przypadkom użycia deweloperów aplikacji na Androida. Może to stanowić wyzwanie, jeśli chcesz zbudować emulator z dostosowanym środowiskiem Androida. Jeśli potrzebujesz urządzenia wirtualnego, które będzie reprezentatywne dla Twojej niestandardowej platformy/kodu frameworka lub Androida na wierzchołku drzewa, to Mątwa jest idealną opcją wirtualną. Jest to kanoniczne narzędzie reprezentujące aktualny stan rozwoju AOSP.

Mątwa i urządzenie fizyczne

Podstawowe różnice między urządzeniem wirtualnym mątwy a urządzeniem fizycznym dotyczą poziomu warstwy abstrakcji sprzętu (HAL) oraz oprogramowania współpracującego z dowolnym niestandardowym sprzętem. Z wyjątkiem implementacji specyficznych dla sprzętu, należy spodziewać się funkcjonalnie równoważnego zachowania między mątwą a urządzeniem fizycznym.

Jak mątwa może pomóc?

Z Mątwą możesz wchodzić w interakcję tak samo, jak z każdym innym urządzeniem z Androidem, którego możesz używać do debugowania. Rejestruje się jako normalne urządzenie poprzez adb i można z nim wchodzić w interakcję jak z urządzeniem fizycznym za pośrednictwem zdalnego pulpitu. Przypadki użycia są szerokie i mogą obejmować testowanie aplikacji, testowanie niestandardowej kompilacji systemu i nie tylko.

Ponieważ Cuttlefish dąży do pełnej wierności frameworka, można go używać do testowania funkcjonalnego frameworku i/lub aplikacji, w których nie ma fizycznych zależności sprzętowych niemożliwych do emulacji.

W jaki sposób mątwy są dziś powszechnie wykorzystywane do testów?

Niektóre typowe zastosowania mątwy do testowania obejmują:

  • CTS
  • Zgodność ramowa
  • Ciągłe testowanie integracyjne
  • Niestandardowe zestawy testów

Czy mogę hostować mątwy w chmurze?

Tak, Cuttlefish natywnie obsługuje Google Cloud i planowana jest obsługa innych platform chmurowych.

Rozpoczęcie

Aby uzyskać wskazówki dotyczące tworzenia instancji mątwy opartej na AOSP, zobacz Korzystanie z mątwy .