한국의 개발자들을 위한 Google for Developers 국문 블로그입니다.
Android 11 베타 2 버전과 플랫폼 안정성에 대해 알아보세요!
2020년 7월 23일 목요일
게시자: Dave Burke, 엔지니어링 부사장
원문은
여기서
확인할 수 있으며 블로그 리뷰에는 강사룡(Google)님이 참여해주셨습니다.
몇 주 전에 저희는 사용자, 각종 컨트롤 및 개인정보 보호를 중심으로 한
Android 11의 첫 번째 베타를 공개
했습니다.
#Android11베타 출시
에서 강조하였듯이, Android를 더욱 인간 중심적이고 표현력있게 만들어 사용자가 스마트 기기를 편리하게 다룰 수 있게 돕고, 민감한 정보에 대한 사용자의 권한을 강화하고자 합니다. 개발자들은
대화 영역(Conversations)
,
대화창(Bubbles)
,
기기 컨트롤(Device Controls)
,
미디어 컨트롤(Media Controls)
등의 API를 사용하여 이런 사용자 경험을 앱에 적용하실 수 있습니다.
오늘은 Android 11의 두 번째 베타에 대해 다룹니다. 이번 릴리스로
플랫폼 안정성
을 위한 중요한 시점에 도달하게 되는데, 이는 Android 11의 API와 동작이 완성되었다는 것을 의미합니다. 개발자들께서는 최종적으로 호환성 작업을 착수해서 3분기 중에 이뤄질 공식 출시에 맞춰 공개할 수 있게 되었습니다.
여기에 등록
하시면 무선 업데이트를 통해 오늘부터 Pixel 2, 3, 3a 및 4 기기에서 베타 2를 받을 수 있고
다운로드
도 가능합니다. 베타 1을 등록하셨다면 자동으로 무선 업데이트됩니다.
여러분의 의견을 계속해서 들려주시기 바라며
, 지금까지 피드백을 보내주신 데 감사드립니다!
플랫폼 안정성
베타 2에서는 Android 11에
플랫폼 안정성
이 제공되는데, 이는 개발자 여러분의 의견을 토대로 올해 추가한 새로운 출시 이정표입니다.
플랫폼 안정성은 앱이 맞닥뜨리게 되는 Android 11의 화면과 동작이 확정된 것을 의미합니다. 여기에는 SDK와 NDK API의 확정 뿐만 아니라, 앱에 영향을 미칠 수 있는 시스템의 동작과 비공식 API 제한 목록의 최종 확정도 포함됩니다. 그러므로 베타 2부터는 플랫폼이 변경되지 않을 것으로 확신하고 호환성 대응 수정을 할 수 있습니다. 일정에 대한 자세한 내용은
여기
에서 확인할 수 있습니다.
플랫폼이 안정화되었으므로
모든 앱 및 게임
개발자
는 최종 호환성 테스트를 실행하고 최종 출시에 앞서 업데이트를 공개할 수 있습니다.
모든 SDK, 라이브러리, 도구 및 게임 엔진 개발자
여러분께서는 지금 테스트를 시작하고 최대한 신속히 호환 업데이트를 출시하는 것이 더욱 중요합니다. 이 업데이트를 받을 때까지 라이브러리를 사용하는 앱 및 게임 개발자들의 작업에 지장을 줄 수도 있기 때문입니다. 호환성 대응 업데이트를 출시할 때는 개발자들에게 널리 홍보하고 알려주세요!
앱 호환성이 중요한 이유
Android에서
'앱 호환성'
이라는 용어는 앱이 플랫폼의 특정 버전(보통은 최신 버전)에서 정상적으로 동작한다는 것을 의미합니다. Android 11 기반 단말이나 에뮬레이터에 프로덕션 앱을 설치해보면 바로 확인하실 수 있습니다. 모든 사용자 흐름과 기능을 테스트했을 때 앱이 정상적으로 보이고 실행된다면, 호환성에 문제가 없는 것입니다!
말로는 간단해 보이지만, 때로는 조금 더 복잡한 과정이 숨어 있기도 합니다. 출시할 때마다 저희는 개인정보 보호와 보안을 개선하는 필수적인 변경 사항을 적용할뿐만 아니라 OS 전반적으로 사용자 경험을 향상하는 변경 사항을 구현하고 있습니다. 때로는 이런 변경 사항이 앱에 영향을 미칠 수 있으므로
동작 변경 사항
을 살펴보고 다시 테스트한 다음, 사용자에게 호환 업데이트를 배포하는 것이 중요합니다. 이는 기본적이지만 앱 품질에 매우 중요한 과정입니다.
앱 호환성은 사용자가 새 기기를 구매하거나 기존 기기에 업데이트를 설치해서 Android의 최신 버전으로 업데이트할 때 빛을 발합니다. 사용자는 설레는 마음으로 Android의 최신 버전을 살펴보고, 좋아하는 앱으로 경험해보고 싶어합니다. 앱이 정상적으로 작동하지 않는다면 이는 사용자와 우리 모두에게 큰 문제입니다.
따라서, 살펴보아야 할
새로운 API와 기능
도 많고 앱의 타겟을 변경으로 인한 고려 사항도 많지만, 가장 먼저 기존 앱을 테스트하고 호환 업데이트를 출시하는 데서부터 시작하기를 권장드립니다.
Android 11이
Android Open Source Project(AOSP)
에 대한 최종 출시 시점(3사분기 예정)이 되는 즉시 Pixel과 다른 기기에 대한 업데이트가 시작될 것입니다. 호환성 테스트를 지원하기 위해 Pixcel 단말 외에도 몇몇 파트너 단말도 미리보기로 공개되어 있습니다.
Android 11에서 보다 쉬워진 앱 호환성 지원
저희는 새로운 OS 버전이 출시될때마다 이에 맞춰 앱을 준비하는 데 필요한 노력을 줄이기 위해 노력하고 있습니다. Android 11에서는 플랫폼 업데이트의 영향을 최소화하기 위한 새로운 프로세스, 개발자 도구,
출시 일정을 추가하였고, 이를 통해 앱이 호환성을 보다 쉽게 확보할 수 있도록 했습니다.
동작 변경의 영향 최소화
- 저희는 개발자가 앱에서
targetSdkVersion
을 Android 11으로 설정할 때까지 최대한 플랫폼 변경 사항을 유예하도록 하여, 앱에 영향을 미칠 만한 플랫폼 변경 사항을 최소화하고자 의식적인 노력을 기울이고 있습니다. Google Play를 통해 앱을 배포할 경우 이런 변경 사항을 반드시 적용해야하는 시점까지 1년 이상이 확보됩니다.
더욱 수월한 테스트와 디버깅
- 호환성 테스트에 도움이 되도록, 우리는 파괴적인 변경 사항(breaking changes) 중 다수를 끄고 켤 수 있도록 했습니다. 즉, 시스템 설정 앱의 개발자 옵션이나 adb에서 변경 사항을 개별적으로 강제 활성화하거나 비활성화할 수 있다는 뜻입니다. 이런 변화 덕분에, 더 이상 기본적인 테스트를 위해 targetSdkVersion을 변경하거나 앱을 다시 컴파일할 필요가 없습니다.
자세한 내용은 여기서 확인해 보세요
.
시스템 설정 앱 개발자 옵션에서의 앱 호환성 변경 화면
비공식 API 제한
- 개발자들이 비공식 API 사용에서 벗어나게 하기 위한 지속적인 노력의 일환으로 비공식
인터페이스의 제한 목록
을 업데이트하였습니다.
공개 API 등에 대한 피드백과 요청
은 언제나 환영합니다.
동적 리소스 로더
- 비공식 API에서 이전하는 과정의 하나로, 저희는 개발자 커뮤니티로부터 런타임에 리소스와 자산을 동적으로 로드하는 공개 API를 요청해받았습니다. 저희이에 따라 저희는 Android 11에
리소스 로더 프레임워크
를 새롭게 추가했습니다. 이와 관련된의견을 주신 모든 개발자들께 감사드립니다!
플랫폼 안정성 이정표
- 앞서 언급한 바와 같이, 이는 개발자에게 명확한 최종 변경 날짜를 알리기 위해 출시 프로세스에 추가된 새로운 이정표니다. 플랫폼 안정성에는 최종 SDK/NDK API뿐 아니라, 최종 내부 API와 앱에 영향을 줄 수 있는 시스템 동작도 대상에 포함됩니다.
Android 11용으로 앱을 준비하세요!
이제 Android 11이 안정화되었으므로 최대한 신속히
앱을 호환시키는 작업
을 시작하세요. 아래에 그 방법을 소개합니다.
기존 앱을 테스트하려면 먼저
모든 앱에 대한 동작 변경 사항
에 어떤 부분이 영향을 받을 수 있는지 확인하세요. 중요한 변경 사항은 다음과 같습니다(앱의 targetSdkVersion과 무관하게 적용됨).
일회성 권한(
One-time permission)
- 사용자는 위치, 기기 마이크, 카메라에 액세스하기 위해 일회성 권한을 부여할 수 있습니다. 자세한 내용은
여기
를 참조하세요.
외부 저장소 접근(External storage access)
- 더 이상 앱에서 외부 저장소의 다른 앱 파일에 접근할 수 없습니다. 자세한 내용은
여기
를 참조하세요.
Scudo 강화 할당자(
Sc
udo hardened allocator)
- 이제 앱에서 네이티브 코드용 힙 메모리 할당자를 지원합니다. 자세한 내용은
여기
를 참조하세요.
파일 설명자 새니타이저(
File descriptor sanitizer)
- 앱에서 네이티브 코드의 문제를 처리하는 파일 설명자를 탐지하는 기능이 기본적 활성화됩니다. 자세한 내용은
여기
를 참조하세요.
앱에서 라이브러리와 SDK과의 호환성을 테스트
하는 것을 잊지 마세요. 문제를 발견하면 최신 SDK 버전으로 업데이트하거나 개발자에게 연락하여 도움을 받으세요.
나중에 기존 앱의 호환 버전을 공개한 후에는
앱의 targetSdkVersion을 업데이트
하는
과정
시작할 수 있습니다.
Android 11 앱에 대한 동작 변경 사항
을 검토한 다음,
호환성 프레임워크
를 통해 어떤 영향이 있는지 알아보세요. 테스트해야 할 중요한 변경 사항의 예시는 다음과 같습니다(targetSdkVersion 30 이상에만 적용됨).
범위 지정 저장소(
Scoped storage)
- 파일을 읽고 쓰는 앱을 위한 새로운 저장소 제약, 동작 및 API. 자세한 내용은
여기
를 참조하세요.
백그라운드 위치 정보(
Ba
ckground location)
- 앱이 백그라운드 상태에서 위치를 요청하는 방법과 사용자가 권한을 부여하는 방법이 변경되었습니다. 자세한 내용은
여기
를 참조하세요.
패키지 가시성
(
Packa
ge visibility)
- 앱이 다른 설치된 앱을 찾고 상호작용하는 방식이 변경되었습니다. 자세한 내용은
여기
를 참조하세요.
압축된 리소스 파일
- 앱에 압축된 resources.arsc 파일이 있거나 파일이 4바이트 단위로 맞춰져(align) 있지 않을 경우 앱을 설치하거나 업데이트할 수 없습니다. 자세한 내용은
여기
를 참조하세요.
APK 서명 스킴 v2(
AP
K Signature Scheme v2)
- 이제 APK 서명 스킴 v2 이상을 사용하여 앱에 서명해야 합니다. 자세한 내용은
여기
를 참조하세요.
힙 포인터 태깅(
Hea
p pointer tagging)
- 64비트 프로세스의 경우 네이티브 힙 할당은 포인터의 상위 바이트에 태그 세트가 있으며, 이는 앱에서 수정해서는 안 됩니다. 자세한 내용은
여기
를 참조하세요.
테스트를 하는 동안 앱에서
제한된 비공식 API의 사용
을 살펴보고 이를 공개 SDK 인터페이스로 옮기세요. 제한된 API에 대한 내용은
여기
에서 확인하실 수 있습니다.
새로운 기능 및 API 살펴보기
호환성 대응이 끝났다면, 이제는 Android 11에서 어떤 새로운 경험을 구현할 수 있는지 알아보세요.
#Android11 베타 게시물
에는 개발자를 위한 새로운 기능이 잘 정리되어 있습니다. Android Studio에는 대용량 APK를 더 빠르게 설치하기 위한
ADB incremental
, 플랫폼 API의 추가적인 null 허용 여부 주석(nullability annotations) 등 Android 11에서 생산성과 워크플로를 개선하기 위한 새로운 기능들도 있습니다. 최신 Android Studio 베타 또는 Canary 버전을
다운로드
하여 이러한 기능들을 사용해볼 수 있습니다. Android 11용 Android Studio 구성에 대한 지침은
여기
에 있습니다.
Android 11 기능과 API에 대한 전체 세부 사항은
Android 11 개발자 사이트
를 참조하세요.
베타 2는 어떻게 구할 수 있는가?
아주 쉽습니다!
여기에 등록
하면 Pixel 2, 3, 3a, 4 기기용 Android 11 베타 업데이트를 무선으로 다운로드 받을 수 있습니다. 또는
Android Flash Tool
를 사용하면 간편하게 온디맨드 업데이트를 받을 수 있고 다운로드 가능한 시스템 이미지도
제공
됩니다. Pixel 기기가 없을 경우 Android Studio의 Android Emulator를 사용하거나 GSI 이미지를 사용하여 지원되는 Treble 호환 기기에서 Android 11을 실행할 수 있습니다.
여러분의 피드백이 가장 중요하니, 어떻게 생각하시는지
여기에서
알려주시면 감사하겠습니다. 핫리스트를 사용하여
플랫폼 문제
(개인정보 보호 및 동작 변경 사항 포함),
앱 호환성 문제
,
타사 SDK 문제
를 제기하실 수 있습니다. 지금까지 귀중한 피드백을 공유해주신 데 감사드립니다!
Android 11 호환성 관련 자료
지난 7월 2째주에서는
#11 Weeks of Android
에서는 Android 11의 호환성을 중점적으로 다뤘습니다. 플랫폼이 안정화되었기 때문에 호환성은 모든 개발자들에게 중요한 주제입니다.
호환성 테스트에 도움이 될 만한 (영문) 참고 자료는
여기
에서 확인할 수 있습니다. (한국에서는 ‘Android 11 Meetup 웨비나 시리즈'의 첫 번째 Meetup인 ‘Android 11 호환성 확보하기'로 호환성 확보가 필요한 주요 Android 11 업데이트를 소개해드렸습니다. 이 웨비나 영상은
공식 홈페이지
에서 다시 보실 수 있습니다.)
Contents
ML/Tensorflow
Android
Flutter
Web/Chrome
Cloud
Google Play
Community
Game
Firebase
검색
Tag
인디게임페스티벌
정책 세미나
창구프로그램
AdMob
AI
Android
Android 12
Android 12L
Android 13
Android 14
Android Assistant
Android Auto
Android Games
Android Jetpack
Android Machine Learning
Android Privacy
Android Studio
Android TV
Android Wear
App Bundle
bootcamp
Business
Chrome
Cloud
Community
compose
Firebase
Flutter
Foldables
Game
gdg
GDSC
google
Google Developer Student Clubs
Google Play
Google Play Games
Interview
Jetpack
Jetpack Compose
kotlin
Large Screens
Library
ma
Material Design
Material You
ML/Tensorflow
mobile games
Now in Android
PC
Play Console
Policy
priva
wa
wear
Wearables
Web
Web/Chrome
Weeklyupdates
WorkManager
Archive
2024
11월
10월
9월
8월
7월
6월
5월
4월
3월
2월
1월
2023
12월
11월
10월
9월
8월
7월
6월
5월
4월
3월
2월
1월
2022
12월
11월
10월
9월
8월
7월
6월
5월
4월
3월
2월
1월
2021
12월
11월
10월
9월
8월
7월
6월
5월
4월
3월
2월
1월
2020
12월
11월
10월
9월
8월
7월
6월
5월
4월
3월
2월
1월
2019
12월
11월
10월
9월
8월
7월
6월
5월
4월
3월
2월
1월
2018
12월
11월
10월
9월
8월
7월
6월
5월
4월
3월
2월
1월
2017
12월
11월
10월
9월
8월
7월
6월
5월
4월
3월
2월
1월
2016
12월
11월
10월
9월
8월
7월
6월
5월
4월
3월
2월
1월
2015
12월
11월
10월
9월
8월
7월
6월
5월
4월
3월
2월
1월
2014
12월
11월
10월
9월
8월
7월
6월
5월
4월
3월
2월
1월
2013
12월
11월
10월
9월
8월
7월
6월
5월
4월
3월
2월
1월
2012
12월
11월
10월
9월
8월
7월
6월
5월
3월
2월
1월
2011
12월
11월
Feed