Struktur des Sicherheitscodes 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-Ansprechpartner, 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 zum Verarbeiten 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 Ein Crate für externe Bilddarstellungen.
graphics/har-gl-context Definiert die Grafikkontext-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, die auf den generierten FFI-Bindungen basiert.
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, die auf FFI Bindungen basiert, die vom tinyalsa-rs Crate generiert wurden.
camera/emulated-camera Bietet eine Implementierung einer emulierten Kamera mit dem Camera Merkmal 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 Referenz-App harry-app.
harry-control-api/ Steuerungs-APIs für die Referenz-App harry-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 Framebuffern.
vehicle-data-scripts Strukturen und Logik zum Erstellen von Skriptsequenzen für Fahrzeugdaten.

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 den 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 wie Assets und Konfigurationen.
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 Merkmalimplementierungen.
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 mit 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.