작성자: Dave Burke (VP of Engineering)
이 글의 원문은 여기서 확인하실 수 있으며 블로그 리뷰에는 양찬석(Google)님이 참여해주셨습니다.
오늘(태평양 표준시 기준 10월 4일) AOSP(Android 오픈소스 프로젝트)에 소스를 제공하고 Android 최신 버전을 공식 출시했습니다. Pixel을 시작으로, 여러분 가까이에 있는 Samsung Galaxy, OnePlus, Oppo, Realme, Tecno, Vivo, Xiaomi 기기에도 올해 중에 Android 12가 제공될 예정입니다.
매번 Android 12 베타 단계에서 의견을 보내주신 여러분께 감사드립니다! 225,000여 명의 개발자께서 Pixel과 당사 파트너 기기로 초기 릴리스를 테스트하고 거의 50,000건에 달하는 문제를 신고해 주셔서 품질 개선에 큰 도움이 되었습니다. 또한, 여러분의 생각을 들려주신 수많은 글, 토론, 설문조사 및 직접 대면 회의뿐 아니라, 오늘 출시에 맞춰 개발하신 앱이 호환되도록 애써 주신 노력에도 감사드립니다. 개발자 여러분의 지원과 공헌 덕분에 Android를 모두를 위한 훌륭한 플랫폼으로 만들 수 있었습니다.
또한, 태평양 표준시 기준 10월 27~28일(한국 시간으로 10월 28~29일)로 다가온 올해 Android Dev Summit에서 Android 12에 대해 더 자세한 이야기를 나눌 예정입니다. Android 기술 세션 등 이번 행사에 대한 더 많은 정보가 공개되었으며, 게시물 후반부에서 자세한 내용을 확인할 수 있습니다.
Android 12에 개발자를 위해 새로 준비한 기능 중 몇 가지를 소개해 드리겠습니다. 모든 새로운 기능에 대한 자세한 내용은 Android 12 개발자 사이트를 확인해보세요.
Material You - Android 12에는 Material You라는 새로운 디자인 언어가 도입돼 더욱 고도로 맞춤화되고 멋진 앱을 빌드하는 데 도움이 될 것입니다. 최신 머티리얼 디자인 3 업데이트를 앱에 적용하려면 머티리얼 디자인 구성 요소의 알파 버전을 사용해보고 곧 제공해드릴 Jetpack Compose에 대한 지원도 확인해보세요.
새로운 디자인의 위젯 - 더 유용하고 보기 좋으며 탐색하기 쉽도록 앱 위젯을 새로 디자인했습니다. 새로운 대화형 컨트롤, 모든 기기에 적합한 반응형 레이아웃, 역동적인 색상으로 자유롭게 맞춤설정할 수 있으면서도 일관된 모양을 유지하는 위젯을 사용해보세요. 자세히 살펴보세요.
알림 UI 업데이트 - 알림 디자인도 새롭게 단장해 더욱 세련된 느낌을 주고 유용성도 높였습니다. 또한, Android 12에서는 다른 모든 알림과의 일관성 유지를 위해 표준 어포던스(standard affordances)로 맞춤 알림을 장식했습니다. 자세히 알아보세요.
스트레치 오버스크롤 - Android 12는 앱 콘텐츠를 보다 부드럽게 스크롤할 수 있도록 모든 스크롤 컨테이너에 새로운 '스트레치' 오버스크롤 효과를 더했습니다. 시스템과 앱 전체에 공통적으로 나타나는 자연스러운 스크롤-중지 표시기(scroll-stop indicator)입니다. 자세히 확인해보세요.
앱 시작 스플래시 화면 - Android 12에는 모든 앱의 스플래시 화면도 도입됩니다. 앱이 고유의 브랜딩 요구사항에 맞춰 다양한 방법으로 스플래시 화면을 사용자 설정할 수 있습니다. 자세히 알아보세요.
더 빠르고 효율적인 시스템 성능 - 코어 시스템 서비스가 사용하는 CPU 시간을 22%, 빅 코어 사용을 15% 줄였습니다. 또한, 앱이 더 빠르게 열리도록 앱 시작 시간을 줄이고 I/O를 최적화했으며, 윈도우 크기가 큰 데이터베이스 쿼리에 대해 CursorWindow의 성능이 최대 49배 개선되었습니다.
최적화된 포그라운드 서비스 - Android 12는 더 나은 사용자 경험을 위해 앱이 백그라운드에 있는 동안에는 포그라운드 서비스를 시작하지 못하는 대신 JobScheduler에서 새로운 신속 처리 작업을 사용하게 할 수 있습니다. 자세히 살펴보세요.
더욱 반응성이 뛰어난 알림 - Android 12는 알림 트램펄린을 제한하여 알림에서 시작되는 앱 지연 시간을 단축시킵니다. 예를 들어 Google 포토 앱은 알림 트램펄린을 제한한 이후부터 시작 속도가 34% 빨라졌습니다. 자세히 확인해보세요.
성능 등급 - 성능 등급은 Android 12 기기에서 까다로운 사용 사례와 더 높은 품질의 콘텐츠를 함께 지원하는 일련의 기기 기능입니다. 앱은 런타임에서 기기의 성능 등급을 확인하고 기기의 성능을 최대한 활용할 수 있습니다. 자세히 알아보세요.
더욱 빠른 머신러닝 - Android 12는 개발자가 Neural Networks API를 통해 ML 가속기를 최대한 활용하고 항상 가능한 한 최고의 성능을 발휘할 수 있도록 지원합니다. ML 가속기 드라이버는 이제 Google Play 서비스를 통해 플랫폼 릴리스 이외의 방법으로도 업데이트할 수 있으므로, 호환되는 모든 기기에서 최신 드라이버를 활용할 수 있습니다.
개인정보 보호 대시보드 - 앱이 마이크, 카메라, 위치 데이터에 액세스할 때 시스템 설정의 새로운 대시보드를 통해 사용자는 해당 사항을 더욱 명확하게 확인할 수 있습니다. 자세히 알아보세요.
대략적인 위치 - 사용자에게 자신의 위치 데이터에 대한 더 많은 제어 권한을 부여하여, 앱에서 사용자의 정확한 위치 정보를 요청하더라도 대략적인 위치 정보에만 액세스할 수 있록 설정할 수 있습니다. 자세히 살펴보세요.
마이크 및 카메라 표시기 - 상태 표시줄의 표시기를 통해 앱이 기기 카메라나 마이크를 사용 중일 때, 이를 사용자에게 알려줍니다. 자세히 확인해보세요.
마이크 및 카메라 전환 - 지원되는 기기에서 사용자는 빠른 설정(Quick Settings)의 새 전환 기능을 통해 마이크와 카메라에 대한 앱 권한을 즉시 비활성화할 수 있습니다. 자세히 알아보세요.
근처 기기 권한 - 앱이 위치 권한이 없어도 새 권한을 사용하여 근처에 있는 기기를 검색하고 페어링할 수 있습니다. 자세히 알아보세요.
리치 콘텐츠 삽입 - 새로운 통합 API를 사용하여 클립보드, 키보드 또는 드래그 앤 드롭 등 어떤 소스에서든 UI의 다양한 콘텐츠를 받을 수 있습니다. 이전 버전과의 호환성을 위해 AndroidX에 통합 API를 추가했습니다. 자세히 알아보세요.
모서리가 둥근 화면 지원 - 많은 최신 기기에 모서리가 둥근 화면이 사용됩니다. 이러한 기기에서 훌륭한 UX를 제공하려면 새로운 API를 사용하여 모서리 세부 정보를 쿼리한 다음, 필요에 따라 UI 요소를 관리할 수 있습니다. 자세히 살펴보세요.
AVIF 이미지 지원 - Android 12는 AVIF(AV1 이미지 파일 형식)를 위한 플랫폼 지원을 추가합니다. AVIF는 동영상 압축을 통해 프레임 내에 인코딩된 콘텐츠를 이용하여, JPEG 등의 이전 이미지 형식과 비교할 때 동일한 파일 크기 대비 이미지 화질이 대폭 개선됩니다.
호환 가능한 미디어 트랜스코딩 - 동영상의 경우, HEVC 형식은 품질과 압축 성능을 크게 높여주므로 모든 앱에서 이 형식을 지원할 것을 권장합니다. 이 형식을 지원할 수 없는 앱의 경우, 호환 가능한 미디어 트랜스코딩 기능을 통해 앱에서 AVC의 파일을 요청하고 시스템에서 트랜스코딩을 처리하도록 할 수 있습니다. 자세히 알아보세요.
더 쉬운 블러, 컬러 필터 및 기타 효과 - 새 API를 사용해 View와 렌더링 계층 구조에 일반적인 그래픽 효과를 더 쉽게 적용할 수 있습니다. RenderEffect를 사용하여 블러, 컬러 필터 등을 RenderNode 또는 Views에 적용할 수 있습니다. 새 Window.setBackgroundBlurRadius() API를 사용하여 창 배경에 성에가 낀 유리 효과를 만들거나 blurBehindRadius를 사용하여 창 뒤에 있는 모든 콘텐츠를 흐리게 만들 수도 있습니다.
향상된 햅틱 경험 - Android 12는 UI 이벤트에 대한 유용한 정보를 주는 햅틱 반응, 보다 몰입감 있고 즐거운 게임 경험을 위한 효과, 생산성을 위해 주의를 끄는 햅틱을 만드는 데 사용할 수 있는 폭 넓은 도구를 제공합니다. 자세히 확인해보세요.
새로운 카메라 효과 및 센서 기능 - 새로운 벤더 확장 프로그램을 통해 앱에서 보케, HDR, 야간 모드 등, 기기 제조업체에서 빌드한 사용자 설정 카메라 효과를 활용할 수 있습니다. 또한, 새로운 API를 사용하여 Quad/Nona Bayer 패턴을 사용하는 초고해상도 카메라 센서도 다양하게 활용 가능합니다. 자세히 살펴보세요.
네이티브 충돌에 대한 디버깅 개선 - Android 12는 NDK 관련 충돌을 더 쉽게 디버깅할 수 있도록 보다 실행 가능한 진단 정보를 제공합니다. 이제 앱이 App Exit Reasons API를 통해 Tombstone이라는 자세한 크래시 덤프 파일에 액세스할 수 있습니다.
게임용 Android 12 - Game Mode API를 사용하면 긴 출퇴근 시간 동안 배터리 수명 향상 또는 최고 프레임 속도를 얻기 위한 성능 모드와 같은 플레이어의 성능 프로필을 확인하고 이에 맞추어 대응할 수 있습니다. 다운로드하면서 플레이 기능을 이용하여 설치 중에 게임 애셋을 백그라운드에서 가져올 수 있으므로, 플레이어가 더 빠르게 게임을 플레이할 수 있습니다.
오늘 Android 12를 일반 대중에 출시하므로 모든 Android 개발자께서는 호환성 테스트를 완료하고 가능한 한 빠르게 업데이트를 게시하여 사용자가 Android 12로 원활히 전환할 수 있도록 조치하시기 바랍니다.
앱 호환성을 테스트하려면 Android 12를 사용하는 기기에 앱을 설치하고 앱 플로우를 따라 기능이나 UI 문제가 있는지 살펴보기만 하면 됩니다. Android 12에서 모든 앱의 동작 변경 사항을 검토하여 앱이 영향을 받을 수 있는 영역을 집중적으로 살펴보세요. 테스트해봐야 할 주요 변경 사항은 아래와 같습니다.
개인정보 보호 대시보드 — 시스템 설정에서 이 새로운 대시보드를 사용하여 마이크, 위치, 기타 민감한 데이터에 대한 앱의 액세스를 확인하고 사용자에게 앱이 해당 데이터에 액세스하려는 근거에 대한 세부 정보를 제공하세요. 자세히 알아보세요.
마이크 및 카메라 표시기 — Android 12에서는 앱이 카메라나 마이크를 사용 중일 때 상태 표시줄에 표시기가 나타나므로 이것이 앱의 UI에 영향을 미치지 않도록 하세요. 자세히 살펴보세요.
마이크 및 카메라 전환 — 빠른 설정(Quick Settings)의 새로운 전환 기능을 사용해 앱에 대한 마이크 및 카메라 액세스를 비활성화하고 앱이 변경 사항을 올바르게 처리하도록 하세요. 자세히 확인해보세요.
클립보드 읽기 알림 — 앱이 예기치 않게 클립보드에서 데이터를 읽을 때 토스트 메시지 알림을 살펴보고 의도하지 않은 액세스를 제거하세요. 자세히 알아보세요.
스트레치 오버스크롤 — 새로운 "스트레치" 오버스크롤 효과로 콘텐츠를 스크롤해보고 예상한 대로 표시되는지 확인하세요. 자세히 살펴보세요.
앱 스플래시 화면 — 다양한 플로우에서 앱을 시작하여 새로운 스플래시 화면 애니메이션을 테스트하세요. 필요한 경우 이를 사용자 설정할 수 있습니다. 자세히 알아보세요.
키 생성기 변경 사항 — Conscrypt 버전을 사용하기 위하여 지원이 중단된 여러 BouncyCastle 암호화 알고리즘이 삭제되었습니다. 앱이 AES와 함께 512비트 키를 사용하는 경우 Conscrypt에서 지원하는 표준 크기 중 하나를 사용해야 합니다. 자세히 알아보세요.
앱에서 라이브러리와 SDK의 호환성을 테스트하는 것을 잊지 마세요. SDK 문제를 발견하면 최신 SDK 버전으로 업데이트하거나 개발자에게 연락하여 도움을 받으세요.
현재 앱의 호환 버전을 게시하면 앱의 targetSdkVersion을 업데이트하는 프로세스를 시작할 수 있습니다. Android 12 앱의 동작 변경 사항을 검토하고 문제를 빠르게 감지할 수 있도록 호환성 프레임워크를 사용하세요.
#AndroidDevSummit이 곧 여러분을 찾아갑니다! 몇 주 뒤인 10월 27~28일(한국시간으로 10월 28~29일)에 참여하셔서 최신 Android 개발 정보를 살펴보세요. 올해는 다양한 기기에서 지원되는 우수한 앱을 테마로 진행되며 태블릿, 웨어러블 등 온갖 기기를 대상으로 더 좋은 앱을 제작하고 생산성을 높이는 데 도움이 되는 개발 툴, API 및 각종 기술에 대해 알아볼 수 있습니다.
30여 개의 Android 기술 세션 개요를 포함하여, 이벤트에 대한 추가 정보도 함께 업데이트되었습니다. 여기에서 이 세션 정보를 확인하시고 어떤 강연을 들을지 미리 살펴보세요. 여러분이 가장 궁금해하시는 질문을 #AskAndroid 해시태그와 함께 트윗으로 보내주시면, 행사 기간에 실시간으로 답변해 드리겠습니다.