이 글의 원문은 여기서 확인하실 수 있으며 블로그 리뷰에는 노현석(GDE)님이 참여해주셨습니다.
매일 전 세계 수십억 명이 Android 기기를 통해 일상적인 일을 수행합니다. 개발자 커뮤니티의 의견을 공유하는 협업 프로세스 덕분에 Android는 사용자 모두에게 효과적으로 기능할 수 있습니다.
오늘 저희는 Android 13 Developer Preview 1과 함께 Android의 다음 버전 출시에 대한 정보를 최초로 공유하고자 합니다. Android 13은 개발자 생산성은 물론, 개인정보 보호 및 보안과 같은 중요한 테마를 이어갈 것입니다. 또한 현재 사용 중인 2억 5천만 개 이상의 대화면 Android 기기를 원활하게 사용할 수 있도록 12L의 최신 업데이트를 기반으로 할 것입니다.
이는 Android 13을 위한 시작일 뿐이며, 릴리스 과정을 진행하면서 훨씬 더 많은 기능과 도구를 공유하겠습니다. 새로운 기능을 알아보려면 끝까지 읽어보세요. Android 13 개발자 사이트를 방문하면 Pixel용 다운로드와 릴리스 일정을 자세히 확인할 수 있습니다. 언제나처럼 최종 릴리스에 이런 기능이 포함되도록 조기에 다양한 의견을 듣는 것이 매우 중요합니다. 개발자 여러분의 의견을 기다리겠습니다. 또한 모든 이들에게 효과적이고 유용한 Android 플랫폼을 만들기 위한 여러분의 변치않는 지원에 미리 감사 드립니다!
개인정보 보호와 보안을 핵심 요소로
OS와 앱에 있어서는 개인적이고 민감한 정보에 대한 신뢰가 중요합니다. 개인정보 보호는 Android 제품 원칙의 핵심이며, Android 13은 기기에 더 안전한 환경과 사용자에게 더 많은 제어 기능을 제공함으로써 모두를 위한 믿음직스러운 고품질 플랫폼을 만드는 데 중점을 둡니다. 오늘의 출시를 통해 사용자가 사진과 동영상을 앱과 안전하게 공유할 수 있는 사진 선택기(photo picker)와 앱이 위치 권한을 가져야 할 필요성을 더욱 최소화하는 새로운 Wi-Fi 권한을 선보입니다. 새로운 API를 사용해 보고 변경 사항이 앱에 어떤 영향을 미칠 수 있는지 테스트해 보시기 바랍니다.
사진 선택기와 API - 사용자의 사진 및 동영상 개인정보 보호를 위해, Android 13에서는 사용자가 로컬 및 클라우드 기반 사진을 안전하게 공유하도록 최적화된 표준 방법으로 시스템 사진 선택기를 추가합니다. Android의 유구한 문서 선택기를 사용하면 기기의 모든 미디어 파일을 볼 권한이 없어도 유형을 불문하고 특정 문서를 앱과 공유할 수 있습니다. 사진 선택기는 사진과 동영상을 선택하기 위한 전용 환경으로 이 기능을 확장합니다. 사진 선택기 API를 사용하는 앱은 기기상의 모든 미디어 파일을 볼 권한 없이도 공유된 사진과 동영상에 액세스할 수 있습니다. Android 11 이상을 실행하는 기기(Go 기기 제외)에 대한 MediaProvider 모듈 업데이트의 일부로서 Google Play 시스템 업데이트를 통해 더 많은 Android 사용자에게 사진 선택기 환경을 제공할 계획입니다. 사진 선택기 API를 한번 사용해 보시고 소중한 의견을 들려주세요!
사진 선택기를 통해 특정 사진과 동영상에 대한 액세스 권한을 일관되고 안전하게 앱에 부여할 수 있습니다.
Wi-Fi 환경을 위한 근처 기기 권한 - Android 13에서는 Wi-Fi를 통해 근처의 액세스 포인트로의 기기 연결을 관리하는 앱에 대해 NEARBY_WIFI_DEVICES 런타임 권한(NEARBY_DEVICES 권한 그룹의 일부)을 도입합니다. 흔히 사용되는 다수의 Wi-Fi API를 호출하는 앱에는 새로운 권한이 필요해질 것이며, 앱은 위치 권한이 없어도 Wi-Fi를 통해 근처의 기기를 검색하고 연결할 수 있습니다. 이전에는 근처 Wi-Fi 기기에 연결해야 하지만 실제로 그 기기의 위치까지는 알 필요가 없는 앱을 사용하려 할 때 위치 권한 요구 사항이 까다로운 문제였습니다. Android 13을 대상으로 하는 앱은 이제 위치 권한 없이도 'neverForLocation' 플래그를 사용하여 NEARBY_WIFI_DEVICES 권한을 요청할 수 있으며, 그 덕분에 개발자로서는 민감한 위치 권한 문제에 따른 마찰을 줄이면서 개인정보 보호에 친화적인 앱 디자인을 증진하는 데 도움이 됩니다. 자세히 알아보세요.
개발자 생산성과 도구
Android 13은 개발자 생산성을 위한 새로운 기능과 도구 또한 제공합니다. Android 13에서든, Kotlin에서 좋아하는 언어나 Jetpack을 사용하는 독점 API와 같은 최신 Android 개발용 도구를 통해서든, 개발자가 수십억 개의 기기에서 실행되는 멋진 앱을 만들도록 도와드리는 일이 우리의 핵심 임무 중 하나입니다. 저희는 개발자가 보다 생산적으로 일할 수 있도록 지원함으로써 계속해서 놀라운 경험을 만들어내는 일에만 집중할 수 있도록 개발 비용을 절감해 드리고자 합니다. 오늘 발표하는 릴리스의 새로운 기능 중 몇 가지를 소개하겠습니다.
빠른 설정 위치 API - 알림 창의 빠른 설정은 사용자가 앱 컨텍스트를 벗어나지 않고도 설정을 변경하거나 빠른 동작을 수행할 수 있는 편리한 수단입니다. 사용자 설정 타일을 제공하는 앱의 경우, 사용자가 더 쉽게 타일을 검색해 빠른 설정에 추가할 수 있습니다. 이제 새로운 타일 배치 API를 사용하여 앱에서 사용자에게 사용자 설정 타일을 활성 빠른 설정 타일 세트에 직접 추가하라는 메시지를 표시하도록 할 수 있습니다. 새로운 시스템 대화 상자 덕분에 사용자는 빠른 설정으로 이동하여 타일을 추가하는 대신 앱에서 나가지 않고도 한번에 타일을 추가할 수 있습니다.
테마 앱 아이콘 - Android 13에서는 Material You의 동적 색상을 Google 앱뿐만 아니라 모든 앱 아이콘으로 확장하여, 사용자가 배경화면의 색조와 기타 테마 기본 설정과 어울리는 아이콘을 선택할 수 있습니다. 단색 앱 아이콘(예: 알림 드로어블)을 제공하고 적응형 아이콘 XML에 대한 조정만 하면 됩니다. 테마 앱 아이콘을 선택한 사용자에게 일관된 경험을 선사할 수 있도록 모든 개발자가 호환 가능한 아이콘을 제공하실 것을 적극 권장합니다. 테마 앱 아이콘은 초기에 Pixel 기기에서 지원되며, 더 많은 기기에서 사용할 수 있도록 기기 제조업체 파트너들과 협력하고 있습니다. 자세히 알아보세요.
앱별 언어 기본 설정 - 어떤 앱에서는 시스템 언어와는 다른 언어를 선택할 수 있는 선택지로 다국어 사용자의 필요를 충족시킵니다. 이러한 앱은 이제 새로운 플랫폼 API를 호출하여 사용자의 기본 언어를 설정하거나 가져올 수 있으며, 이는 앱의 런타임 언어를 설정할 때 상용구 코드 감소와 호환성 개선에 도움이 됩니다. 더욱 폭넓은 호환성을 위해, 향후 Jetpack 라이브러리에도 유사한 API를 추가할 예정입니다. 자세히 알아보세요.
더 빠른 하이픈 삽입 - 하이픈 삽입을 사용하면 줄 바꿈이 된 텍스트를 더 쉽게 읽을 수 있고 UI의 적응성이 더욱 향상됩니다. Android 13에서는 하이픈 삽입 성능을 최대 200%까지 최적화했으므로, 이제는 렌더링 성능에 거의 아무런 영향도 주지 않고 TextView에서 이 기능을 사용할 수 있습니다. 더 빠른 하이픈 삽입을 사용하려면 setHyphenationFrequency()에서 새로운 fullFast 또는 normalFast 빈도를 사용하세요. 더 빠른 하이픈 삽입을 사용해 보시고 여러분의 의견을 들려주세요!
프로그래밍 가능한 셰이더 - Android 13에서는 AGSL(Android Graphics Shading Language)을 사용하여 정의된 동작과 함께, 프로그래밍 가능한 RuntimeShader 객체에 대한 지원을 추가합니다. AGSL은 GLSL과 많은 구문을 공유하지만, Android 렌더링 엔진 내에서 작동하여 Android의 캔버스 내에서 그리기를 사용자 설정할 뿐 아니라, View 콘텐츠를 필터링합니다. Android는 내부적으로 이러한 셰이더를 사용하여 잔물결 효과, 흐리기, 스트레치 오버스크롤을 구현하며, Android 13을 사용해 유사한 고급 효과를 앱에서 사용할 수 있습니다.
GLSL 셰이더를 구현한 AGSL 애니메이션 셰이더
OpenJDK 11 업데이트 - Android 13에서는 저희는 앱 및 플랫폼 개발자를 위한 라이브러리 업데이트와 Java 11 프로그래밍 언어 지원을 통해 OpenJDK 11 LTS 릴리스에 맞춰 Android의 핵심 라이브러리를 새로 개편하는 작업을 시작했습니다. 또한 Android 12 이상을 실행하는 기기에 대한 ART 모듈 업데이트의 일환으로, Google Play 시스템 업데이트를 통해 이러한 핵심 라이브러리 변경 사항을 더 많은 기기에 적용할 계획입니다. 자세히 알아보세요.
앱 호환성
각 플랫폼 릴리스와 함께, 새 플랫폼 버전을 출시하면서 앱 호환성을 최우선 순위에 두어 더 빠르고 원활한 업데이트가 가능하도록 할 것입니다. Android 13에서는 개발자에게 더 많은 시간을 드리기 위해, 앱이 거쳐야 하는 대부분의 변경 사항을 선택할 수 있도록 했을 뿐 아니라 개발자가 더 신속하게 준비할 수 있도록 관련 도구와 프로세스를 업데이트했습니다.
Google Play를 통한 Android 업데이트 - Android 13에서는 앱이 다양한 기기에서 더 안정적이고 안전한 환경에서 작동할 수 있도록 하고 새로운 특징과 기능을 사용자에게 제공하기 위해 Google Play 시스템 업데이트(Project Mainline)에 대한 투자를 계속 확대하고 있습니다. 이제는 기존 모듈에 대한 업데이트를 통해 이전 버전의 Android 사용자에게 직접 사진 선택기, OpenJDK 11과 같은 새로운 기능을 제공할 수 있습니다. 또한 Android의 업데이트 가능한 핵심 기능 범위를 더욱 확장하고자, Bluetooth 및 초광대역 모듈과 같은 새로운 모듈을 추가하기도 했습니다.
태블릿, 폴더블, Chromebook을 위한 최적화 - 태블릿, 폴더블, Chromebook과 같은 대화면 기기의 사용이 증가하는 지금, 이러한 기기에 맞춰 앱을 준비하고 어떤 화면에든 적합한 완전 적응형 앱을 디자인해야 합니다. 태블릿 최적화에 관한 안내를 따라 이러한 과정을 시작한 다음, 대화면용으로 빌드하고 폴더블용으로 개발하는 방법을 습득할 수 있습니다.
더욱 쉬워진 변경 사항 테스트와 디버깅 - 앱에 영향을 미칠 수 있는 선택 변경 사항을 더 쉽게 테스트할 수 있도록, 올해도 역시 그중 다수를 전환 가능하게 만들 것입니다. 전환 기능을 사용해 개발자 옵션이나 adb에서 변경 사항을 개별적으로 강제 적용하거나 해제할 수 있습니다. 여기서 자세한 내용을 확인해 보세요.
개발자 옵션에서 앱 호환성 전환
플랫폼 안정성 추진 일정 - 작년과 마찬가지로 더 여유있게 앱 호환성 작업을 계획할 수 있도록 플랫폼 안정성 추진 일정을 미리 알려드리겠습니다. 이 일정표는 최종 SDK/NDK API뿐만 아니라 최종적인 내부 API와 앱과 직접 관련한 시스템 동작에 대한 정보도 제공합니다. 올해는 2022년 6월에 플랫폼 안정성을 확보할 것으로 예상하고 있으며 그때부터 몇 주에 걸쳐 최종 테스트를 수행한 후 공식 출시할 계획입니다. 세부적인 출시 일정은 여기에서 확인할 수 있습니다.
Android 13 시작하기
개발자 프리뷰에서 Android 13 기능을 사용해보고, 앱을 테스트하고, 피드백을 제시할 수 있습니다. 태블릿 또는 폴더블 구성에서 Android Emulator를 사용하여 태블릿과 폴더블로 쉽게 앱 테스트를 시작할 수 있습니다. 전체 설정 가이드는 여기에서 확인하세요. 스마트폰의 경우, 오늘이라도 당장 Pixel 6 Pro, Pixel 6, Pixel 5a 5G, Pixel 5, Pixel 4a(5G), Pixel 4a, Pixel 4 XL 또는 Pixel 4 기기에 시스템 이미지를 플래시하여 기기에서 앱 테스트를 시작할 수 있습니다. Pixel 기기가 없는 경우에는 Android Studio의 Android Emulator로 64비트 시스템 이미지를 사용할 수 있습니다. 또한, 더욱 광범위한 테스트를 위해 GSI 이미지도 사용할 수 있습니다.
준비가 완료되면 아래의 할 일들을 수행하세요.
새로운 기능과 API 사용 - 개발자 프리뷰의 초기 단계 중에 귀하의 피드백은 매우 중요합니다. Issue Tracker를 통해 이슈를 신고하거나 피드백 및 요청 페이지에서 선택한 기능에 대한 설문조사에 응해 직접 의견을 제시해 주세요.
현재 앱의 호환성 테스트 - 앱이 Android 13의 기본 동작 변경 사항에 영향을 받는지 알아보세요. Android 13을 실행하는 기기나 에뮬레이터에 현재 게시된 앱을 설치하고 테스트하기만 하면 됩니다.
선택 변경 사항으로 앱 테스트 - Android 13은 새 플랫폼을 대상으로 할 때만 앱에 영향을 주는 선택 동작 변경 사항이 있습니다. 이러한 변경 사항을 일찍 파악하고 평가하는 것이 매우 중요합니다. 더 쉽게 테스트할 수 있도록, 변경 사항의 적용 여부를 개별적으로 설정할 수 있습니다.
Android 13 릴리스 주기동안 프리뷰 시스템 이미지와 SDK를 정기적으로 업데이트할 예정입니다. 이 초기 프리뷰 릴리스는 개발자 전용이며 일상적 용도나 소비자용으로 제공되는 것은 아니므로, 수동 다운로드 전용으로 사용할 수 있습니다. 프리뷰 빌드를 수동으로 설치하면 이후의 모든 프리뷰와 베타에 대해서는 자동으로 무선 업데이트가 진행됩니다. 자세히 알아보세요.
베타 출시 단계가 되면 소비자도 Android 13을 사용해 볼 수 있도록 할 계획이며 그때 Android 베타 프로그램 등록을 시작할 것입니다. 지금 당장은 Android 13의 Android 베타를 사용할 수 없습니다.
자세한 내용은 Android 13 개발자 사이트를 참조하세요.
Java와 OpenJDK는 Oracle 및/또는 그 계열사의 상표 또는 등록 상표입니다.