Android 17 출시 노트

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

아키텍처

ION 지원 중단

ION을 지원하는 모든 커널이 2025년 12월에 지원 종료에 도달했으므로 ION 메모리 할당자는 더 이상 어떤 Android 버전에서도 지원되지 않습니다. ION을 사용하려고 시도하는 모든 공급업체 코드는 실패해야 합니다. ION을 사용하는 모든 공급업체 코드를 삭제하세요.

오디오

오디오 관리 SCO 재설계

기기가 Android 17 이상에서 오디오 관리 동기식 연결 지향 (SCO) 재설계를 채택하는 경우 Android 오디오 프레임워크는 SCO 관리 기능을 사용하여 SCO 라우팅을 관리합니다. 이전에는 블루투스 (BT) 프레임워크에서 이 라우팅을 처리했습니다.

자동차

확장 가능한 UI를 사용한 고급 창 관리

Android 17 이상에서는 확장 가능한 UI를 사용하여 자동차에서 정교하고 동적이며 다중 패널 사용자 환경을 빌드합니다. WindowManager 불변량 추가, 설정 마법사 구성, 시스템 및 탐색 메뉴 맞춤설정

소프트웨어 정의 차량

Android 17 이상에서는 소프트웨어 정의 차량 (SDV)을 사용할 수 있습니다. SDV는 소프트웨어를 사용하여 차량 작동의 빌드, 제어, 관리, 개선에 중요한 역할을 합니다. SDV는 소프트웨어 업데이트를 통해 발전할 수 있는 연결되고 적응 가능한 플랫폼으로 차량을 변환합니다.

호환성

오디오 다중 채널 입력 및 출력 테스트

Android 17에서는 오디오 멀티채널 입력 및 출력을 위한 CTS 인증 도구 테스트가 도입되었습니다.

CTS-V 테스트 실행

Android 17에서는 기본 브라우저 역할을 부여하기 위해 추가 CTS-V 설정 단계가 필요합니다.

범위 지정 정확도, 통신, 호스트 측 대화형 테스트 실행

Android 17에는 테스트 대상 기기 (DUT)에서 일부 수동 단계를 실행해야 하는 반자동화 테스트인 CTS-V 대화형 테스트가 포함되어 있습니다.

대화형 테스트 외에도 수동 범위 지정 정확도 및 통신 테스트를 멀티 디바이스 테스트로 변환했습니다. Wi-Fi 연결 테스트가 필요합니다.

USB 호스트 측 대화형 테스트 실행

Android 17에는 Wi-Fi를 통해 adb가 실행되어야 하는 USB CTS-V 호스트 측 테스트가 포함되어 있습니다.

미디어 테스트 실행

Android 17에는 CTS-V 미디어 재생 테스트가 포함되어 있습니다.

오디오 워크로드 테스트 실행

Android 17에는 CTS-V 오디오 워크로드 테스트가 포함되어 있습니다.

오디오 테스트 업데이트

Android 17에서는 다음과 같은 오디오 테스트 업데이트가 도입되었습니다.

  • USB 오디오 어댑터 추천 목록에 USB-C to 3.5mm 오디오 어댑터를 추가합니다.
    • Google (공급업체 ID: 0x18D1, 제품 ID: 0x5025)
    • Xumee (공급업체 ID: 0x3302, 제품 ID: 0x56C5)
  • CTS 인증 도구 프로 오디오 테스트에서 HDMI 요구사항을 삭제합니다.

카메라 ITS 업데이트

Android 17에서는 카메라 이미지 테스트 모음 (ITS) 업데이트를 도입합니다.

호환성 정의 문서(CDD)

Android 17 호환성 정의 문서 (CDD)는 Android 17 업데이트와 함께 출시됩니다.

연결

OTT 통화를 프리미엄 네트워크 연결로 자동 라우팅

Android 17은 오버더톱 (OTT) 음성 및 영상 통화를 프리미엄 네트워크 연결로 자동 라우팅하는 기능을 지원합니다. 이 기능을 사용하면 앱의 네트워킹 스택을 변경하지 않고도 음성 및 영상 통화의 트래픽을 프리미엄 5G 슬라이스나 프리미엄 4G PDN 연결과 같은 전용 프리미엄 네트워크 인터페이스로 시스템에서 자동으로 조종할 수 있습니다.

범위 지정: 대역 외 사양 업데이트

Android 17에서는 버전 2와 버전 3의 대역 외 (OOB) 사양이 도입되었습니다.

버전 2에는 다음 변경사항이 포함되어 있습니다.

  • 기술 전환: 활성 세션 중에 데이터 스트림을 중단하지 않고 거리 측정 기술 간에 동적으로 전환할 수 있습니다.
  • 범위 지정 기능 응답 메시지 페이로드: 메이크 비포 브레이크 기술 전환 지원을 나타내는 지원되는 기술 전환 필드가 포함됩니다.

버전 3에는 다음 변경사항이 포함되어 있습니다.

  • 동작 알림 메시지 페이로드: 광고주 기기가 시작 기기에 동작 변경을 알리는 데 사용하는 데이터 요소 (DE)입니다.
  • 범위 지정 구성 메시지 페이로드: 시작자가 응답자로부터 주변기기 움직임의 변경사항에 관한 알림을 받기를 원한다고 응답자에게 알리는 동작 지원 필드가 포함됩니다.

디스플레이

데스크톱 창 모드

Android 17 이상에서는 디스플레이별 데스크톱 창 모드를 사용 설정할 수 있습니다.

대형 화면 앱 호환성

Android 17에서는 대형 화면 앱 호환성 오버레이를 위한 config_isCameraCompatSimulateRequestedOrientationTreatmentEnabled, config_isCameraCompatSimReqOrientationLandscapeTreatmentEnabled, config_enableSelfKillRecoveryBetweenInternalDisplays 설정을 도입합니다.

미디어

VVC 지원

Android 17은 디코딩 시나리오를 위해 동영상 인코딩 표준인 다용도 동영상 코딩 (VVC)을 지원합니다. Android 플랫폼은 프레임워크 및 파서 지원을 제공하지만 VVC 디코딩을 사용 설정하려면 SoC 공급업체나 OEM이 소프트웨어 또는 하드웨어 디코더를 제공해야 하며 OEM은 디코더가 사용 설정되어 있고 Android 미디어 하위 시스템에 올바르게 등록되어 있는지 확인해야 합니다.

성능

일반 건강 정보 수집

Android 17에서는 보상 판매 모드로 시스템 상태 진단을 개선하기 위해 카메라 형상 및 UICC 슬롯 정보를 추가합니다.

메모리 제한

메모리 제한기는 Linux cgroup v2를 사용하여 애플리케이션 프로세스의 메모리 사용량을 모니터링하고 제한하는 시스템 서비스입니다. 메모리 제한기는 개별 앱이 과도한 시스템 메모리를 소비하지 못하도록 방지하여 시스템 전체 메모리 압력을 줄이고 중요 프로세스의 적극적인 메모리 부족 (OOM) 종료를 방지합니다.

메모리 관리 데몬

Android 17 이상에서는 ZRAM 관련 유지관리 작업을 구성하고 관리하는 시스템 데몬인 메모리 관리 데몬 (mmd)을 지원합니다.

프로세스 메모리 가디언 데몬

프로세스 메모리 가디언 데몬 (PMGD)은 프로세스별로 메모리 사용량을 사전 예방적으로 관리하여 시스템 상태와 사용자 환경을 보호합니다. 이 데몬은 특정 타겟 프로세스에 메모리 상한을 적절히 적용하고 격리된 메모리 누수나 급증이 시스템 전체 성능 저하를 일으키지 않는지 확인하여 전반적인 기기 안정성을 개선합니다.

권한

연락처 선택도구

Android 연락처 선택 도구를 사용하면 앱 개발자가 전체 연락처 권한을 요구하지 않고도 사용자가 선택한 연락처 세부정보를 가져올 수 있습니다. 이 접근 방식은 데이터 투명성과 최소화된 권한 사용에 대한 Android의 약속과 일치합니다.

연락처 선택 도구의 주요 기능은 다음과 같습니다.

  • 개인 정보 보호 우선 공유: 앱에 선택한 데이터에 대한 읽기 액세스 권한만 부여합니다.
  • 표준화된 UI: 내장 검색, 프로필 전환, 다중 선택으로 일관된 사용자 환경을 제공합니다.
  • 이전 버전과의 호환성: Android 17 이상을 타겟팅하는 앱의 기존 Intent.ACTION_PICK 요청을 자동으로 인계합니다.

위치 표시기

Android 17에서는 상태 표시줄에 실시간 위치 표시기를 도입하여 카메라 및 마이크 사용에 이미 제공되는 개인 정보 보호 투명성을 확대합니다. 비시스템 앱이 포그라운드에서 기기 위치에 액세스하면 전용 아이콘이 표시되고 지속적인 점으로 전환되어 사용자가 탭하여 어떤 앱이 데이터를 추적하는지 확인할 수 있습니다.

보안

하드웨어 래핑 키 개선사항

Android 17 이상에서는 기존 하드웨어 래핑 키 저장소 암호화 기능의 구현을 간소화합니다.

간소화된 구현은 KeyMint 대신 Linux 커널 ioctl을 사용하여 하드웨어 래핑 인라인 암호화 키를 생성하고 가져오고 준비합니다. Linux 커널은 키 래핑 하드웨어와 통신하여 이러한 작업을 실행합니다.

이렇게 하면 이러한 작업에서 KeyMint의 불필요한 참여를 삭제하여 설계가 간소화됩니다. 또한 업스트림 Linux 커널과의 호환성도 달성됩니다.

하드웨어 래핑 키 구현자는 새로운 Linux 커널 ioctl 지원을 추가해야 합니다.

그런 다음 fstab에서 wrappedkey_v0 대신 wrappedkey를 사용하여 새 구현을 사용 설정합니다. 여기에는 디스크 형식 변경이 포함되므로 새로 출시되는 기기에만 적용됩니다. 이미 wrappedkey_v0를 사용하는 기기는 wrappedkey_v0를 계속 사용해야 합니다.

Android 17 이상으로 출시되는 기기에서만 사용되는 KeyMint 구현은 TAG_STORAGE_KEY 또는 convertStorageKeyToEphemeral를 지원하지 않아도 됩니다. 이러한 기능은 Linux 커널 ioctl로 대체되었습니다. KeyMint는 다른 용도로 계속 사용됩니다.

잠금 화면 비율 제한 UX

Android 17 이상에서는 이전 버전보다 강력한 기본 잠금 화면 비율 제한을 사용합니다. 드물지만 사용자가 긴 잠금 화면 제한 시간을 경험할 수 있으므로 Android 17 이상에서는 잠금 화면에 관한 다음과 같은 향상된 사용자 의견을 제공합니다.

  • 시간 형식 개선: 잠금 화면에 1분 이상 지속되는 제한 시간이 더 큰 시간 단위로 표시되어 가독성이 향상됩니다(예: 1800초 후에 다시 시도 대신 30분 후에 다시 시도).
  • 복구 바로가기: 잠금 화면에는 사용자가 다른 기기에서 복구 옵션을 찾을 수 있도록 바로가기 (기본값은 g.co/android/unlock)가 표시됩니다. 이 링크는 config_lockscreenLockoutShortlink 리소스를 통해 구성할 수 있습니다.
  • 중복 시도 피드백: Weaver 구현이 적용된 기기에서 중복된 잘못된 추측이 입력되면 시스템에 고유한 메시지가 표시됩니다. 이 특정 의견은 게이트키퍼 전용 기기에서는 사용할 수 없습니다. 잘못된 추측과 기타 인증 실패에 대한 별도의 응답 코드를 제공하지 않기 때문입니다.
  • 일관된 사용자 인증 정보 입력 관리: 기기에서 PIN 사용자 인증 정보를 사용하는 경우 잠금 화면은 비밀번호 및 패턴 사용자 인증 정보 입력과 유사하게 PIN 입력 패드를 사용 중지합니다.

LockPatternUtils#getLockoutAttemptDeadline(int) 메서드의 이름이 LockPatternUtils#getLockoutEndTime(int)로 변경되고 시스템 관리 캐시에서 차단 종료 시간을 제공합니다. 이 업데이트는 LockPatternUtils 인스턴스별로만 캐시되어 다른 인스턴스를 사용하여 트리거된 경우 활성 제한 시간이 잘못 표시되지 않는 문제를 해결합니다. 잠금 화면 및 설정 활동과 같은 시스템 사용자 인증 정보 프롬프트 개발자는 추가 시도를 허용하기 전에 기존 시간 제한을 확인하도록 업데이트해야 합니다.

정책 호환성

Android 17 이상에서 정책 호환성에 설명된 속성으로 출시되는 기기는 memfd_class 정책 기능을 사용 설정하고 공유 메모리와 관련된 정책을 업데이트하여 memfd_file 클래스 객체를 지원해야 합니다.

보안 요소 사전 워밍

Android 17 이상에서 Weaver HAL 인터페이스에는 보안 요소를 예열하는 메서드가 포함됩니다. 이 메서드를 지원하는 Weaver HAL이 있으면 Android는 잠금 화면 PIN, 패턴 또는 비밀번호가 입력되기 시작할 때 예열 메서드를 호출합니다. 이 메서드는 보안 요소와 전원 관리 구현에 따라 잠금 화면 PIN, 패턴 또는 비밀번호 확인 지연 시간을 최대 200밀리초까지 줄일 수 있습니다.

위버 HAL 구현자는 성능이 향상되는 경우 이 메서드를 지원할 수 있습니다.

설정

빌드 오류 문제해결

Android 17 이상에서는 AOSP 소스 트리가 읽기 전용입니다. 실행 중인 빌드가 제품 구성이나 빌드의 다른 부분에서 소스 트리를 수정하려고 하면 빌드가 실패하고 읽기 전용 파일 시스템 오류가 보고됩니다.

이 문제를 해결하려면 소스 트리를 읽기-쓰기로 설정하세요.