Auf dieser Seite wird die Organisation des Quellcodes für Display Safety beschrieben.
Weitere Informationen finden Sie in der Datei README.md in den einzelnen Verzeichnissen.
Repository klonen
Wenden Sie sich an Ihren Google Technical Account Manager, um Zugriff auf das Repository zu erhalten.
Framework
Dieses Verzeichnis enthält die Kernkomponenten des Display Safety- Frameworks.
| Verzeichnis | Zweck |
|---|---|
api/har-platform-api |
Sammlung von Abstraktionen des Plattformsubsystems zum Erstellen von HAR-Apps (High Verfügbarkeits-Renderer) auf unterstützten Plattformen. |
api/har-types |
Typen der Hardwareabstraktionsschicht. |
asset-manager |
Tools zum Verwalten von Laufzeit-Anwendungs-Assets. |
audio/har-audio |
Crate zur Verarbeitung der HAR-Audiowiedergabe |
customizations |
Enthält APIs, Implementierungen und abgeleitete Makros zum Erstellen von Design Anpassungen aus einer HAR-basierten App. |
derive/har-ui-model-derive |
Prozedurale Makros zum Ableiten allgemeiner Merkmale, die vom HAR-UI-Modell system verwendet werden |
display_list |
Definiert die Strukturen und Komponenten, die eine Szene für das Rendering beschreiben, unabhängig von einem grafischen Backend. |
graphics/external-image |
Eine Crate für externe Bilder. |
graphics/har-gl-context |
Definiert die Graphics Context API und enthält mehrere Implementierungen auf unterstützten Plattformen, sowohl für das Rendering auf dem Bildschirm als auch für das Offscreen-Rendering. |
graphics/impeller |
Sichere Rust-API für Impeller, basierend auf den generierten FFI-Bindungen. |
graphics/impeller-renderer |
Renderer-Implementierung auf hoher Ebene, bei der Impeller als Rendering-Engine im Hintergrund verwendet wird. |
har-layout |
Ein Wrapper für Taffy zum Berechnen des Layouts für Ansichten in HAR. |
har-monitoring |
Toolkit zur Leistungsüberwachung. |
har-utils |
Allgemeine Dienstprogramme. |
harry |
Framework, das als Grundlage für die Entwicklung von HAR-Anwendungen verwendet werden kann |
harry-animation |
Eine Animations-API und -Implementierung für Harry |
squoosh |
Zwischendarstellung und Animations-Engine für Ansichtsparameter in dem Harry-Framework. |
task-scheduler |
Dienstprogramm zum Planen von Aufgaben und Ausführen in einem Hintergrundthread nach einer bestimmten Verzögerung. |
test_suites |
Test-Suites zum Ausführen von Display Safety-Einheitentests |
Vorkompilierte Bibliotheken
Dieses Verzeichnis enthält vorkompilierte Bibliotheken und Assets.
| Verzeichnis | Zweck |
|---|---|
impeller/ |
Vorkompilierte Bibliotheken für die Impeller-Grafik-Engine, nach Betriebssystem und Architektur organisiert. |
impeller-rs-bindgen/ |
Rust-FFI-Bindungen für Impeller. |
impeller-rs-bindgen-wrapper/ |
API-Wrapper für die Impeller-Bindungen. |
Referenz
Dieses Verzeichnis enthält die HAR-Referenzimplementierung, plattformspezifische Implementierungen, Tools und Testartefakte.
| Verzeichnis | Zweck |
|---|---|
audio/tinyalsa-rs |
Rust-FFI-Bindungen für die Tinyalsa-Audiobibliothek. |
audio/tinyalsa-audio |
Bibliothek für die Audiowiedergabe und Geräteverwaltung, basierend auf FFI Bindungen, die von der `tinyalsa-rs`-Crate generiert wurden |
camera/emulated-camera |
Bietet eine Implementierung einer emulierten Kamera mit dem `Camera`-Trait aus `har-platform-api`. |
graphics/gl-helpers |
Dienstprogramm-Crate mit GL-Hilfsfunktionen |
har-user-input-evdev/ |
Implementiert eine grundlegende evdev-basierte Implementierung der Eingabeverarbeitung. Unterstützt Tastatur-, Maus- und Touch-Ereignisse (Single- und Multitouch) |
harry-app/ |
Referenzimplementierung für eine portable HAR-App (Hochverfügbarkeit-Renderer) die mit dem `harry`-Framework erstellt wurde. |
harry-app-core/ |
Kernanwendungslogik, Statusverwaltung und UI-Modelldefinitionen für die `harry-app`-Referenz-App. |
harry-app-utils/ |
Dienstprogrammfunktionen und Hilfsmodule für die `harry-app`-Referenz-App. |
harry-control-api/ |
Steuerungs-APIs für die `harry-app`-Referenz-App. |
harry-grpcio-server/ |
gRPC-Server (basiert auf grpcio). Wird nur verwendet, wenn die Android Version mit Soong erstellt wird |
harry-tonic-server/ |
gRPC-Server (basiert auf Tonic). Wird nur verwendet, wenn die Linux Version mit Cargo erstellt wird. |
harry-vehicle-data-grpc/ |
gRPC-Code für Fahrzeugdaten, der aus den Proto-Dateien für Fahrzeugdaten generiert wurde. |
i18n/harry-app-i18n |
Internationalisierungs- und Lokalisierungsdienste für HAR. |
i18n/i18n-protos |
Definiert Protobuf-Nachrichten und Rust-Codegenerierung für i18n-Daten. |
libyuv-rs/ |
Rust-Bindungen für libyuv. |
platforms/har-log |
Definiert Protokollierungs- und Tracing-Implementierungen für jede unterstützte Plattform. |
platforms/har-looper-headless |
Eine plattformunabhängige Looper-Implementierung für das Headless-Rendering. |
platforms/har-platform-android |
Bietet Android-spezifische Implementierungen der `har-platform-api` Plattformabstraktionen. |
platforms/har-platform-linux |
Bietet Linux-spezifische Implementierungen der `har-platform-api` Plattformabstraktionen. |
platforms/harry-app-platform-specific |
Die bedingte Kompilierungsbrücke für harry-app, die die richtige Implementierung basierend auf der ausgewählten Plattform auswählt. |
safety-monitor |
Implementierung eines Referenz-Sicherheitsmonitors für Android. |
screencap |
Dienstprogramm zur Bildschirmaufnahme zum Extrahieren von Screenshots direkt aus DRM Framepuffern |
vehicle-data-scripts |
Strukturen und Logik zum Erstellen von skriptbasierten Fahrzeugdatensequenzen |
Dienst
Dieses Verzeichnis enthält Android-Dienste im Zusammenhang mit Display Safety.
| Verzeichnis | Zweck |
|---|---|
ds-cvd-toolkit |
Ein Befehlszeilentool für Display Safety, mit dem mehrere Cuttlefish-Geräte gestartet werden können. |
emulator |
Emulatorunterstützung für Laufzeit-Ressourcen-Overlays |
har-grpc-services |
Enthält die Proto-Definitionen, die in der Referenzimplementierung verwendet werden, um Kommunikationskanäle zwischen der HAR-App und DriverUI- und Fahrzeugdatendiensten einzurichten. |
har-sdv-service* |
Bietet ein SDV-Dienstpaket, mit dem Datendienste für HAR bereitgestellt werden, wobei der von Proto-Dateien generierte Code verwendet wird. |
har-tracing-common |
Dienste zur Leistungsverfolgung für HAR |
harry-prebuilt/ |
Vorkompilierte Harry-Komponenten (Assets, Konfigurationen usw.) |
ivi/ |
Komponenten im Zusammenhang mit Android IVI (In-Vehicle Infotainment) |
libhar_graphics/ |
C++-Grafikbibliothek für HAR-Dienste. |
pdk/ |
PDK-Versionsmetadaten |
product/ |
Produktspezifische Konfigurationen und Assets |
SdvCameraPreviewApp |
Kameravorschau-App für SDV. |
vehicledata |
Implementiert einen SDV-Datentunnel-Publisher für Fahrzeugdaten mit gRPC. |
Utils
Dieses Verzeichnis enthält allgemeine Dienstprogramme für Referenzimplementierungen und Tests.
| Verzeichnis | Zweck |
|---|---|
asset-manager-cli |
Bietet eine Befehlszeilenschnittstelle zum Generieren von Asset-Paketen. |
dcf-info/ |
Tool zum Extrahieren von Metadaten aus einem DCF (Serialized Design Compose Figma Dokument). |
figma-utils |
Bietet einen Befehlszeilen-Wrapper für `figma_import` zum Abrufen serialisierter Figma-Dokumente. |
gauge-test |
App zum Testen und Demonstrieren von UI Elementen für Zifferblätter und Messgeräte. |
gui-playground-app |
Sandbox-Umgebung zum Testen neuer UI- und Animationsfunktionen. |
har-platform-tests |
Suite von Integrationstests für plattformspezifische Trait-Implementierungen. |
har-rendering-parity |
Visuelles Tool zum Überprüfen der Rendering-Parität zwischen HAR, DesignCompose und Figma. |
harry-rpc-client |
Bietet eine Befehlszeilenschnittstelle zum Senden von Befehlen an Harry über RPC. |
human-readable-report-generator |
Dienstprogramm zur visuellen Überprüfung von Sicherheitsartefakten. |
ktx-utils |
Bietet Dienstprogramme zum Codieren und Decodieren von Khronos KTX 2.0-Textur dateien. |
list-test-app |
Dient als Test- und Demonstrationsumgebung für die Listenverwaltung in HAR. |
transfer-localizations |
Dienstprogramm zum Konvertieren von Android-XML-Lokalisierungsdateien in das HAR-Proto Format. |
variable-density-analyzer |
Analysiert ein Figma-Dokument und berechnet das Verhältnis von Knoten zu Designvariablen. |