Android 11 출시 노트

이 페이지에서는 Android 11 출시에 포함된 주요 기능을 요약하고 추가 정보 링크를 제공합니다. 이 기능 요약은 이 사이트의 기능 문서 위치에 따라 구성됩니다.

아키텍처

API 할당량

Android 11 출시에는 앱이 특정 API를 호출할 수 있는 빈도를 제한하는 API 할당량 기능이 도입되었습니다. 이 기능은 JobScheduler API 호출에서만 구현됩니다. 사전 설정 한도에 관한 모든 변경사항은 여전히 CTS 테스트를 통과해야 합니다. QuotaTracker.javasetEnabled 메서드를 사용하여 API 할당량을 사용 중지하고 사용 설정할 수 있습니다. 기본값은 사용 설정입니다. 이 기능을 사용 중지하면 앱이 영향을 받은 API를 제한 없이 호출할 수 있습니다.

QuotaTracker 및 관련 클래스의 단위 테스트가 제공됩니다. 자세한 내용은 QuotaTracker 클래스의 주석에 있습니다. 이 기능에는 새로운 LimitExceededException 공개 API가 사용됩니다.

부트로더

부팅 헤더 버전 3

Android 11은 부팅 헤더 버전 3을 지원합니다. 자세한 내용은 부팅 이미지 헤더를 참조하세요.

파티션

부팅 파티션

Android 11에는 GKI(Generic Kernel Image) 개념이 도입되었습니다. GKI를 사용하여 임의의 기기를 쉽게 부팅할 수 있도록 모든 공급업체별 정보가 부팅 파티션에서 제외되어 공급업체 부팅 파티션으로 재배치됩니다. Android 11로 실행되는 기기는 공급업체 부팅 파티션 및 업데이트된 부팅 파티션 형식을 지원하여 GKI 테스트를 통과해야 합니다.

공급업체 부팅 헤더

공급업체 부팅 헤더는 두 페이지 이상일 수 있습니다.

제품 파티션 인터페이스 적용

Android 11은 product 파티션을 번들 해제하여 system 및 공급업체 파티션으로부터 독립적으로 만듭니다. 이러한 변경에 따라 이제 네이티브 및 자바 인터페이스에 대한 제품 파티션의 액세스를 제어할 수 있습니다.

복구 이미지

Android 11은 복구 이미지 요구사항을 업데이트하고, 복구 DTBO/ACPIO를 부팅/복구 이미지의 일부로 포함하기 위한 새로운 출시 기반 옵션을 포함합니다. 자세한 내용은 복구 이미지를 참조하세요.

조용히 다시 시작

Android 11은 조용히 다시 시작을 지원합니다. 조용히 다시 시작은 사용자 공간에서 진행되는 프로세스의 런타임 재시작으로, 재부팅이 필요한 업데이트(예: APEX 패키지 업데이트)를 적용하는 데 사용됩니다.

커널

Android 일반 커널

Android 11에서는 Android 일반 커널 개발 및 통합 방식에 중요한 변경사항이 도입되었습니다.

Android 커널 ABI 모니터링

Android 11에서는 Android 커널의 커널 내 ABI를 안정화하기 위한 ABI 모니터링 도구가 도입되었습니다.

GKI(일반 커널 이미지)

Android 11에는 코어 커널을 통합하고 SoC 및 보드 지원을 코어 커널에서 로더블 모듈로 이동하여 커널 조각화를 해결하는 GKI(Generic Kernel Image)가 도입되었습니다.

모듈식 커널

커널 모듈 지원

GKI(Generic Kernel Image)에는 기기가 파티션을 마운트하는 데 필요한 드라이버 지원이 포함되어 있지 않을 수 있습니다. 기기가 파티션을 마운트하고 부팅을 계속할 수 있도록 지원하기 위해 1단계 init를 향상함으로써 램디스크에 있는 커널 모듈을 로드할 수 있습니다. 램디스크는 일반 및 공급업체 램디스크로 분할되어 있습니다. 공급업체 커널 모듈은 공급업체 램디스크에 저장됩니다. 커널 모듈이 로드되는 순서는 설정 가능합니다.

DebugFS

Android 11에서는 DebugFS에 대한 플랫폼 지원이 삭제되므로 DebugFS가 프로덕션 기기에서 마운트되거나 액세스되지 않아야 합니다. DebugFS는 디버깅 목적으로 생성되었지만 일반 및 공급업체별 구성요소의 사용자 및 usedebug 빌드에 포함되었습니다. DebugFS는 다음을 생성하기 때문에 지원 중단됩니다.

  • 불안정하고 문서화되지 않은 API: Android는 잘 정의되고 안정적인 Linux 커널 인터페이스 및 HAL을 사용함으로써 올바르게 작동합니다. VTS 테스트에서는 이러한 인터페이스의 존재 여부와 정확성을 적용합니다. ABI가 안정적이지 않고 문서화되지 않았기 때문에 DebugFS를 적용할 수 없습니다.

  • 좋지 않은 코드 품질: DebugFS는 디버깅용이므로 debugfs에 추가된 노드는 다른 파일 시스템의 노드만큼 엄격하게 검토 및 테스트되지 않습니다. debugfs에서 버그가 발견되면 낮은 우선순위로 처리되며 이는 debugfs에서 비롯된 보안 취약점의 원인이 됩니다.

  • 보안 취약점: DebugFS는 커널 개발자가 시스템을 디버그하도록 돕기 위해 보안에 중점을 두지 않고 제작되었습니다. 현재 프로덕션 기기에 노출된 모든 DebugFS 노드가 안전한지 확인할 수 있는 효율적인 방법은 없습니다. SEpolicy 강화를 통해 debugfs에서 비롯되는 보안 취약점의 심각도를 줄였지만 debugfs 마운트를 허용하지 않는 것이 공격 표면을 완전히 제거하는 유일한 방법입니다.

Android 11에서 VTS는 CONFIG_DEBUG_FS가 기기의 커널 구성에서 사용 설정되지 않고 debugfs/proc/filesystems 아래에 나열되지 않도록 합니다.

GKI용 ION 힙

Android 11에서 Android 일반 커널 v5.4는 코어 ION 드라이버가 내장된 상태를 유지하면서 공급업체별 ION 힙을 모듈화하는 프레임워크를 도입하여 OEM이 GKI(Generic Kernel Image)를 사용할 때 ION 커널 드라이버 수정사항을 유지할 수 있도록 합니다.

모듈식 시스템 구성요소

자동 취소 권한

Android 11에서 PermissionsController 모듈은 장기간 사용되지 않은 앱의 런타임 권한을 자동으로 취소할 수 있습니다.

메인라인 모듈 업데이트

Android 11에서는 몇 가지 새로운 모듈이 도입되었으며 Android 10에 도입된 여러 기존 모듈이 업데이트되었습니다.

런타임 리소스 오버레이

Android 11 이상에서는 RRO를 위한 새 메커니즘을 지원합니다. 향상된 기능에는 예약된 리소스 ID 공간, 타겟 리소스를 열거하기 위한 res/xml/overlays.xml 파일, 오버레이용 Soong 빌드 규칙, 오버레이의 변경 가능성, 기본 상태 및 우선순위를 구성하기 위한 OverlayConfig 파일이 포함됩니다.

공급업체 NDK

공급업체 스냅샷

Android 11은 소스 트리의 Android 버전과 관계없이 vendor.img를 빌드하는 데 사용할 수 있는 VNDK 스냅샷 빌드 아티팩트공급업체 스냅샷을 지원합니다. 따라서 이전 공급업체 및 최신 시스템 이미지와 같은 혼합된 버전의 이미지를 사용할 수 있습니다.

오디오

FM 튜너에서 오디오를 캡처하려면 독점 권한 필요

Android 11에서 오디오 소스 MediaRecorder.AudioSource.RADIO_TUNER는 @SystemApi로 표시되며 AudioRecord 또는 MediaRecorder를 사용하여 오디오를 캡처할 때 이를 사용하려면 독점 권한 android.permission.CAPTURE_AUDIO_OUTPUT이 필요합니다.

오디오 효과

Android 11부터 기기 제조업체는 오디오 캡처 또는 재생을 위해 특정 오디오 기기를 선택할 때 특정 오디오 효과를 자동으로 연결하고 사용 설정할 수 있습니다.

기기 유형 제한

Android 11에서는 새 오디오 기기 유형을 추가할 수 있도록 오디오 기기 유형 수에 대한 제한이 삭제되었습니다.

구현

오디오 구현

Android 11은 하위 버전보다 런타임 시 사운드 트리거 HAL 구현을 더 엄격하게 적용합니다.

자동차

출시 세부정보

새로운 자동차 기능 및 개선사항에 관한 자세한 내용은 자동차 출시 세부정보를 참고하세요.

USB Port Reset API

기기 제조업체는 Android 11에서 USB Port Reset API를 구현하여 연결된 호스트와의 USB 가젯 연결을 재설정할 수 있습니다.

카메라

카메라 보케

Android 11부터 Android 플랫폼은 카메라 보케(빛망울) 효과 구현을 지원하며 타사 앱에서 보케 기능을 사용할 수 있도록 API를 제공합니다.

카메라 확대/축소

Android 11에서 앱은 ANDROID_CONTROL_ZOOM_RATIO 설정을 통해 카메라의 확대/축소(디지털 및 광학)를 사용할 수 있습니다. 이 설정은 부동 소수점 계수로, 이 설정을 사용하면 ANDROID_SCALER_CROP_REGION 설정과 함께 정수 값을 사용하는 경우에 비해 확대/축소 정밀도를 향상할 수 있으며 축소(< 1.0f)를 사용할 수 있습니다.

동시 카메라 스트리밍

Android 11부터 Camera2 API에는 카메라가 동시 스트리밍을 지원하는지 여부와 지원하는 스트림 구성을 확인하기 위해 앱이 호출할 수 있는 메서드가 포함되어 있습니다.

Android Virtual Device의 카메라 지원 향상

Android 11에서는 CuttlefishAndroid Emulator 가상 기기의 에뮬레이션된 카메라 HAL 구현이 향상되었습니다. 이러한 기능 향상으로 다음을 비롯하여 더 많은 카메라 기능을 지원합니다.

  • RAW 캡처
  • YUV 재처리
  • 레벨 3 기기
  • 논리 카메라 지원
  • 뎁스 온리(Depth Only) 카메라 지원

에뮬레이션된 카메라 HAL은 /platform/hardware/google/camera/devices/EmulatedCamera/hwl에서 확인할 수 있습니다.

다중 카메라 권장사항

앱 호환성을 유지하면서 다중 카메라에 의해 사용 설정된 기능을 최대한 활용하려면 논리 다중 카메라 기기를 구현할 때 이 권장사항을 따르세요. 여기에는 Android 11에 도입된 ANDROID_CONTROL_ZOOM_RATIO API 사용에 관한 권장사항이 포함됩니다.

시스템 카메라

Android 11에서는 android.permission.SYSTEM_CAMERA 권한을 통해 시스템 카메라를 지원합니다. 시스템 카메라를 통해 권한이 있는 앱 또는 시스템 앱에서 사용할 수 있지만 타사 공개 앱에서는 사용할 수 없는 카메라 기능을 구현할 수 있습니다.

호환성

Android 11 호환성 정의 문서이전 버전을 반복하지만 새로운 기능의 업데이트 및 이전에 출시된 기능의 요구사항 변경 내용을 포함합니다.

연결

블루투스 및 NFC

NFC 오프 호스트 결제 동기화

Android는 오프 호스트 카드 에뮬레이션을 위한 보안 요소가 있는 NFC 카드 에뮬레이션을 지원하지만 탭앤페이 설정에 지정된 기본 결제 서비스가 보안 요소의 앱과 동기화되지 않을 수 있습니다.

Android 11은 탭앤페이의 결제 설정, 미접촉 결제 프런트엔드(CLF)의 라우팅 구성 및 보안 요소의 앱 선택 상태를 동기화할 수 있게 하는 메커니즘인 오프 호스트 결제 동기화로 이 문제를 해결합니다.

빠른 액세스 월렛

빠른 액세스 월렛 기능을 사용하면 사용자가 전원 메뉴에서 결제 카드 및 관련 패스에 직접 액세스할 수 있습니다.

통화 및 메시지

긴급 전화 동작

Android 11에서는 이동통신사 요구사항을 더 효과적으로 지원하기 위해 긴급 전화 처리 방식이 변경되었습니다. 긴급 전화를 처리하기 위한 동작은 다음과 같습니다.

  • 사용자가 진행 중인 통화 중에 긴급 전화를 걸면 KEY_ALLOW_HOLD_CALL_DURING_EMERGENCY_BOOL 키가 설정된 방식에 따라 기기가 자동으로 진행 중인 통화를 끊거나 진행 중인 통화를 보류하고 긴급 통화가 끊어질 때까지 진행 중인 통화로 다시 전환하는 것을 허용하지 않습니다.
  • 긴급 전화 중에는 수신 전화가 자동으로 거부되고 사용자에게 부재중 전화로 표시됩니다. 긴급 전화 이용 중에는 비긴급 발신 전화를 걸 수 없습니다.
  • 긴급 콜백 모드에서 비긴급 전화를 걸면 기기가 긴급 콜백 모드를 종료합니다. 긴급 전화가 걸려오면 통화가 끝날 때 기기가 긴급 콜백 모드로 다시 전환됩니다. 수신 전화로 인해 기기가 긴급 콜백 모드를 종료하지는 않습니다.
  • 이용 중인 긴급 전화는 전환하거나 보류할 수 없습니다.

업데이트 가능한 긴급 전화번호 데이터베이스

Android 11에는 OTA 업데이트를 통해 업데이트할 수 있는 긴급 전화번호 데이터베이스가 도입되었습니다. 데이터베이스에는 해당 국가 및 서비스 카테고리와 함께 긴급 전화번호 목록이 포함되어 있습니다.

이동통신사

eSIM

이동통신사 앱을 통한 eSIM 활성화 흐름

Android 11은 이동통신사 앱을 통해 eSIM 프로필을 활성화하는 프로세스를 개선합니다. 활성화 코드를 사용하여 프로필을 다운로드할 때 LPA는 이동통신사 앱의 사용자 인터페이스를 실행하여 사용자로부터 추가 정보를 검색할 수 있습니다. 또한 이동통신사 앱은 LUI를 실행하여 eSIM 프로필을 활성화할 수도 있습니다.

자세한 내용은 다음을 참고하세요.

eUICC API 오류 처리

Android 11에는 eUICC API의 호출자가 특정 오류를 개별적으로 처리할 수 있도록 하여 오류 처리를 개선하는 추가 키 및 값이 도입되었습니다.

구독 삭제 메서드의 옵션 매개변수

Android 11부터 EuiccManagereraseSubscriptions 메서드를 사용할 때 EuiccCardManager#ResetOption enum 값을 제공하여 모든 테스트, 운영 또는 두 가지 유형의 구독을 모두 삭제할지 여부를 지정해야 합니다.

다중 운영자 네트워크 지원

Android 11로 출시되는 기기는 여러 PLMN(Public Land Mobile Network)을 지원할 수 있습니다. 다중 PLMN 지원은 MNO(모바일 네트워크 운영자)가 여러 ID를 브로드캐스트할 수 있도록 하여 유연성을 제공합니다.

작은 셀 지원

Android 11로 출시된 기기는 셀의 CSG(Closed Subscriber Group) 정보를 가져오는 셀 식별 API의 메서드를 통해 CSG를 지원할 수 있습니다. 이는 CSG를 통해 작은 셀을 관리하는 모바일 네트워크 운영자(MNO)에게 유용합니다.

Connectivity Diagnostics API

Connectivity Diagnostics API를 사용하면 이동통신사 앱, VPN 앱 및 Wi-Fi 추천 앱과 같이 네트워크를 소유하거나 관리하는 앱이 프레임워크에서 네트워크 연결 진단 정보를 수신할 수 있습니다.

Open Mobile API 변경사항

Android 11에는 다음과 같은 OMAPI(Open Mobile API)의 추가 기능이 도입되었습니다.

  • 이동통신사 권한의 규칙을 파싱하는 기능
  • 다음 중 하나 이상을 사용하여 삽입된 보안 요소(eSE) 액세스를 맞춤설정하거나 eSE를 프로비저닝하는 기능

    • SECURE_ELEMENT_PRIVILEGED_OPERATION 시스템 독점 권한
    • 구성 가능한 액세스 규칙 애플리케이션 마스터(ARA-M) 애플리케이션 식별자(AID)
    • OMAPI 리더를 재설정하는 reset 시스템 API
  • 앱이 기기 기능을 필터링할 수 있는 명확한 표시기를 리더에 제공하는 기능

신호 강도 보고

Android 11에서는 프레임워크가 4G LTE 및 5G NR 무선 액세스 네트워크(RAN)의 신호 강도를 보고하는 데 사용하는 여러 신호 측정 유형을 선택하고 맞춤설정할 수 있습니다. 그런 다음, 보고된 신호 강도를 사용하여 신호 막대가 기기에 표시되는 방식을 제어할 수 있습니다.

Wi-Fi

이동통신사 Wi-Fi 네트워크 구성

Android 11에서는 이동통신사 구성 관리자에서 carrier_wifi_string_array 매개변수를 구성하는 대신 Wi-Fi 추천 API를 사용하여 이동통신사 Wi-Fi 네트워크 구성을 추가할 수 있습니다.

테더링을 위한 Wi-Fi 핫스팟(소프트 AP) 지원

Android 11에서는 향상된 Wi-Fi 핫스팟(소프트 AP) 구성이 도입되어 이동통신사 사용 사례 및 맞춤설정에 관한 추가 지원을 제공합니다. 이러한 변경사항을 통해 기기 제조업체는 다음을 구성할 수 있습니다.

  • SSID 및 BSSID
  • 보안 유형(WPA3 포함)
  • 숨겨진 SSID
  • 운영 대역 및 채널(ACS 포함)
  • 허용되는 최대 클라이언트 수
  • 자동 종료 시간 제한 값
  • 연결된 기기의 사용자 제어를 허용하는 허용 목록 및 차단 목록

Wi-Fi 네트워크 선택 개선사항

Android 11에서는 Wi-Fi 네트워크 선택 개선사항이 도입되어 Wi-Fi 네트워크 연결이 향상되었습니다.

Wi-Fi Passpoint 개선사항

Android 11에서는 Passpoint 기능이 다음과 같이 개선되었습니다.

  • 프로필 만료 지원을 통해 시스템에서 사용자에게 알림을 보내고 프로필 만료일을 적용할 수 있습니다. 이를 위해서는 SubscriptionParameters/ExpirationDate 필드가 초기화된 프로필이 필요합니다.
  • Passpoint R1 프로필의 자체 서명된 비공개 CA 인증서를 지원합니다.
  • CA 인증서가 없는 Passpoint R1 프로필을 지원합니다. 시스템은 신뢰할 수 있는 기본 저장소를 사용하여 연결을 인증합니다.
  • PPS-MO의 Extension/Android 노드를 사용하여 ANQP FQDN과 별도로 이름이 지정된 AAA 도메인을 구성할 수 있도록 지원합니다. 이를 통해 연결 보안을 손상하지 않으면서 알려진 도메인과 다른 AAA 도메인을 지정할 수 있습니다.
  • 동일한 FQDN으로 설치된 여러 Passpoint 구성을 지원합니다. 이는 네트워크에 MCC(모바일 국가 코드)와 MNC(모바일 네트워크 코드)를 둘 이상의 조합으로 배포하지만 단일 FQDN만 있는 이동통신사에 유용합니다.
  • Passpoint R3 액세스 포인트를 감지하고 허용할 수 있습니다.
  • 다음과 같이 네트워크 매칭이 향상되었습니다.
    • HomeSP/HomeOIList의 홈 제공자 매칭을 지원합니다.
    • HomeSP/OtherHomePartners의 홈 제공자 매칭을 지원합니다.
    • Passpoint 사양에 필요하지 않은 EAP 메서드 매칭 요구사항이 삭제됩니다.

Wi-Fi 프로필의 일반 이름 지원 향상

Android 11에서 일반 이름이 선택적인 Android 확장 하위 트리에 지정된 경우 이동통신사의 루트 인증 기관(CA)이 변경될 때 Wi-Fi 프로필은 계속 유효합니다. 이전 버전에서는 루트 CA가 변경되면 사용자가 이동통신사에서 새 프로필을 다운로드해야 합니다.

데이터

데이터 액세스 분석

Android 11에서는 데이터 액세스 분석이 도입되어 앱 개발자가 앱 및 종속 항목이 사용자의 비공개 데이터(예: 위치 및 카메라 데이터)에 어떻게 액세스하는지 더 잘 파악할 수 있습니다. 복잡한 다목적 앱의 경우 개발자는 속성 태그를 정의하여 앱의 다양한 부분을 파악할 수 있습니다.

자세한 내용은 데이터 액세스 분석을 참고하세요.

디스플레이

Bubbles notification API 업데이트

Android 10에는 사용자가 기기 어디서나 쉽게 멀티태스킹할 수 있게 하는 Bubbles notification API가 도입되었습니다. Android 11에는 여러 대화창 개선사항이 포함되어 있습니다. 가장 주목할 만한 변경사항은 기본적으로 대화창을 켜고 개발자 옵션에서 설정을 이동하는 것입니다. Android 플랫폼에서 대화창을 구현하는 데 필요한 작업은 없습니다.

기기 제어

Android 11부터 사용할 수 있는 기기 제어 기능을 통해 사용자는 전원 메뉴에서 조명, 온도 조절기 및 카메라와 같은 외부 기기를 빠르게 확인하고 제어할 수 있습니다. 기기 애그리게이터(예: Google Home) 및 타사 공급업체 앱은 이 공간에 표시할 기기를 제공할 수 있습니다. 이 기능을 지원하기 위한 플랫폼 구현 작업은 필요하지 않습니다. 기본 구현은 AOSP 시스템 UI에 포함되어 있습니다. 제어 앱에 기기 제어 지원을 추가하는 방법에 관한 자세한 내용은 외부 기기 제어 Android 개발자 페이지를 참조하세요.

Text Classifier 업데이트

Android 11에서는 ExtServices 메인라인 모듈에 있는 Text Classifier 서비스의 업데이트 가능한 기본 구현이 도입되었습니다. 기기 제조업체는 이 TextClassifierService 구현을 사용하는 것이 좋습니다. 이 구현은 메인라인 OTA 업데이트를 통해 업데이트할 수 있기 때문입니다.

기업

맞춤 사용자 유형 구현

Android 11부터 Android 멀티 사용자 기능에서 허용되는 모든 유형의 사용자를 나타내는 '잘 정의된 사용자 유형'이라는 개념이 도입되었습니다. OEM은 이 기능을 사용하여 사전 정의된 AOSP 사용자 유형을 맞춤설정하고 새로운 프로필 유형을 정의할 수 있습니다. 자세한 내용은 사용자 유형 섹션을 참조하세요.

직장 프로필 개선사항

Android 11에는 주요 사용성 문제를 해결하도록 설계된 직장 프로필의 개인 정보 보호 및 사용성 개선사항이 포함되어 있습니다. 이러한 개선사항은 생태계 전반에 걸쳐 일관성 있게 구현하는 것이 중요합니다.

Android를 지원하는 IT 관리자는 사용자가 직장에 가져오는 모든 Android 기기의 환경을 지원해야 합니다. 중요한 워크플로의 UX 일관성을 개선하면 BYOD(Bring Your Own Device) 환경에서 Android를 지원하는 비용이 크게 줄어듭니다. 또한 기기 전반에 걸쳐 개인 정보 보호 기능을 일관되게 구현하면 사용자의 신뢰도 높아집니다. 일부 업데이트에는 다음이 포함됩니다.

  • 앱 목록에는 개인 및 직장이라는 라벨이 지정된 별도의 탭이 있습니다.
  • 직장 탭에는 직장 프로필을 사용 중지할 수 있는 전환 기능이 있습니다.
  • 직장 프로필이 사용 중지되면 직장 앱 아이콘이 회색으로 바뀌고 직장 탭의 오버레이에 직장 앱이 일시중지되었다고 표시됩니다.

상호작용

컨텍스트 허브 런타임 환경 업데이트

Android 11에는 5G 셀 정보, nanoapp 디버그 덤프 및 기타 개선사항에 관한 지원이 포함된 CHRE API v1.4가 도입되었습니다. 또한 nanoapp의 TensorFlow Lite for Microcontrollers 사용 관련 지원도 포함됩니다. 자세한 내용은 컨텍스트 허브 런타임 환경(CHRE)을 참고하세요.

햅틱

Android 11에는 기기에서 햅틱을 구현하고 햅틱 성능을 평가하는 방법에 관한 새로운 가이드가 포함되어 있습니다.

입력

게임패드

Android 11에서는 다음을 포함한 타사 게임 컨트롤러에 관한 지원을 추가했습니다.

  • Nintendo Switch Pro 컨트롤러: Android는 Nintendo Switch Pro 컨트롤러의 USB 및 블루투스 연결을 모두 지원합니다. 모든 구현에 CTS 테스트가 필요합니다. NintendoSwitchProTest를 사용하여 구현을 검증할 수 있습니다.

  • Steam 컨트롤러: Android는 Steam 컨트롤러의 USB 연결 지원을 추가했습니다.

신경망

권장사항

앱 개발자가 NNAPI를 채택하도록 장려하려면 Android 11을 실행하는 기기에 NNAPI 드라이버를 구현할 때 다음 권장사항을 따르세요.

제어 흐름

Android 11에서 NNAPI는 다른 모델을 인수로 사용하여 조건부로(IF) 또는 반복적으로(WHILE) 실행하는 두 개의 제어 흐름 연산, IFWHILE을 추가했습니다. 이에 따라 입력 값을 기반으로 서로 다른 연산을 실행하거나 언롤링 없이 연산을 여러 번 실행하는 모델을 구성할 수 있습니다.

분리(Fenced) 실행

Android 11에서는 NNAPI를 통해 실행 시 sync_fence 핸들 목록을 기다릴 수 있으며 선택적으로 실행 완료 시 신호를 받는 sync_fence 객체를 반환할 수 있습니다. 이렇게 하면 작은 시퀀스 모델 및 스트리밍 사용 사례의 오버헤드가 줄어듭니다. 또한 분리(Fenced) 실행을 통해 sync_fence 신호를 보내거나 기다릴 수 있는 다른 구성요소와의 상호 운용성이 더 효율적으로 구현됩니다.

메모리 도메인

Android 11 이상을 실행하는 기기의 경우 NNAPI는 드라이버 관리 버퍼의 할당자 인터페이스를 제공하는 메모리 도메인을 지원합니다. 이를 통해 실행 간에 디바이스 네이티브 메모리를 전달할 수 있으며, 동일한 드라이버에서 연속 실행 간의 불필요한 데이터 복사 및 변환을 억제할 수 있습니다.

서비스 품질

Android 11부터 NNAPI는 앱이 모델의 상대적 우선순위, 모델 준비에 예상되는 최대 시간 및 실행 완료에 예상되는 최대 시간을 표시하도록 허용함으로써 향상된 서비스 품질(QoS)을 제공합니다.

부호 있는 8비트 양자화

Android 11에 도입된 NN HAL(Neural Network HAL) 1.3은 NNAPI(Neural Networks API)의 부호 있는 8비트 양자화를 지원합니다. 자세한 내용은 Android 11의 NN HAL 업데이트를 참조하세요.

테스트 개선사항

Android 11에는 NNAPI 드라이버 구현에 대한 퍼징 테스트를 실행하기 위한 테스트 유틸리티 및 사용량이 많은 상황에서 드라이버의 탄력성을 검증하는 일련의 장애 테스트가 포함되어 있습니다.

자세한 내용은 다음을 참고하세요.

센서

힌지 각 센서 유형

Android 11에는 기기의 두 필수 부분 사이의 각도를 측정하는 센서를 나타내는 힌지 각 센서 유형이 도입되었습니다.

센서 다중 HAL 2.1

Android 11에서 사용할 수 있는 센서 다중 HAL 2.1힌지 각 센서 유형을 노출할 수 있는 하위 HAL 로드를 지원하는 센서 다중 HAL 2.0의 반복입니다. 이 센서 유형을 지원하려면 하위 HAL이 2.1 SubHal 헤더에 정의된 하위 HAL API를 사용해야 합니다.

미디어

DRM

Android 11에서는 MediaDrmService 삭제를 통해 MediaDrm/Crypto IPC 경로를 간소화합니다. 그리고 사용 가능한 DRM 플러그인을 열거하기 위한 새로운 MediaDrm API가 추가되었습니다.

MediaCodec의 짧은 지연 시간 디코딩

Android 11에는 실시간 앱에 중요한 지연 시간이 짧은 미디어 디코딩을 지원하는 MediaCodec 2.0이 포함되어 있습니다.

기타

Android 11부터 AOSP 갤러리 앱은 ACTION_VIEW 인텐트의 application/sdp MIME 유형을 지원할 필요가 없습니다. 따라서 application/sdp MIME 유형의 ACTION_VIEW 인텐트 필터가 AOSP 갤러리 앱 매니페스트 파일에서 삭제되었습니다.

이러한 요구사항은 CDD의 섹션 3.2.3.1. 코어 애플리케이션 인텐트에 문서화되어 있습니다.

성능

사용자 공간 lmkd

Android 11에는 메모리 부족 및 성능 저하를 방지하기 위한 새로운 종료 전략이 도입되었습니다.

전원

TV 대기 상태 시 인어텐티브 절전 모드

Android 11에서는 TV 대기 상태 시 인어텐티브(신경을 쓰지 않아도 되는) 절전 모드라는 새로운 기능이 추가되었습니다. 이는 사용자 비활성 제한 시간을 설정하고 그 이후에 wakelock이 유지되더라도 기기가 절전 모드로 전환할 수 있는 절전 기능입니다.

보안

OEMCrypto

Android 11은 OEMCrypto API 버전 16을 지원합니다.

저장소

범위 지정 저장소

Android 11은 앱의 외부 저장소 액세스를 제한하는 범위 지정 저장소를 지원합니다. 또한 MediaProvider는 외부 저장소의 파일 시스템 핸들러(FUSE용)가 되며 외부 저장소의 파일 시스템과 MediaProvider 데이터베이스가 일관성을 유지하게 합니다.

SDCardFS 지원 중단

Android 11에서는 SDCardFS 지원이 중단되었습니다. VTS 테스트에서는 SDCardFS로 나열된 마운트된 파일 시스템을 허용하지 않습니다. SDCardFS의 함수는 다른 메서드로 대체되었습니다.

테스트

호환성 테스트 모음(CTS)

Android 11에는 CTS를 위한 많은 새로운 주요 모듈 및 테스트 변경사항이 도입되었습니다. 자세한 내용은 CTS 출시 노트를 참조하세요.

APEX Management API의 CTS 테스트

Android 11부터 CtsShimApex 패키지에는 CTS가 권한을 테스트하는 데 사용하는 사전 빌드된 앱이 두 개 포함됩니다.

기기가 APEX 패키지 관리를 지원하지 않거나 기기에서 버전 10 이하를 실행하고 있다면 사전 빌드된 앱 두 개가 시스템에 별도로 사전 설치되어 있어야 합니다.

자세한 내용은 CTS shim 패키지를 참고하세요.

CTS 출시 노트

Android 11에는 새로운 주요 모듈 및 테스트 변경사항이 많이 도입되었습니다.

디버깅

범위 지정 공급업체 로깅

Android 11에서는 새로운 HAL인 IDumpstateDevice(버전 1.1)를 추가했습니다. 이 HAL은 표준 버그 신고에 포함된 공급업체 로그의 범위를 더 긴밀하게 지정할 뿐만 아니라 사용자 빌드가 공급업체 로깅을 사용 설정 또는 사용 중지할 수 있도록 하는(사용자 빌드의 기본값은 사용 중지) 새로운 메서드를 노출합니다. 이를 통해 OEM은 특정 유형의 버그 신고에 포함되는 사항을 더 세밀하게 제어할 수 있습니다.

GWP-ASan: 힙 손상 감지

GWP-ASan은 32비트 및 64비트 프로세스 모두에서 해제 후 사용(use-after-free) 및 힙 버퍼 오버플로우(heap-buffer-overflow) 버그를 찾는 데 도움이 되는 네이티브 메모리 할당자 기능입니다.

Android 11에서는 시스템 애플리케이션 및 플랫폼 실행 파일에 대해 GWP-ASan이 자동으로 사용 설정됩니다. 이 기능을 플랫폼에서 사용 중지하지 말고 앱에서 사용 설정하세요.

업데이트

동적 시스템 업데이트(DSU) 개선사항

Android 10에는 다음을 비롯한 동적 시스템 업데이트(DSU) 개선사항이 포함되어 있습니다.

  • 새로운 프런트엔드, 클릭 한 번으로 DSU 로더
  • 다중 파티션 DSU 지원
  • 보안 강화를 위한 OEM 서명 DSU
  • DSU와 기기 간 호환성을 관리하는 새로운 방법

여러 SKU의 OTA 패키지

Android 11 이상에서는 SKU가 다른 여러 기기의 단일 OTA 패키지 사용을 지원합니다. 이러한 사용을 지원하려면 동적 지문을 사용하도록 대상 기기를 구성하고 사전 및 사후 조건 항목에 기기 이름과 지문을 포함하도록 (OTA 도구를 사용하여) OTA 메타데이터를 업데이트해야 합니다.

출시용 빌드 서명

출시용 빌드 서명을 위한 CLI 명령어 몇 가지가 Android 11에서 변경되었습니다.

공급업체 테스트 모음(VTS) 11

Android 11 공급업체 테스트 모음(VTS)은 커널 및 하드웨어 추상화 계층(HAL)에 관한 광범위한 테스트를 제공합니다.

가상 A/B

Android 11에서는 가상 A/B를 제공하여 A/B 업데이트와 비 A/B 업데이트를 통합합니다. 가상 A/B는 저장소 비용을 최소화하면서 기기에 원활한 업데이트를 제공합니다.

테스트

기본 Scudo 힙 할당자

Android 11부터는 모든 네이티브 코드에 Scudo 힙 할당자가 사용됩니다(jemalloc이 여전히 사용되는 메모리 용량이 낮은 기기 제외). 따라서 더 이상 바이너리별로 Scudo를 사용 설정할 필요가 없습니다. Scudo에 관한 자세한 내용은 Scudo 페이지를 참조하세요.

TV

CAS 프레임워크

Android 11은 타사 개발자 및 OEM을 위한 표준 자바 API를 제공하는 Android TV용 미디어 CAS(Media Conditional Access System) 프레임워크를 지원합니다. 자세한 내용은 CAS 프레임워크를 참조하세요.

멀티미디어 터널링

Android 11에서는 사용자가 튜너에서 직접 피드되는 오디오 및 동영상 콘텐츠를 사용하여 멀티미디어 터널링을 구현할 수 있습니다.

튜너 프레임워크

Android 11은 튜너 HAL, 튜너 SDK API 및 Tuner Resource Manager를 사용하여 A/V 콘텐츠를 제공하는 Android TV용 튜너 프레임워크를 지원합니다.

TV 입력 프레임워크

Android TV 입력 프레임워크(TIF)는 Android TV로의 실시간 콘텐츠 전송을 간소화하여 제조업체가 Android TV를 제어하기 위한 입력 모듈을 생성할 수 있는 표준 API를 제공하고 실시간 TV 검색 및 추천을 사용할 수 있도록 지원합니다. Android 11에서는 TIF에 세 가지 새로운 구성요소가 도입되었습니다.