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

Android 12 및 Android 12 출시 정보

이 페이지는 Android 12 및 Android 12 릴리스의 주요 기능을 요약하고 추가 정보에 대한 링크를 제공합니다. 이러한 기능 요약은 이 사이트의 기능 설명서 위치에 따라 구성되어 있습니다.

건축물

AlwaysOnHotwordDetector 클래스 업데이트

Android 12부터 팩토리 메서드 android.service.voice.VoiceInteractionService.createAlwaysOnHotwordDetector() 를 포함하는 AlwaysOnHotwordDetector 클래스 는 공개 API가 아닌 시스템 API( @SystemApi )입니다. AlwaysOnHotwordDetector 클래스는 일반적으로 OS 릴리스와 함께 번들로 제공되는 시스템 수준 권한이 있는 어시스턴트 앱에서 사용하기 위한 것입니다. Android 11 이하에서는 호출자가 현재 활성화된 어시스턴트 앱인지 확인하여 API를 보호하므로 다른 타사 앱에서 API를 사용할 수 없습니다.

또한 Android 12에는 사운드 트리거 API를 통해 마이크 사용과 관련된 권한 부여 및 적용을 개선하기 위한 사운드 트리거 기능 개선 사항이 포함되어 있습니다. SoundTriggerManager 또는 AlwaysOnHotwordDetector 클래스를 통한 간접 사용을 포함한 마이크 사용은 AlwaysOnHotwordDetector 클래스를 호출하는 원래 패키지(어시스턴트 앱)에 기인합니다. 이렇게 하면 마이크를 사용하는 패키지의 사용자 개인 정보와 투명성이 향상됩니다. Android 11 이하에서는 원래 패키지가 사운드 트리거 API를 직접 사용하지 않고 system_server 프로세스에 있는 상위 수준 서비스를 통해 사용하기 때문에 마이크 사용은 시스템 사용자에게 귀속됩니다.

이러한 변경의 영향은 다음과 같습니다.

  • API가 공개 표면에서 제거되었기 때문에 AlwaysOnHotwordDetector 클래스를 사용하는 비시스템 앱은 Android 12 API에 대해 컴파일하지 못합니다.
  • AlwaysOnHotwordDetector 클래스를 사용하는 기존 시스템 앱은 런타임에 사운드 트리거 기능을 사용하는 것이 거부될 수 있습니다. 이 문제를 해결하고 이러한 앱이 사운드 트리거를 통해 마이크에 액세스하도록 허용하려면 이러한 앱에 대한 RECORD_AUDIOCAPTURE_AUDIO_HOTWORD 권한을 선언하십시오.

Android Rust 언어 지원

Android 12는 이제 Rust 코드 사용을 지원합니다. 설정 문서에 추가된 새 섹션은 Rust를 사용하여 Android에서 개발하기 위한 지침을 제공합니다.

Android Rust, 다양한 모듈에 대한 자세한 내용과 예제(IDE 설정 정보 얻기)를 보려면 Android Rust Introduction 에서 새로운 Android Rust 섹션을 참조하세요.

부팅 이미지 헤더

Android 12는 GKI(Generic Kernel Image) 아키텍처를 지원하는 기기의 기본 부팅 이미지인 부팅 이미지 헤더 버전 4의 사용을 추가합니다. Android 12는 또한 커널과 램디스크의 무결성을 확인하기 위한 boot_signature 를 제공합니다. VtsSecurityAvbTest 에서 수행되는 검사는 GKI 아키텍처를 사용하는 장치에 필요합니다.

자세한 내용은 부팅 이미지 헤더 페이지를 참조하십시오.

bootconfig 구현에 대한 변경 사항

빌드 및 부트로더에서 Android 12로 구성 세부정보를 전달하는 메커니즘인 Android 12의 bootconfig 기능은 Android 11 이하에서 사용되는 androidboot.* 커널 cmdline 옵션을 대체합니다. 이 기능은 Android 사용자 공간의 구성 매개변수를 커널의 구성 매개변수와 분리하는 방법을 제공합니다.

자세한 내용은 Bootconfig 구현 을 참조하십시오.

사용자 정의 글꼴 대체

Android 12 이전에는 AOSP( /system/fonts 파티션) 또는 공급업체 파티션( /product/fonts 또는 /system/fonts 파티션)에서 기기 설치 글꼴 파일을 업데이트하려면 OEM의 시스템 업데이트가 필요했습니다. 이 요구 사항은 이모티콘 호환성에 상당한 영향을 미칩니다. Android 12에서는 FontManager 시스템 서비스를 사용하여 시스템 업데이트 없이 설치된 글꼴 파일을 관리하고 기기에 설치된 글꼴 파일을 업데이트할 수 있습니다.

이 새로운 기능에 대한 정보는 사용자 정의 글꼴 대체 구현을 참조하십시오.

DMA-BUF 힙

Android 12에서 GKI 2.0 은 ION 할당자를 DMA-BUF 힙으로 대체합니다 .

로케일 필터 활성화

Android 12에는 새 기기 유형에 대한 기본 시스템 언어 및 로케일 필터를 구성하는 데 사용할 수 있는 기능이 도입되었습니다. 이를 통해 공장 보정 중에 oem/oem.prop 을 통해 필터 속성 값과 기본 언어를 설정하고 필터를 시스템 이미지에 베이킹하지 않고 제한을 구성할 수 있습니다.

자세한 내용 은 로캘 필터 활성화 를 참조하십시오.

깜박이는 공급업체 램디스크

Android 12에서는 기기에서 전체 vendor_boot 이미지를 가져오는 fastboot 명령을 통해 공급업체 램디스크 플래싱을 지원합니다. 이 명령은 호스트 측 fastboot 도구에 공급업체 부팅 헤더를 읽고, 이미지를 다시 만들고, 새 이미지를 플래시하도록 합니다. 이 지원에는 파티션 크기 및 오프셋과 같은 필요한 데이터를 얻기 위한 부트로더 및 fastbootd 변경이 포함됩니다.

자세한 내용은 사용자 공간의 Fastboot 페이지에서 공급업체 램디스크 플래싱 을 참조하십시오.

GKI 버전 관리

Android 12부터 KMI 버전의 Android 릴리스 부분을 커널에서 추출하여 빌드 시 기기 매니페스트에 주입할 수 있습니다.

자세한 내용은 GKI 버전 관리 를 참조하십시오.

MM 이벤트 - 과거 메모리 통계

Android 12에서 실행되는 기기는 시스템이 메모리 부족을 경험하는 동안 주기적으로 캡처되는 메모리 관련 통계 세트인 mm_events 를 활용할 수 있습니다. mm_eventsperfetto 추적 메커니즘과 통합되어 최소한의 성능 오버헤드를 추가합니다. 통계 수집은 구성 가능한 기간 동안 활성 상태를 유지하여 정기적으로 통계를 캡처합니다.

mm_events 통계를 활용하는 방법에 대한 자세한 내용은 MM 이벤트 - 기록 메모리 통계 를 참조하십시오.

시스템 경고 창 제한

Android 생태계의 보안을 개선하기 위해 Android 12에서는 SYSTEM_ALERT_WINDOW 권한을 얻기가 더 어려워졌으며 타사 앱이 다른 타사 앱의 오버레이를 차단할 수 있습니다.

사전 설치된 앱에는 Android 12에서 SYSTEM_ALERT_WINDOW appOp가 자동으로 부여되지 않습니다. 사전 설치된 앱에서 이를 사용하려면 먼저 사용자가 명시적으로 부여해야 합니다. 시스템 앱은 여전히 ​​기본적으로 권한을 받습니다.

타사 앱은 애플리케이션 오버레이가 표시되지 않도록 선택할 수 있습니다. 이것은 cloak and dagger 스타일의 공격에 대한 보호 메커니즘을 제공합니다. 이는 뱅킹 앱과 같이 보안에 민감한 앱이 스스로를 보호할 수 있도록 모든 앱에서 사용할 수 있습니다. 이 기능을 사용하려면 앱이 매니페스트에서 HIDE_OVERLAY_WINDOWS 권한을 선언해야 합니다.

HIDE_NON_SYSTEM_OVERLAY_WINDOWS(signature|privileged)HIDE_OVERLAY_WINDOWS 를 위해 더 이상 사용되지 않습니다.

공급업체 부팅 파티션 변경

부팅 이미지 헤더 버전 4를 사용하는 Android 12 기기는 vendor_boot 파티션에서 여러 공급업체 램디스크를 지원합니다. 이러한 ramdisk 조각은 공급업체 ramdisk 섹션에서 직렬로 연결됩니다. 공급업체 램디스크 테이블은 공급업체 램디스크 섹션의 레이아웃과 각 공급업체 램디스크 조각의 메타데이터를 설명합니다.

Android 12 이상에서 공급업체 부팅 파티션이 변경되었기 때문에 default 을 공급업체 램디스크 조각 이름으로 사용할 수 없습니다. 예약된 것으로 지정됩니다. 공급업체 램디스크 조각의 이름을 지정하는 데 사용하는 것은 어떤 경우에도 허용되지 않습니다.

자세한 내용은 공급업체 부팅 파티션다중 공급업체 램디스크 를 참조하십시오.

오디오

결합된 오디오 장치 라우팅

결합된 오디오 장치 라우팅 기능은 동시에 여러 오디오 장치로 오디오 스트리밍 지원을 추가합니다. 이 기능을 사용하여 권한 있는 앱은 시스템 API를 통해 특정 전략에 대해 여러 기본 장치를 선택할 수 있습니다. 앱은 이 기능에서 제공하는 공개 API를 사용하여 오디오 장치의 기능을 보다 정확하게 검색할 수 있습니다.

자세한 내용은 결합된 오디오 장치 라우팅 페이지를 참조하십시오.

오디오 HAL V7 업데이트

이전 버전과의 호환성 문제를 해결하기 위해 안정적인 AIDL은 Android T를 시작하는 모든 HAL 변경 사항에 필수입니다. 이러한 미래의 AIDL 채택을 준비하고 향상시키기 위해 Android 12의 오디오 HAL 버전 7이 크게 변경되었습니다.

자세한 내용 은 오디오 HAL V7 업데이트 섹션 및 오디오 정책 예제를 참조하세요.

카메라

폴더블 장치에 대한 카메라 정적 메타데이터 항목

Android 12에서는 카메라 HAL이 기기의 접기 상태 변경으로 인해 트리거된 센서 방향 변경을 카메라 클라이언트 및 카메라 프레임워크에 알릴 수 있도록 하는 deviceStateOrientationMap 카메라 정적 메타데이터 항목을 도입했습니다. 폴더블 장치는 다양한 장치 접힘 상태에 대해 서로 다른 센서 방향을 가진 물리적 장치로 구성된 하나 이상의 논리 카메라를 선택적으로 사용할 수 있습니다. deviceStateOrientationMap 메타데이터 항목을 사용하면 카메라 프레임워크가 캡처 결과에서 활성 물리적 ID가 변경될 때 필요한 출력 표면 변환이 적용되도록 할 수 있습니다.

자세한 내용은 metadata_definitions.xml 을 참조하십시오.

CameraX 공급업체 확장 지원 요구 사항

Android 12에서 CameraX 확장을 지원하는 기기에는 ro.camerax.extensions.enabled 속성이 true 로 설정되어 있어야 기기가 확장을 지원하는지 여부를 쿼리할 수 있습니다.

자세한 내용 은 장치에서 공급업체 라이브러리 설정을 참조하십시오.

쿼드 베이어 카메라 센서 지원

Android 12는 일반적으로 이미지 품질 및 저조도 성능 측면에서 유연성을 제공하는 쿼드 또는 노나 베이어 패턴을 사용하는 초고해상도 카메라 센서가 있는 기기를 앱에서 활용할 수 있도록 하는 플랫폼 API를 도입합니다. 새 API 는 "기본" 모드 대신 "최대 해상도" 모드에서 작동할 때 다양한 스트림 구성 및 조합을 지원할 수 있다는 점을 고려하여 이러한 센서의 동작을 지원합니다.

초고해상도 카메라 센서에 대한 카메라 HAL 지원을 구현하려면 기기 제조업체가 다음 파일에 대한 변경 사항을 구현해야 합니다.

호환성

SIM 카드에 대한 ADN 지원 요구 사항

Android 12부터 CTS 테스트에 사용되는 기기의 모든 SIM 카드는 ADN(Abbreviated Dialing Number) 저장을 지원해야 합니다.

자세한 내용은 화면 및 스토리지 를 참조하십시오.

카메라 ITS 업데이트

Android 12는 신규 및 업데이트된 테스트, Python 3으로의 리팩토링, Mobly 테스트 프레임워크 채택을 포함하여 카메라 이미지 테스트 제품군(ITS)에 대한 다양한 업데이트를 도입합니다.

자세한 내용은 Android 12 카메라 이미지 테스트 제품군 출시 정보 를 참조하세요.

CDD 업데이트

Android 12 호환성 정의 문서 는 새로운 기능에 대한 업데이트와 이전에 릴리스된 기능에 대한 요구 사항에 대한 변경으로 이전 버전 을 반복합니다.

연결성

5G 네트워크 슬라이싱

Android 12는 5G 네트워크 슬라이싱에 대한 지원을 제공합니다. 네트워크 가상화를 사용하여 단일 네트워크 연결을 다양한 유형의 트래픽에 서로 다른 양의 리소스를 제공하는 여러 개별 가상 연결로 나눕니다. 이를 통해 네트워크 사업자는 특정 고객 세그먼트를 위한 특정 기능을 제공하기 위해 네트워크의 일부를 할애할 수 있습니다.

자세한 내용은 5G 네트워크 슬라이싱 을 참조하십시오.

도우미 장치 관리자 프로필

Android 12 이상을 대상으로 하는 앱은 시계에 연결할 때 컴패니언 장치 프로필을 사용할 수 있습니다. 프로필을 사용하면 장치 유형별 권한 부여를 한 단계로 묶어 등록 프로세스를 간소화할 수 있습니다.

권한 부여를 제안하는 프롬프트를 보여주는 전화기의 스크린샷

번들 권한은 장치가 연결되면 컴패니언 앱에 부여되며 장치가 연결된 동안에만 지속됩니다. 앱을 삭제하거나 연결을 제거하면 권한이 제거됩니다.

자세한 내용은 동반 장치 프로필 을 참조하십시오.

IMS 서비스 자격(TS.43)

Android 12에는 VoWi-Fi(Voice-over-Wi-Fi), VoLTE(Voice-over-LTE), SMS over IP를 포함한 서비스 활성화를 위한 자격 확인 단계를 정의하는 GSMA 사양인 TS.43 서비스 자격 구성 에 대한 지원이 포함되어 있습니다. (SMSoIP), eSIM 컴패니언 장치(요청 장치와 연결됨)의 ODSA(On-Device Service Activation) 및 데이터 계획 정보.

자세한 내용은 IMS 서비스 자격 을 참조하십시오.

IMS 단일 등록

Android 12는 MMTEL 및 RCS 기능을 제공하기 위한 단일 등록 모델에 대한 지원을 추가합니다. 이 모델을 사용하면 기기의 ImsService 에서 제공하는 단일 IMS 등록을 통해 모든 IMS 기능을 관리할 수 있습니다. 여러 IMS 등록이 하나의 장치에서 관리되는 이중 등록 모델과 비교하여 단일 등록은 통신 사업자 네트워크의 트래픽을 줄이고 안정성을 높입니다.

자세한 내용은 IMS 단일 등록 을 참조하십시오.

위치 시간대 감지

Android 12에는 기기가 위치 및 시간대 지도 데이터를 사용하여 현재 시간대를 결정할 수 있도록 하는 선택적 자동 시간대 감지 기능인 위치 시간대 감지가 포함되어 있습니다.

자세한 내용은 위치 시간대 감지 를 참조하십시오.

MAC 무작위화

Android 12에는 모든 연결이 시작될 때 Android가 특정 네트워크의 MAC 주소를 다시 무작위화할 수 있는 비영구적 MAC 무작위화 유형이 도입되었습니다.

자세한 내용은 MAC 무작위화 동작 을 참조하십시오.

네트워크 선택

Android 12에는 NetworkScore 클래스를 사용하는 새로운 네트워크 선택 메커니즘이 도입되었습니다. 네트워크 선택은 Android가 앱 및 시스템 네트워크 요청을 처리하는 방식에 영향을 미치고 앱의 기본 네트워크가 선택되는 방식에도 영향을 줍니다.

자세한 내용은 네트워크 선택 을 참조하십시오.

알림 호출 스타일

Android 12부터 앱은 수신 및 진행 중인 음성 및 화상 통화에 대해 새로운 알림 스타일인 CallStyle 을 사용하는 것이 좋습니다. 이 알림 스타일에는 전화 받기, 거절 및 끊기 작업 버튼이 포함되어 있습니다. 또한 대화 에서 사용하는 것과 동일한 사람 중심 스타일을 사용합니다. 이는 음영 상단에서 호출 알림을 순위 지정하는 동작과 일치합니다.

앱이 CallStyle 알림 스타일을 사용하려면 전체 화면 인텐트 또는 포그라운드 서비스(관련 사전 설정 포함)를 사용해야 합니다. 이 스타일은 전화 알림의 순위를 가장 높은 곳에 표시합니다. 진행 중인 통화의 경우 이 스타일은 상태 표시줄에 칩을 추가하여 사용자가 통화 앱으로 빠르게 돌아갈 수 있도록 합니다.

자세한 내용은 통화 알림 을 참조하십시오.

패스포인트 업데이트

Android 12는 Passpoint R3 및 이용 약관, 장소 정보 URL, 데코레이팅된 ID 접두사, 임박한 인증 해제 처리와 같은 기타 Passpoint 기능을 도입합니다.

이러한 기능에 대한 자세한 내용은 Passpoint(Hotspot 2.0) 를 참조하십시오.

빠른 액세스 지갑 업데이트

Android 12 이상에서는 Android 11에서와 같이 전원 메뉴 대신 그늘에서 빠른 액세스 지갑 기능을 사용할 수 있습니다. 지갑 UI는 이제 시스템 UI에서 실행되며 frameworks/base/packages/SystemUI/src/com/android/systemui/wallet 에 있습니다. frameworks/base/packages/SystemUI/src/com/android/systemui/wallet .

자세한 내용은 빠른 액세스 지갑 을 참조하십시오.

간소화된 연결 사용자 경험

Android 12는 사용자가 네트워크 연결을 더 잘 이해하고, 인터넷 제공업체를 전환하고, 네트워크 연결 문제를 해결하는 데 도움이 되는 단순화된 연결 환경(선택 사항)을 제공합니다.

자세한 내용은 연결 사용자 인터페이스 를 참조하십시오.

시간 소스 우선 순위

Android 12부터 프레임워크는 기본적으로 NITZ(Network Identity and Time Zone) 소스보다 NTP(Network Time Protocol) 시간 소스의 우선 순위를 지정합니다.

장치에서 시간 소스 우선 순위를 구성하고 테스트하는 방법에 대한 자세한 내용은 시간 소스 우선 순위를 참조하십시오.

토글하여 2G 비활성화

보안을 개선하기 위해 Android 12는 설정에 2G 토글을 도입하여 사용자가 2G 셀룰러 연결을 완전히 비활성화할 수 있습니다. 이 기능을 사용하려면 라디오 1.6 HAL 을 구현해야 합니다.

2G 토글 기능은 기본적으로 활성화되어 있습니다. 이동통신사는 CarrierConfig 플래그 KEY_HIDE_ENABLE_2G 를 통해 런타임에 기능을 비활성화할 수 있습니다.

장치 제조업체는 긴급 호출 중에 모든 네트워크를 사용할 수 있는지 확인해야 합니다.

UICC 사양

Android 12에서 CTS 이동통신사 API 테스트를 실행하려면 기기에서 최신 버전의 타사 GSMA TS.48 테스트 프로필 사양에 지정된 요구사항을 충족하는 CTS 이동통신사 권한이 있는 개발자 UICC를 사용해야 합니다.

자세한 내용 은 UICC 준비 를 참조하십시오.

Wi-Fi AP/AP 동시성

Android 12에는 Wi-Fi AP/AP 동시성 기능이 도입되어 기기가 브리지 듀얼(AP+AP) 테더링 핫스팟을 불러올 수 있습니다.

자세한 내용은 Wi-Fi AP/AP 동시성 을 참조하십시오.

Wi-Fi/셀룰러 coex 채널 회피

Android 12에는 Wi-Fi/셀룰러 coex 채널 회피 기능이 도입되어 셀룰러 채널 간에 간섭이 있을 때 안전하지 않은 Wi-Fi 채널의 사용을 식별하고 방지합니다. 여기에는 STA, SoftAp, Wi-Fi Direct(P2P), Wi-Fi Aware(NAN)와 같은 인터페이스가 포함됩니다.

Wi-Fi 보안 프로토콜 향상

Android 12는 WPA3 H2E(Hash-to-Element), WPA2/WPA3-Enterprise 전환 모드 및 전환 비활성화 표시에 대한 지원을 도입합니다.

자세한 내용은 WPA3 및 Wi-Fi Enhanced Open 을 참조하십시오.

Wi-Fi STA/STA 동시성

Android 12에는 Wi-Fi STA/STA 동시성 기능이 도입되어 기기가 두 개의 Wi-Fi 네트워크에 동시에 연결할 수 있습니다.

자세한 내용은 Wi-Fi STA/STA 동시성 을 참조하십시오.

장치

Android 12의 새로운 자동차 기능

이러한 새로운 기능에 대한 자세한 내용은 Automotive What's New 를 참조하십시오.

표시하다

신뢰할 수 없는 터치 차단

시스템 보안을 유지하고 우수한 사용자 경험을 제공하기 위해 Android 12는 신뢰할 수 없는 터치 이벤트 차단 지원을 추가합니다. 이렇게 하면 오버레이가 앱을 안전하지 않은 방식으로 가리는 경우 앱이 터치 이벤트 를 사용하는 것을 방지할 수 있습니다.

대화 알림 및 위젯

Android 11에서는 우선 순위 및 경고 수준별로 알림 창에서 대화 알림의 동작 및 배치를 사용자 지정하기 위한 지원을 추가하여 대화를 중요로 표시하고 대화 공간에서 대화 관련 말풍선 을 시작할 수 있습니다. 이러한 Android 11 기능을 기반으로 하는 Android 12 대화 위젯 기능을 통해 사용자는 중요한 연락처에 대한 대화 위젯을 홈 화면에 추가할 수 있으므로 알림을 기다리지 않고도 대화를 쉽게 재개할 수 있습니다.

자세한 내용은 대화 알림 및 위젯 을 참조하십시오.

창 흐림

공개 API는 창 흐림 효과(예: 배경 흐림 및 뒤 흐림)를 구현하기 위해 Android 12에서 사용할 수 있습니다. 이러한 API를 사용하면 자신의 창 뒤에 있는 모든 것을 흐리게 처리할 수 있습니다. 배경이 흐려진 창을 만들어 젖빛 유리 효과를 만들거나 뒤의 전체 화면이 흐려진 창을 표시하여 피사계 심도 효과를 만들 수 있습니다. 이 두 가지를 결합할 수도 있습니다.

이 새로운 기능과 구현 방법에 대한 자세한 내용은 창 흐림 효과 페이지를 참조하세요.

창 확대

Android 12에서 시력이 낮은 사용자는 창 확대 기능을 사용하여 디스플레이의 모든 것을 확대할 수 있습니다. 창 확대는 전체 화면에서 확대 기능을 사용하는 것과 달리 사용자가 화면의 선택된 부분을 확대할 수 있습니다. 선택한 창을 디스플레이 전체로 끌어서 필요에 따라 화면의 다른 부분을 확대할 수 있습니다.

자세한 내용은 창 돋보기 를 참조하십시오.

기업

기기 관리 업데이트

Android 12에는 다음과 같은 기기 관리 업데이트가 포함되어 있습니다.

  • 관리 프로필 데이터 분리 업데이트. 직장 프로필이 있는 개인 기기에서 Android 12는 기기 하드웨어 식별자(IMEI, MEID, 일련 번호)에 대한 액세스를 제거하고 특정 조직의 직장 프로필 등록을 식별하는 고유한 등록별 ID를 제공합니다. 자세한 내용은 기기 식별자 를 참조하세요.

  • 장치 프로비저닝 업데이트. Android 12에는 기기 프로비저닝에 대한 몇 가지 변경 사항이 포함되어 있습니다. 자세한 내용 및 변경 사항 목록은 Android 12 업데이트 를 참조하세요.

제도법

Composer HAL의 핫 플러그 ​​처리

디스플레이 기능(디스플레이 모드 및 지원되는 HDR 유형 등)은 Android TV 셋톱박스(STB) 및 OTT(over-the-top)와 같이 외부적으로 연결된 디스플레이(HDMI 또는 DisplayPort를 통해)가 있는 장치에서 동적으로 변경될 수 있습니다. 장치. Android 12부터 프레임워크의 변경 사항은 핫 플러그 ​​처리 및 동적 표시 기능을 지원합니다.

자세한 내용 은 Composer HAL의 핫 플러그 ​​처리를 참조하세요.

모듈식 시스템 구성 요소

메인라인 모듈 업데이트

Android 12에는 ARTDevice Scheduling 이라는 두 가지 새로운 모듈이 도입되었습니다.

많은 기존 모듈이 Android 12에서 업데이트됩니다. 자세한 내용 은 Android 12의 업데이트를 참조하세요.

미술

Android 12 이상은 사용자에게 최신 관리 런타임 최적화, 기능 및 버그 수정을 제공하여 Android 경험을 개선하는 것을 목표로 하는 ART 모듈을 지원합니다.

장치 스케줄링

Android 12 이상은 기기가 유휴 상태인지 여부를 감지하고 사용자 중단 없이 재부팅할 수 있는 로직이 포함된 Device Scheduling 모듈을 지원합니다.

미디어

호환 가능한 미디어 트랜스코딩

호환 가능한 미디어 트랜스코딩을 통해 장치는 HEVC와 같은 비디오 캡처를 위해 최신 저장 효율적인 미디어 형식을 사용하면서 앱과의 호환성을 유지할 수 있습니다. 이 기능을 통해 장치 제조업체는 기본적으로 AVC 대신 HEVC를 사용하여 저장 및 대역폭 요구 사항을 줄이면서 비디오 품질을 개선할 수 있습니다. 자세한 내용은 호환 가능한 미디어 트랜스코딩 을 참조하십시오.

성능

앱 최대 절전 모드

Android 12는 권한 자동 취소와 유사하게 사용자가 몇 달 동안 사용하지 않는 앱을 ​​최대 절전 모드로 전환하는 기능을 제공합니다.

자세한 내용은 앱 최대 절전 모드 를 참조하세요.

Cgroup 추상화 계층

Android 12의 제어 그룹(cgroup) 추상화 계층에는 특정 cgroup 컨트롤러를 선택 사항으로 정의하고 더 이상 사용되지 않는 writepid 명령을 대체하는 새로운 task_profiles 명령을 사용하는 기능과 같은 새로운 기능이 도입되었습니다. 이 교체는 기본 cgroup 구현이 cgroup 계층 구조의 작업을 마이그레이션할 때 상위 계층에 영향을 미치지 않도록 합니다. Android 12에서는 API 수준별 작업 프로필도 지원합니다.

자세한 내용은 Cgroup 추상화 계층 을 참조하십시오.

권한

블루투스 권한

Android 12에는 BLUETOOTHBLUETOOTH_ADMIN 권한을 대체하는 다음 블루투스 권한이 도입되었습니다.

  • BLUETOOTH_SCAN : 앱이 주변 블루투스 기기를 검색하고 페어링할 수 있도록 합니다.
  • BLUETOOTH_ADVERTISE : 앱이 주변 블루투스 기기에 광고하도록 허용합니다.
  • BLUETOOTH_CONNECT : 앱이 페어링된 블루투스 기기에 연결할 수 있도록 허용합니다.

이러한 권한은 새로운 NEARBY_DEVICES 런타임 권한 그룹의 일부입니다. 이 권한 그룹은 LOCATION 런타임 권한 없이 스마트워치에 연결하는 것과 같은 사용 사례를 활성화합니다.

이러한 새로운 권한은 앱과 호환되며 Android 11 이하에서 실행되는 앱에는 변경할 필요가 없습니다. Android 11 이하를 대상으로 하는 레거시 앱의 경우 플랫폼은 레거시 Bluetooth 권한에 대한 요청을 새 권한에 대한 요청으로 자동 변환합니다. 앱이 Android 12 이상을 대상으로 업그레이드할 때 앱은 새 블루투스 권한을 명시적으로 요청해야 합니다.

권한 사용에 대한 자세한 내용은 블루투스 권한 을 참조하세요.

개인 정보 표시기

Android 12는 앱이 카메라 및 마이크 앱 작동 권한을 통해 비공개 데이터 소스를 사용할 때 표시기를 표시하여 사용자에게 투명성을 제공합니다.

App Ops는 활동 상태와 개별 API 호출 수를 모두 추적하고 Android 12의 마이크 및 카메라 표시기와 상호 작용하여 앱이 기기의 오디오 및 카메라 데이터에 액세스한 시점을 사용자에게 표시합니다. 사용자가 마이크 또는 카메라 표시기를 클릭하면 데이터에 액세스한 앱이 표시됩니다.

이 기능은 모든 OEM에게 필수입니다 . 자세한 내용은 개인 정보 표시기 를 참조하십시오.

위치

Android 12부터 사용자는 앱이 위치 정보에 액세스할 때 대략적인 정확도만 얻도록 요청할 수 있습니다 .

이 변경 사항은 Android 12 이상을 대상으로 하는 앱에만 영향을 주도록 설계되었습니다. 그러나 이전 버전의 PermissionController 모듈이 있는 장치에서 이 변경 사항은 대상 SDK 버전에 관계없이 모든 앱에 영향을 줍니다.

실행 시간

Deexpreopt 및 <uses-library> 검사

Android 12에는 <uses-library> 종속성이 있는 Java 모듈에 대한 DEX 파일(dexpreopt)의 AOT(ahead-of-time) 컴파일에 대한 빌드 시스템 변경 사항이 있습니다. 경우에 따라 이러한 빌드 시스템 변경으로 인해 빌드가 중단될 수 있습니다.

파손에 대비하는 방법과 수리 및 완화 방법에 대한 정보는 Dexpreopt 및 <uses-library> 검사 를 참조하십시오.

테스트

CTS(호환성 테스트 모음)

Android 12의 경우 CTS에 대해 많은 새로운 주요 모듈 및 테스트 변경 사항이 도입되었습니다. 자세한 내용은 CTS 릴리스 노트 를 참조하세요.

TV

HDMI-CEC 제어 서비스

Android 12는 HDMI-CEC를 사용하여 기기가 깨어나거나 절전 모드로 전환될 때 HDMI 연결 디스플레이를 자동으로 제어합니다.

자세한 내용은 HDMI-CEC 제어 서비스 를 참조하십시오.

튜너 프레임워크

안드로이드 12:

  • Tuner HAL 1.1 이상이 있는 프런트엔드는 DTMB DTV 표준을 지원합니다. 다음 프런트엔드 기능 및 설정이 지원됩니다.

    • DtmbFrontendCapabilities

    • DtmbFrontendSettings

  • Tuner SDK API는 Tuner 1.0의 이전 버전과 호환되는 업그레이드인 Tuner HAL 1.1의 새로운 기능을 지원합니다.

  • android.media.tv.tuner.TunerVersionChecker.getTunerVersion() 은 실행 중인 HAL 버전을 확인합니다.

업데이트

APEX 압축

Android Pony EXpress 컨테이너(APEX)에 대한 업데이트가 설치된 후에는 사전 설치된 버전이 더 이상 사용되지 않지만 동일한 양의 메모리 공간을 차지합니다. 점유된 공간은 계속 사용할 수 없습니다. Android 12에서 APEX 압축은 읽기 전용 파티션(예: /system 파티션)에서 고도로 압축된 APEX 파일 세트를 사용하여 이러한 스토리지 영향을 최소화합니다. Android 12의 APEX 압축에 대해 읽으려면 압축된 APEX를 참조 하세요 .

Resume-on-Reboot 보안 및 편의성

Android 12에는 향상된 다중 클라이언트 지원 및 서버 기반 재부팅 기능이 도입되었습니다. Reboot-on-reboot(RoR) 프로세스는 기기 유휴 시간 동안 OTA 업데이트를 수행할 수 있기 때문에 사용자에게 추가 보안 및 편의성을 제공하는 반면 Android 12 다중 클라이언트 및 서버 기반 업데이트 기능은 함께 기기 하드웨어 수준 유형 보안을 제공합니다.

자세한 내용은 재부팅 시 재개 를 참조하십시오.

RoR로 SIM PIN 재생

Android 12는 RoR 시작 재부팅 후 원활한 PIN 코드 확인을 위한 SIM-PIN 재생 기능을 제공합니다. SIM PIN은 사용자가 성공적으로 활성화, 확인 또는 수정할 때마다 다시 암호화되어 저장됩니다.

자세한 내용은 SIM-PIN 재생 을 참조하십시오.

가상 A/B 업데이트

Android 12는 스냅샷 파티션에서 가상 A/B 압축 옵션을 제공합니다. Android 12에서는 부트로더가 사용하지 않는 업데이트 가능한 파티션을 스냅샷으로 만들어 공간을 절약할 수 있습니다. 압축할 수도 있습니다. Android 12용 빌드에서 스냅샷 압축을 활성화하면 /data 파티션의 공간이 절약됩니다.

스냅샷 압축으로 가상 A/B를 구현하려면 장치별 코드를 변경해야 합니다. 가상 A/B 개요가상 A/B 구현 페이지에서 변경 사항 및 구현 세부 정보를 참조하십시오.