本頁說明 Display Safety 原始碼的結構。
詳情請參閱各目錄中的 README.md。
複製存放區
如要存取存放區,請與 Google 技術支援客戶經理聯絡。
架構
這個目錄包含核心螢幕安全架構元件。
| 目錄 | 目的 |
|---|---|
api/har-platform-api |
平台子系統抽象化集合,可在支援的平台上建構高可用性轉譯器 (HAR) 應用程式。 |
api/har-types |
硬體抽象層類型。 |
asset-manager |
管理執行階段應用程式資產的工具。 |
audio/har-audio |
用於處理 HAR 音訊播放的 Crate |
customizations |
包含 API、實作項目和衍生巨集,可從以 HAR 為基礎的應用程式產生設計自訂項目。 |
derive/har-ui-model-derive |
程序巨集,用於衍生 HAR UI 模型系統使用的常見特徵 |
display_list |
定義描述要算繪場景的結構和元件,與任何圖形後端分離。 |
graphics/external-image |
用於不明外部圖片表示法的 Crate。 |
graphics/har-gl-context |
定義圖形內容 API,並在支援的平台上納入多種實作方式,適用於顯示和螢幕外算繪。 |
graphics/impeller |
Impeller 的安全 Rust API,以產生的 FFI 繫結為基礎建構。 |
graphics/impeller-renderer |
使用 Impeller 做為後端算繪引擎,實作高階算繪器。 |
har-layout |
Taffy 的包裝函式,用於計算 HAR 中檢視區塊的版面配置。 |
har-monitoring |
效能監控工具包。 |
har-utils |
常見公用程式。 |
harry |
做為建構 HAR 應用程式基礎的架構 |
harry-animation |
Harry 的動畫 API 和實作 |
squoosh |
Harry 架構中檢視區塊參數的中間表示法和動畫引擎。 |
task-scheduler |
這項公用程式可安排工作,並在指定延遲時間後,於背景執行緒中執行工作。 |
test_suites |
執行螢幕安全單元測試的測試套件 |
預先建構
這個目錄包含預先建構的程式庫和資產。
| 目錄 | 目的 |
|---|---|
impeller/ |
Impeller 圖形引擎的預建程式庫,依作業系統和架構分類。 |
impeller-rs-bindgen/ |
Impeller 的 Rust FFI 繫結。 |
impeller-rs-bindgen-wrapper/ |
Impeller 繫結的 API 包裝函式。 |
參考資料
這個目錄包含 HAR 參考實作項目、平台專屬實作項目、工具和測試構件。
| 目錄 | 目的 |
|---|---|
audio/tinyalsa-rs |
Tinyalsa 音訊程式庫的 Rust FFI 繫結。 |
audio/tinyalsa-audio |
音訊播放和裝置管理程式庫,以 `tinyalsa-rs` Crate 產生的 FFI 繫結為基礎 |
camera/emulated-camera |
使用 `har-platform-api` 的 `Camera` 特徵,實作模擬攝影機。 |
graphics/gl-helpers |
包含 GL 輔助函式的公用程式 Crate |
har-user-input-evdev/ |
實作以 evdev 為基礎的基本輸入處理實作項目。 支援鍵盤、滑鼠和觸控 (單點和多點觸控) 事件 |
harry-app/ |
使用 `harry` 架構建構的可攜式高可用性轉譯器 (HAR) 應用程式參考實作。 |
harry-app-core/ |
`harry-app` 參考應用程式的核心應用程式邏輯、狀態管理和 UI 模型定義。 |
harry-app-utils/ |
`harry-app` 參考應用程式的公用程式函式和輔助模組。 |
harry-control-api/ |
`harry-app` 參考應用程式的控制項 API。 |
harry-grpcio-server/ |
gRPC 伺服器 (以 grpcio 為基礎)。只有在使用 Soong 建構 Android 版本時,才會用到這個伺服器 |
harry-tonic-server/ |
gRPC 伺服器 (以音調為基礎)。只有在使用 Cargo 建構 Linux 版本時,才會用到這個伺服器。 |
harry-vehicle-data-grpc/ |
從車輛資料 proto 檔案產生的車輛資料 gRPC 程式碼。 |
i18n/harry-app-i18n |
HAR 的國際化和本地化服務。 |
i18n/i18n-protos |
定義 protobuf 訊息,以及 i18n 資料的 Rust 程式碼生成作業。 |
libyuv-rs/ |
libyuv 的 Rust 繫結。 |
platforms/har-log |
定義每個支援平台的記錄和追蹤實作項目。 |
platforms/har-looper-headless |
與平台無關的循環器實作,適用於無頭算繪。 |
platforms/har-platform-android |
提供 `har-platform-api` 平台抽象概念的 Android 專屬實作。 |
platforms/har-platform-linux |
提供 `har-platform-api` 平台抽象概念的 Linux 專屬實作。 |
platforms/harry-app-platform-specific |
harry-app 的條件式編譯橋接器,根據所選平台選取正確的實作方式。 |
safety-monitor |
為 Android 實作參考安全監控器。 |
screencap |
螢幕擷取公用程式,可直接從 DRM 幀緩衝區擷取螢幕截圖 |
vehicle-data-scripts |
建立腳本化車輛資料序列的結構和邏輯 |
服務
這個目錄包含與螢幕安全相關的 Android 服務。
| 目錄 | 目的 |
|---|---|
ds-cvd-toolkit |
多媒體安全防護的指令列工具,可啟動多個 Cuttlefish 裝置。 |
emulator |
模擬器支援執行階段資源覆蓋 |
har-grpc-services |
包含參考實作中使用的 Proto 定義,用於在 HAR 應用程式、DriverUI 和車輛資料服務之間建立通訊管道。 |
har-sdv-service* |
提供 SDV 服務套件,用於透過 proto 檔案產生的程式碼,為 HAR 提供資料服務 |
har-tracing-common |
HAR 的效能追蹤服務 |
harry-prebuilt/ |
預先建構的 Harry 元件 (資產、設定等) |
ivi/ |
與 Android IVI (車載資訊娛樂) 相關的元件 |
libhar_graphics/ |
適用於 HAR 服務的 C++ 圖像程式庫。 |
pdk/ |
PDK 發行中繼資料 |
product/ |
產品專屬設定和素材資源 |
SdvCameraPreviewApp |
適用於 SDV 的攝影機預覽應用程式。 |
vehicledata |
使用 gRPC 實作車輛資料 SDV 資料通道發布者 |
Utils
這個目錄包含參考實作和測試的一般公用程式。
| 目錄 | 目的 |
|---|---|
asset-manager-cli |
提供指令列介面,用於產生資產包。 |
dcf-info/ |
這項工具可從 DCF (序列化設計 Compose Figma 文件) 擷取中繼資料。 |
figma-utils |
提供 `figma_import` 的指令列包裝函式,用於擷取序列化 Figma 文件。 |
gauge-test |
這款應用程式專為測試及展示撥號和儀表 UI 元素而設計。 |
gui-playground-app |
沙箱環境,可測試新的 UI 和動畫功能。 |
har-platform-tests |
平台專屬特徵實作的整合測試套件。 |
har-rendering-parity |
視覺化工具,可驗證 HAR、DesignCompose 和 Figma 之間的算繪同位。 |
harry-rpc-client |
提供指令列介面,可透過 RPC 將指令傳送至 Harry。 |
human-readable-report-generator |
用於以視覺化方式驗證安全構件的公用程式。 |
ktx-utils |
提供公用程式,用於編碼和解碼 Khronos KTX 2.0 紋理檔案。 |
list-test-app |
做為 HAR 中清單管理的測試和示範環境。 |
transfer-localizations |
這項公用程式可將 Android XML 本地化檔案轉換為 HAR Proto 格式。 |
variable-density-analyzer |
分析 Figma 文件,並計算節點與設計變數的比率。 |