Virtuelle Android-Geräte von Sepia

Cuttlefish ist ein konfigurierbares virtuelles Android-Gerät, das sowohl aus der Ferne (mit Cloud-Angeboten von Drittanbietern wie der Google Cloud Engine) als auch lokal (auf Linux-x86- und ARM64-Maschinen) ausgeführt werden kann.

Sepien-Ziele

  • Plattform- und App-Entwickler sind nicht mehr auf physische Hardware angewiesen, um Codeänderungen zu entwickeln und zu validieren.
  • Achten Sie darauf, dass das frameworkbasierte Verhalten eines echten Geräts mit Schwerpunkt auf High Fidelity nachgebildet wird, indem Sie das Kern-Framework genau einhalten.
  • Alle API-Levels nach 28 werden unterstützt.
  • Konsistente Funktionen auf allen API-Ebenen bereitstellen, mit dem Verhalten auf physischer Hardware.
  • Waage aktivieren:

    • Sie ermöglichen die parallele Ausführung mehrerer Geräte.
    • Gleichzeitige Testausführung mit hoher Realitätstreue zu geringeren Einstiegskosten ermöglichen.
  • Bieten Sie ein konfigurierbares Gerät mit der Möglichkeit zur Anpassung von Formfaktor, RAM, CPUs usw.

Cuttlefish mit anderen Geräten vergleichen

Cuttlefish und Android-Emulator

Es gibt viele Ähnlichkeiten mit dem Android-Emulator, aber Cuttlefish garantiert eine vollständige Übereinstimmung mit dem Android-Framework, unabhängig davon, ob es sich um reines AOSP oder eine benutzerdefinierte Implementierung in Ihrem eigenen Tree handelt. In der Praxis bedeutet das, dass Cuttlefish auf Betriebssystemebene auf Ihre Interaktionen reagieren sollte, genau wie ein physisches Smartphone-Ziel, das mit derselben benutzerdefinierten oder reinen Android-Betriebssystemquelle erstellt wurde.

Der Android-Emulator wurde entwickelt, um die App-Entwicklung zu vereinfachen. Er enthält viele funktionale Funktionen, die den Anwendungsfällen von Android-App-Entwicklern entsprechen. Das kann zu Problemen führen, wenn Sie einen Emulator mit Ihrem benutzerdefinierten Android-Framework erstellen möchten. Wenn Sie eine virtuelles Gerät, das für Ihre benutzerdefinierte Plattform bzw. Ihr benutzerdefiniertes Framework repräsentativ ist oder Android verwenden, ist Cuttlefish eine ideale virtuelle Option. Es ist Das kanonische Gerät zur Darstellung des aktuellen Stands der AOSP-Entwicklung.

Sepia und physisches Gerät

Die Hauptunterschiede zwischen einem virtuellen Cuttlefish-Gerät und Ihrem physischen Gerät liegen auf der Ebene der Hardwareabstraktionsschicht (HAL) sowie bei Software, die mit benutzerdefinierter Hardware interagiert. Mit Ausnahme von hardwarespezifischen Implementierungen sollten Sie ein funktional vergleichbares Verhalten zwischen Cuttlefish und einem physischen Gerät erwarten.

Wie kann Cuttlefish helfen?

Sie können mit Cuttlefish genauso interagieren wie mit jedem anderen Android-Gerät, das Sie zum Debuggen verwenden. Sie registriert sich als normales und wie mit einem physischen Gerät per Remote-Zugriff interagieren. Desktop-Computer. Die Anwendungsfälle sind vielfältig und können App-Tests, Tests für benutzerdefinierte System-Builds und mehr umfassen.

Da Cuttlefish eine vollständige Genauigkeit des Frameworks anstrebt, kann er für Funktionstests Ihres Frameworks oder Ihrer Apps, wo es keine physische Hardwareabhängigkeiten, die nicht emuliert werden können.

Wie wird Cuttlefish heute häufig für Tests verwendet?

Zu den gängigen Testanwendungen von Sepien gehören:

  • Logo: CTS
  • Einhaltung des Frameworks
  • Continuous Integration-Tests
  • Benutzerdefinierte Test-Suites

Kann ich Tintenfische in der Cloud hosten?

Ja, Cuttlefish unterstützt nativ Google Cloud. Die Unterstützung anderer Cloud-Plattformen ist geplant.

Erste Schritte

Eine Anleitung zum Erstellen einer Cuttlefish-Instanz auf Basis von AOSP finden Sie unter Cuttlefish verwenden.