Google은 흑인 공동체를 위한 인종 간 평등을 진전시키기 위해 노력하고 있습니다. Google에서 어떤 노력을 하고 있는지 확인하세요.

CameraX 개요   Android Jetpack의 구성요소.

CameraX는 카메라 앱 개발을 더 쉽게 할 수 있도록 만들어진 Jetpack 지원 라이브러리입니다. 대부분의 Android 기기에서 작동하는 일관성 있고 사용하기 쉬운 API 노출 영역을 제공하며 Android 5.0(API 수준 21)까지 호환됩니다.

CameraX는 camera2의 기능을 활용하면서 수명 주기를 인식하는 더 단순한 사용 사례 기반의 방식을 사용합니다. 또한 기기 호환성 문제를 해결해 주므로 코드베이스에 기기별 코드를 포함할 필요가 없습니다. 이 기능을 사용하면 앱에 카메라 기능을 추가할 때 작성해야 하는 코드의 양이 줄어듭니다.

마지막으로 개발자는 CameraX를 통해 단 두 줄의 코드로 사전 설치된 카메라 앱에서 제공하는 것과 동일한 카메라 환경과 기능을 활용할 수 있습니다. CameraX 확장 프로그램은 지원되는 기기에 효과를 추가할 수 있게 해주는 선택적 부가기능입니다. 이러한 효과로는 인물 사진, HDR, 야간, 뷰티 등이 있습니다.

핵심 CameraX 라이브러리는 베타 단계입니다. 베타 릴리스는 기능적으로 안정적이며 완전한 기능의 API 노출 영역을 포함합니다. 프로덕션 환경에서 사용할 수 있지만 버그가 포함되어 있을 수 있습니다.

각 라이브러리의 상태에 관한 자세한 내용은 CameraX 라이브러리 상태 페이지를 참조하세요.

주요 장점

CameraX는 다음과 같은 방식으로 개발자 환경을 개선합니다.

사용 편의성

호환성에 중점을 두는 CameraX

그림 1. CameraX는 Android 5.0(API 수준 21) 이상을 타겟팅하며 대부분의 Android 기기에서 지원됩니다.

CameraX는 실행해야 하는 작업에만 집중할 수 있도록 사용 사례를 도입하여 기기별 차이를 관리하는 데 시간을 낭비할 필요가 없습니다. 다음은 몇 가지 기본적인 사용 사례입니다.

  • 미리보기: 화면에 이미지를 가져옵니다.
  • 이미지 분석: MLKit로 전달하는 경우와 같이 알고리즘에 사용할 수 있도록 버퍼에 원활하게 액세스할 수 있습니다.
  • 이미지 캡처: 고화질 이미지를 저장합니다.

이러한 사용 사례는 Android 5.0(API 수준 21) 이상을 실행하는 모든 기기에서 작동하며, 출시된 대부분의 기기에 동일한 코드를 사용할 수 있습니다.

기기 간 일관성

그림 2. 자동화된 CameraX Test Lab은 여러 기기 유형과 제조업체에 걸쳐 일관된 API 환경을 보장합니다.

여러 앱에 걸쳐 일관된 카메라 동작을 관리하는 것은 어려운 일입니다. 가로세로 비율, 방향, 회전, 미리보기 크기, 고해상도 이미지 크기를 포함하여 많은 것을 고려해야 하기 때문입니다. CameraX를 사용하면 이러한 기본적인 동작이 자동으로 해결됩니다.

Google은 여러 가지 기기와 Android 5.0(API 수준 21) 이후의 모든 운영체제 버전에서 다양한 카메라 동작을 테스트하는 자동화된 CameraX Test Lab에 투자하고 있습니다. 이러한 테스트는 지속적으로 실행되며 광범위한 문제를 식별하여 해결합니다.

시간이 지남에 따라 테스트 부담을 크게 줄여가는 것이 목표입니다.

새로운 카메라 환경

그림 3. CameraX는 인물 사진 효과와 같은 새로운 인앱 환경을 제공합니다. CameraX를 사용하는 Huawei Mate 20 Pro에서 빛망울 효과로 캡처한 이미지.

CameraX에는 단 두 줄의 코드로 기기에 기본 설치되어 있는 네이티브 카메라 앱과 동일한 기능을 이용할 수 있게 해주는 확장 프로그램이라는 선택적 부가기능이 있습니다.

사용할 수 있는 첫 번째 기능 세트에는 인물 사진, HDR, 야간 및 뷰티가 포함되어 있습니다. 이러한 기능은 지원되는 기기에서 이용할 수 있습니다.

우수사례

Monzo가 CameraX를 활용해 개발을 간소화한 방법을 알아보려면 우수사례를 참조하세요.

참고 자료

CameraX에 관해 자세히 알아보려면 다음 추가 리소스를 참조하세요.

Codelab

  • CameraX 시작하기
  • 코드 샘플

  • 공식 CameraX 샘플 앱