CameraX 總覽 Android Jetpack 的一項工具。

CameraX 是一種 Jetpack 程式庫,旨在簡化相機應用程式的開發作業。如要建構新的應用程式,建議先從 CameraX 開始著手。這個程式庫提供一致且易於使用的 API,適用於大多數 Android 裝置,而且具備 Android 5.0 (API 級別 21) 的回溯相容性。如果要從 Camera1 遷移應用程式,請參閱「從 Camera1 到 CameraX 的遷移指南」。

主要優點

CameraX 可透過下列幾個主要方式改善開發人員體驗。

相容於多種裝置

CameraX 支援搭載 Android 5.0 (API 級別 21) 以上版本的裝置,占現有 Android 裝置的 98% 以上。

使用方便

CameraX 以用途為主軸,讓您能專心處理需要完成的工作,無須管理個別裝置的細微差異,並支援下列幾種最常見的相機用途:

跨裝置的一致性

圖 2. 自動化 CameraX 測試研究室可確保多種裝置類型與製造商的 API 體驗一致。

維持相機行為的一致性並非易事,必須考慮長寬比、螢幕方向、旋轉、預覽尺寸和圖片大小等因素,而 CameraX 讓這些基本行為能夠順利運作。

我們負責維護的自動化 CameraX 測試研究室,可測試多種裝置及所有作業系統版本 (Android 5.0 以上) 的相機行為。這些測試會持續執行,找出各種問題並加以修正。

相機擴充功能

圖 3:使用 CameraX 的散景 (肖像) 效果拍攝的相片。

CameraX 提供選用的 Extensions API,您只須加上兩行程式碼,就能使用與裝置原生相機應用程式相同的功能與特色。

這些擴充功能包括散景 (肖像)、高動態範圍 (HDR)、夜間模式和修容功能,但前提是裝置必須支援這些功能。

個案研究

如要瞭解 CameraX 如何簡化 Monzo 的開發作業,請參閱個案研究

說明文件

其他資源

如要進一步瞭解 CameraX,請參閱下列其他資源。

程式碼研究室

  • 開始使用 CameraX
  • 程式碼範例

  • CameraX 範例應用程式