Android 12 개발자 프리뷰에 오신 것을 환영합니다. 초기에 자주 의견을 제공하여 Android 12를 최고의 버전으로 만들도록 도와주세요.

기능 및 API 개요

Android 12에서는 개발자를 위한 훌륭한 새 기능과 API가 도입됩니다. 아래 섹션을 통해 앱의 기능을 알아보고 관련 API를 시작할 수 있습니다.

새로운 API, 수정된 API, 삭제된 API에 관한 자세한 목록은 API 차이점 보고서를 참고하세요. 새로운 API에 관한 자세한 내용은 Android API 참조를 방문하세요. 새로운 API가 강조표시되어 쉽게 확인 가능합니다. 또한 플랫폼 변경이 앱에 영향을 줄 수 있는 분야에 관해 알아보려면 Android 12를 타겟팅하는 앱모든 앱의 Android 12 동작 변경사항을 확인해야 합니다.

새로운 환경

콘텐츠 수신을 위한 통합 API

Android 12에서는 클립보드나 키보드, 드래그 앤 드롭 등 사용 가능한 모든 소스에서 리치 콘텐츠를 수신할 수 있는 새로운 통합 API를 도입합니다.

자세한 내용은 콘텐츠 수신을 위한 통합 API를 참고하세요.

미디어

호환되는 미디어 트랜스코딩

Android 12에서는 기기에 녹화된 HEVC(H.265)HDR(HDR10 및 HDR10+) 동영상을 표준 플레이어와 널리 호환되는 형식인 AVC(H.264)로 자동 트랜스코딩할 수 있습니다. 이전 애플리케이션과의 호환성을 저하하지 않고 최신 코덱을 사용할 수 있을 때 이를 활용합니다.

자세한 내용은 호환되는 미디어 트랜스코딩을 참고하세요.

AVIF 이미지 지원

Android 12는 AV1 이미지 파일 형식(AVIF)을 사용하는 이미지를 지원합니다. AVIF는 AV1을 사용하여 인코딩된 이미지 및 이미지 시퀀스의 컨테이너 형식입니다. 동영상 압축에서 프레임 내 인코딩 콘텐츠를 활용합니다. 이렇게 하면 JPEG와 같은 기존 이미지 형식과 비교할 때 동일한 파일 크기의 이미지 품질이 크게 향상됩니다. 이 형식의 장점에 관한 자세한 내용은 제이크 아치볼드의 블로그 게시물을 참고하세요.

오디오에서 햅틱 효과 생성

Android 12 앱은 휴대전화의 진동기를 사용하여 오디오 세션에서 파생된 햅틱 반응을 생성할 수 있습니다. 이를 통해 몰입형 게임 및 오디오 환경을 더 많이 제공할 수 있습니다. 예를 들어 햅틱 강화 벨소리로 발신자를 식별할 수 있고 운전 게임은 거친 지형의 느낌을 시뮬레이션할 수도 있습니다.

자세한 내용은 HapticGenerator 참조 문서를 확인하세요.

애니메이션 GIF 및 WebP를 위한 네이티브 ImageDecoder 지원

Android 12에서 NDK ImageDecoder API는 애니메이션 GIF 및 애니메이션 WebP 파일 형식을 사용하는 이미지의 모든 프레임과 타이밍 데이터를 디코딩하도록 확장되었습니다. Android 11에서 처음 도입되었을 때 이 API는 이러한 형식의 애니메이션에서 첫 번째 이미지만 디코딩했습니다.

타사 라이브러리 대신 ImageDecoder를 사용하여 APK 크기를 더 줄이고 보안 및 성능 관련 향후 업데이트의 이점을 누리세요.

API에 관한 자세한 내용은 API 참조GitHub의 샘플을 참고하세요.

보안

비 DPC 앱에서 사용 가능한 기기 속성 확인

Android 12는 기기 속성을 확인할 수 있는 일련의 앱을 확장합니다. 기기 속성은 이러한 앱이 새 키를 생성할 때 증명 인증서에 있습니다.

Android 9(API 수준 28)부터 Keymaster 4.0 이상을 사용하는 기기 정책 소유자(DPO)는 이러한 증명 인증서에 있는 기기 속성을 확인할 수 있습니다. Android 12부터 Android 12를 타겟팅하는 모든 앱은 setDevicePropertiesAttestationIncluded() 메서드를 사용하여 이 확인을 실행할 수 있습니다.

생성된 기기 속성에는 다음과 같은 Build 필드가 포함됩니다.

  • BRAND
  • DEVICE
  • MANUFACTURER
  • MODEL
  • PRODUCT

연결성

Wi-Fi Aware(NAN) 개선사항

Android 12에서는 Wi-Fi Aware를 다음과 같이 개선했습니다.

  • Android 12 이상을 실행하는 기기에서는 onServiceLost() 콜백을 사용하여 앱이 서비스의 중지나 범위 이탈로 인해 검색된 서비스를 잃었을 때 알림을 받을 수 있습니다.
  • 여러 데이터 경로(NAN 데이터 경로)를 설정하는 방식은 더 효율적으로 변경됩니다. 이전 버전에서는 L2 메시지를 사용하여 시작자의 피어 정보를 교환했으며 이로 인해 지연 시간이 발생했습니다. Android 12 이상을 실행하는 기기에서는 응답자(서버)가 모든 피어를 수락하도록 구성될 수 있습니다. 즉, 시작자 정보를 미리 알지 않아도 됩니다. 이를 통해 데이터 경로 불러오기 속도가 빨라지고 단 한 번의 네트워크 요청으로 여러 지점 간 링크를 사용 설정할 수 있습니다.
  • 프레임워크가 리소스 부족으로 검색 또는 연결 요청을 거부하지 않도록 하려면 Android 12 이상을 실행하는 기기에서 WifiAwareManager.getAvailableAwareResources()를 호출하면 됩니다. 이 메서드의 반환 값을 통해 사용 가능한 데이터 경로 수, 사용 가능한 게시 세션 수, 사용 가능한 구독 세션 수를 가져올 수 있습니다.