작성자: Dave Burke (VP of Engineering)
이 글의 원문은 여기서 확인하실 수 있으며 블로그 리뷰에는 엄재웅(GDE)님이 참여해주셨습니다.
Android 14의 두 번째 개발자 프리뷰가 출시되었습니다. 이번 프리뷰는 지난달에 발표한 Android 14의 첫 번째 개발자 프리뷰 작업을 기반으로, 개인정보 보호, 보안, 성능, 개발자 생산성, 사용자 맞춤 설정을 더 개선하는 동시에 태블릿과 폴더블 등 대화면 기기 경험도 꾸준히 개선한 버전입니다.
Android는 일 년 내내 향상된 성능과 새로운 기능을 꾸준히 선보입니다. Android 14 개발자 프리뷰 및 QPR(Quarterly Platform Release) 베타 프로그램에 대한 여러분의 의견은 Android의 지속적인 개선에 핵심적인 역할을 합니다. Android 14 개발자 사이트에는 Pixel을 위한 다운로드 와 출시 타임라인을 포함하여 프리뷰에 대한 더 많은 정보가 있습니다. 개발자 여러분의 의견을 기다리며, 모두에게 유용한 Android 플랫폼을 만드는데 보내 주신 여러분의 변치 않는 도움에 미리 감사드립니다.
Android 14는 Android 12L 및 13에서 수행된 작업을 기반으로 태블릿 및 폴더블 폼 팩터를 지원하도록 개발되었습니다. 이에 맞는 앱을 준비하는 방법을 빠르게 알아보려면 대화면용 빌드 시작하기 및 폴더블에 대해 알아보기를 참조하세요. 대화면용 앱 품질 가이드에 앱 검토를 위한 상세 체크리스트가 포함되어 있습니다. 최근에 저희는 지연 시간이 짧은 스타일러스와 모션 예측을 지원하는 라이브러리도 출시했습니다.대화면 갤러리에는 소셜 및 커뮤니케이션, 미디어, 생산성, 쇼핑, 독서 등 다양한 앱 경험을 위한 디자인에 영감을 주는 콘텐츠가 포함되어 있습니다.
앱 샌드박싱, 오픈소스 코드, 공개 앱 개발을 기반으로 하는 개인정보 보호 및 보안은 언제나 Android의 핵심 과제입니다. Android 14는 사용자 정보 보호를 위해 더 많은 제어 기능을 사용자에게 제공하고 더 안전한 기기 환경을 구축하여 모두를 위한 최고의 플랫폼을 만들고 있습니다.
사용자가 선택한 미디어에 앱이 액세스해야 할 경우 사진 선택 도구사용을 추천드립니다. 이 도구는 핵심 플랫폼 기능, Google Play 시스템 업데이트, Google Play 서비스의 조합을 사용해 Android 4.4 이상을 실행하는 기기에서 권한 없이 사용할 수 있는 환경을 제공합니다.
사진 선택 도구를 사용할 수 없는 경우, 앱이 SDK 33에 도입된 시각적 미디어 권한(READ_MEDIA_IMAGES / READ_MEDIA_VIDEO)을 요청하면 Android 14 사용자는 이제 선택한 사진과 동영상에 대해서만 앱에 액세스 권한을 부여할 수 있습니다.
새 대화상자에서 권한 선택은 다음과 같습니다.
모든 사진에 대한 액세스 허용: 기기 내 모든 사진과 동영상의 전체 라이브러리를 사용할 수 있습니다.
사진 선택: 사용자가 선택한 사진과 동영상만 일시적으로 MediaStore를 통해 사용할 수 있습니다.
허용 안 함: 모든 사진과 동영상에 대한 액세스가 거부됩니다.
앱은 미디어 권한을 다시 요청하고 앱 매니페스트에 READ_MEDIA_VISUAL_USER_SELECTED 권한이 선언되도록 함으로써 사용자에게 미디어를 다시 선택하라는 메시지를 표시할 수 있습니다.
앱에서 이 새로운 동작을 테스트하여 새 권한과 미디어 파일 재선택 흐름을 처리하도록 UX를 조정하세요.
자격 증명 관리자
Android 14는 플랫폼 API로 Credential Manager 를 추가합니다. 또한 Google Play 서비스 구현과 함께 Jetpack 라이브러리 를 통해 Android 4.4(API 레벨 19) 기기에 다시 Credential Manager를 지원합니다. 이는 사용자가 구성한 자격 증명 공급자를 통해 사용자 인증 정보를 검색 및 저장하는 API를 사용해 사용자가 로그인을 더 쉽게 할 수 있도록 하기 위함입니다. 비밀번호 지원 외에도 이 API를 통해 앱에서 비밀번호 없이 로그인하기 위한 새로운 업계 표준인 패스 키를 사용해 로그인할 수 있습니다. 업계 표준에 따라 구축된 패스 키는 다양한 운영체제와 브라우저 생태계에서 작동하고 웹사이트와 앱 모두에서 사용될 수 있습니다. Developer Preview 2는 Developer Preview 1에서 개발자로부터 받은 의견을 반영하여 API를 수정했다는 점과 계정 선택기의 UI 스타일 지정이 개선된 점이 특징입니다. 여기에서 자세히 알아보세요.
더 안전한 암시적 인텐트
Android 14를 대상으로 하는 앱의 경우 암시적 인텐트로 변경 가능한 대기 중인 인텐트(pending intent)를 만들면 예외가 발생하는데, 이로 인해 예기치 않은 코드 경로를 발생시키지 못하도록 합니다. 앱은 보류 중인 인텐트를 변경할 수 없게 만들거나 인텐트를 명시적으로 만들어야 합니다. 여기에서 자세히 알아보세요.
백그라운드 활동 시작
Android 10(API 레벨 29) 이상에서는 앱이 백그라운드에서 실행될 때 활동을 시작할 수 있는 시점에 제한이 있습니다. 이러한 제한은 사용자에 대한 방해를 최소화하고 사용자가 화면에 표시되는 내용을 더욱 잘 제어하도록 돕습니다. 예기치 않은 중단의 인스턴스를 더 감소시키기 위해, Android 14는 포그라운드 앱이 활동을 시작하고자 상호 작용하는 앱의 기능에 대해 더 많은 제어 권한을 포그라운드 앱에 부여합니다. 특히, Android 14를 대상으로 하는 앱은 대기 중인 인텐트(pending intent)를 전송하거나 서비스를 바인딩할 때 백그라운드에서 활동을 시작할 수 있는 권한을 부여해야 합니다.
Android 14에서도 앱이 함께 작동하는 방식을 최적화하고 시스템 상태와 배터리 수명을 개선하며 최종 사용자 환경의 완성도를 높이려는 노력이 계속 이어집니다.
백그라운드 최적화
Developer Preview 2에는 애플리케이션이 백그라운드에서 실행되는 동안 리소스 사용을 개선하기 위해 Android의 메모리 관리 시스템에 대한 최적화가 포함되어 있습니다. 앱이 캐시된 상태로 바뀐 지 몇 초 정도 지나면 포그라운드 서비스, JobScheduler 또는 WorkManager 같은 기존 Android 앱 수명 주기 API 외부에서는 백그라운드 작업이 허용되지 않습니다. 백그라운드 작업에 대한 불허는 Android 13에서보다 훨씬 더 빠르게 이루어집니다.
닫을 수 없는 알림 감소
FLAG_ONGOING_EVENT가 포함된 Android 14의 알림은 잠금 해제된 휴대기기에서 사용자가 닫을 수 있습니다. 잠긴 기기에서의 알림은 닫을 수 없는 상태로 유지되고, 알림 리스너는 이 상태의 알림을 닫을 수 없습니다. 시스템 및 기기 정책 알림 같이 기기 기능에 중요한 알림은 완전히 닫을 수 없는 상태로 유지됩니다.
Android 14는 앱 스토어가 더 나은 사용자 경험을 제공하도록 돕는 여러 가지 새로운 PackageInstaller API를 도입합니다. 여기에는 설치가 승인될 때까지 APK 다운로드를 미룰 수 있는 requestUserPreapproval() 메서드, 설치 프로그램이 설치 중인 앱의 향후 업데이트를 책임질 것임을 표시할 수 있도록 하는 setRequestUpdateOwnership() 메서드, 앱이 사용 중인 동안 분할 APK를 통해 앱의 선택적 기능을 원활하게 설치할 수 있는 setDontKillApp() 메서드 등이 있습니다. 또한 InstallConstraints API는 앱이 사용되지 않을 때같이 적절한 순간에 앱 업데이트가 이루어지도록 할 방법을 설치 프로그램에 제공합니다.
앱 스토어를 개발하는 분이라면 이러한 API를 사용해보고 여러분의 생각을 들려주세요!
지역별 기본 설정
사용자는 지역별 기본 설정을 사용해 온도 단위, 주의 첫날, 번호 지정 시스템을 맞춤 설정할 수 있습니다. 미국에 거주하는 유럽인은 화씨보다 섭씨의 온도 단위를 더 선호할 수 있고 앱에서 한 주가 시작되는 요일을 미국의 기본값인 일요일 대신 월요일로 표시하도록 할 수 있습니다.
이러한 기본 설정에 관한 새로운 Android Settings 메뉴는 앱 설정을 편리하게 변경할 수 있도록 검색 가능한 중심지역의 위치를 사용자에게 제공합니다. 또한 이러한 기본 설정은 백업과 복원 과정을 거친 후에도 그대로 유지됩니다. 여러 API와 인텐트는 앱 정보 표시(getTemperatureUnit, getFirstDayOfWeek)조정을 위한 사용자 기본 설정에 대한 읽기 액세스 권한을 개발자에게 부여합니다. 뿐만 아니라 ACTION_LOCALE_CHANGED에 BroadcastReceiver를 등록하여 지역별 기본 설정 변경 시 언어 구성 변경 사항을 처리할 수도 있습니다.
저희는 앱 호환성을 우선순위에 둠으로써 각 플랫폼 버전에서 업데이트가 더 빠르고 더 원활하게 이루어지도록 노력하고 있습니다. Android 14는 필수적인 앱 변경 작업을 수행할 시간을 개발자에게 더 많이 부여하기 위해 앱이 거쳐야 하는 대부분의 변경 사항을 선택할 수 있도록 했을 뿐 아니라 개발자의 신속한 준비를 도울 수 있도록 관련 도구와 프로세스를 업데이트했습니다.
Developer Preview 2는 플랫폼 변경 사항이 앱에 미치는 영향에 대한 상세한 내용과 API에 대한 의견을 알아보고자 하는 기간에 제공되는 버전이므로, 바로 지금이 새로운 기능을 사용해 보고 여러분의 의견을 주시기에 적기입니다.
또한 호환성 테스트를 시작하고 수행해야 할 작업을 파악하기에도 좋은 때입니다. Developer Options에서 동작 변경 전환을 사용하여 앱의 targetSdkVersion 을 변경하지 않고 새로운 기능 일부를 테스트할 수 있습니다. 이를 통해 Android 14의 선택 변경으로 인해 앱이 어떤 영향을 받을 수 있는지 미리 파악할 수 있습니다.
Developer Options의 App Compatibility 전환.
플랫폼 안정성은 최종 SDK/NDK API 및 앱과 상호 작용하는 시스템 동작이 제공될 때 확보됩니다. 2023년 6월에 플랫폼 안정성에 도달할 것으로 예상되며 그때부터 공식 출시 전까지 여러분이 최종 테스트를 수행할 시간이 몇 주 정도 있을 것입니다. 세부적인 출시 일정은 여기에서 확인할 수 있습니다.
개발자 프리뷰에는 여러분이 Android 14의 기능을 사용해 보고 앱을 테스트하고 의견을 개진하는 데 필요한 모든 것이 있습니다. 태블릿과 폴더블로 가장 쉽게 앱 테스트를 시작하는 방법은 Android Studio SDK Manager 최신 프리뷰의 태블릿 또는 폴더블 구성에서 Android Emulator를 사용하는 것입니다. 스마트폰의 경우, 지금 바로 Pixel 7 Pro, Pixel 7, Pixel 6a, Pixel 6 Pro, Pixel 6, Pixel 5a 5G, Pixel 5 또는 Pixel 4a(5G) 기기에 시스템 이미지를 플래시하여 앱 테스트를 시작할 수 있습니다. Pixel 기기가 없으면 Android Studio의 Android Emulator로 64비트 시스템 이미지를 사용할 수 있습니다.
Android 14에서 최상의 개발 경험을 하고 싶다면 Android Studio Giraffe의 최신 프리뷰(또는 최신 Giraffe+ 버전)를 사용하는 것이 좋습니다. 준비가 되었으면 다음 작업들을 수행해야 합니다.
새로운 기능과 API 사용 - 개발자 프리뷰의 초기 단계에서 여러분의 의견은 매우 중요합니다. 의견 페이지의 추적기에 문제를 보고하세요.
현재 앱의 호환성 테스트 - 앱이 Android 14에서 기본 동작 변경의 영향을 받는지 알아보고 Android 14를 실행하는 기기 또는 에뮬레이터에 앱을 설치한 후 광범위하게 테스트해 보세요.
선택 변경 사항으로 앱 테스트 - Android 14에는 새 플랫폼을 대상으로 할 때만 앱에 영향을 주는 선택적 동작 변경 사항이 있습니다. 이런 변경 사항을 조기에 파악하고 평가하는 것이 중요합니다. 더 쉽게 테스트할 수 있도록 전환 스위치를 사용하여 변경 사항의 적용 여부를 개별적으로 설정할 수 있습니다.
Android 14 릴리스 주기 내내 프리뷰 시스템 이미지와 SDK를 정기적으로 업데이트할 예정입니다. 이번에 발표된 프리뷰는 개발자 전용으로, 일상용이나 소비자용이 아닙니다. 그래서 신규 Android 14 개발자 프리뷰 사용자를 위해 수동 다운로드로만 제공됩니다. 프리뷰 빌드를 수동으로 설치했다면 이후의 모든 프리뷰와 베타 버전에 대한 향후 업데이트를 OTA 방식을 통해 자동으로 받을 수 있습니다. 자세한 내용은 여기에서 확인하세요.
Android 13 QPR 베타 프로그램에서 Android 14 개발자 프리뷰 프로그램으로 전환하되 기기를 완전 삭제하고 싶지 않다면, 지금 Developer Preview 2로 전환하는 것이 좋습니다. 그렇지 않으면 Android 13 베타의 빌드 날짜가 더 최신 버전이어서 데이터를 완전 삭제하지 않고서는 Android 14 개발자 프리뷰로 바로 전환하지 못하게 되는 기간이 발생할 수 있습니다.
베타 출시 단계에 이르면 소비자도 Android 14를 사용해 볼 수 있도록 할 계획이며 그때 Android 14 베타 프로그램 등록을 시작하겠습니다. 지금 당장은 Android 14에서 Android 베타 프로그램을 사용할 수 없음을 참고해 주시기 바랍니다.
자세한 내용은 Android 14 개발자 사이트를 참조하세요.
Java와 OpenJDK는 Oracle 및/또는 그 계열사의 상표 또는 등록 상표입니다.