Sicherheitscode-Struktur anzeigen

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.