한국의 개발자들을 위한 Google for Developers 국문 블로그입니다.
개발자를 위한 안드로이드 9 파이 (Pie)를 소개합니다
2018년 8월 13일 월요일
블로그 원문은
이 곳
에서 확인해보실 수 있고 리뷰에는 양찬석(Google)님이 도와주셨습니다.
게시자: Dave Burke, 엔지니어링 부사장
안드로이드의 최신 버전, 안드로이드 9 파이(Pie)가 공식 출시되었습니다.
안드로이드 9 파이는 머신러닝의 힘으로 더욱 똑똑하고, 사용하기 쉽고, 개별 사용자에게 최적화된 경험을 제공 할 수 있습니다. 사용자가 체험할 수 있는 새로운 기능은
Google 한국 블로그에서
확인해보세요. 이번 블로그 포스트에서는 개발자 여러분이 앱의 기능을 강화하고 새로운 사용자 경험을 제공하고, 사용자 참여도를 높일 수 있는 안드로이드 9의 주요 기능을 살펴볼 예정입니다.
우선 안드로이드 베타 프로그램에 참여해주신 많은 분들께 감사드립니다. 약 14만명이 베타 프로그램에 참여하였고
7곳의 기기 제조사
가 베타 버전을 주력 디바이스에 적용하였습니다. 덕분에 전 세계의 사용자로부터 피드백을 받을 수 있었습니다. 수 많은 피드백과 1,000건이 넘는 버그 수정 및 기능 요청을 보내주셨습니다. 안드로이드 9 정식 출시에 맞춰 소스 코드가
Android 오픈소스 프로젝트(AOSP)
에 푸시되었으며, 전 세계 모든 Pixel 사용자에게 안드로이드 9 버전이 출시되었습니다. 향후 몇 개월 이내에 더 많은 기기에 적용될 것입니다.
앞으로도 Google은 전 세계의 개발자 여러분이 안드로이드를 통해 큰 성공을 거둘 수 있는 최고의 오픈 플랫폼으로 거듭날 수 있도록 노력할 것입니다. 안드로이드 최신 버전을 출시하고 앱 및
게임
을 위한
Google Play의 새로운 기능
을 지속적으로 추가하는 등 Google은 개발자 여러분이 좋은 앱을 만들고, 전 세계에서 안전하면서도 비용 효율적으로 적절한 사용자에 도달하여 여러분의 앱을 서비스할 수 있도록 지원할 것을 약속합니다.
안드로이드 9에 포함된 기능
머신러닝의 힘으로 스마트폰을 더욱 스마트하게
안드로이드 9는 사용자 선호를 학습하여 더 나은 경험을 제공합니다. 배터리 수명을 늘리고, 가장 필요한 순간에 항상 사용하는 앱의 기능을 바로 시작할 수 있도록 화면에 띄워줍니다. 스마트폰을 더 오랫동안 더 매끄럽게 사용할 수 있습니다.
어댑티브 배터리 (Adaptive Battery)
어댑티브 배터리
기능을 구현하기 위해
DeepMind
와 손을 잡았습니다. 어댑티브 배터리는 머신러닝을 이용해 사용자가 가장 애용하고 관심을 두는 앱에 시스템 리소스를 우선적으로 할당합니다. 개발자 입장에서 기존 안드로이드에서 소개된
잠자기(Doze)
,
앱 대기(App Standby)
,
백그라운드 제한
에 최적화된 앱을 만들었다면 특별히 걱정할 부분은 없습니다. 아직 앱을 최적화하지 않았다면
전원 관리(Power Management) 문서
에서 그 방법을 자세히 확인해 보세요.
슬라이스 (Slices)
슬라이스
는 앱에서 제공하는 리치 콘텐츠, 동적 콘텐츠, 대화형 콘텐츠를 표시할 수 있는 UI 템플릿입니다. 사용자가 앱을 실행시킬 필요 없이, 앱의 주요 작업을 수행할 수 있도록 도와줍니다. 아직까지 Google 검색에서만 활용되지만, 이 후에는 Google 어시스턴트 등 다른 곳에서도 활용될 예정입니다.
슬라이스를 활용하는 방법은
이 문서
에서 확인할 수 있습니다.
앱 액션 (App Actions)
앱 액션 기능
은 사용자에게 앱을 보다 잘 노출 시키고 사용자 재방문율을 높일 수 있는 새로운 기능입니다. 머신러닝을 이용해 사용자가 처한 상황을 기반으로 사용자의 의도(Intention)를 파악하면, 해당 인텐트(Intent)를 처리할 수 있는 앱을 딱 알맞은 시점에 사용자에게 노출해 줍니다.
앞으로 몇 주 이내로 앱이 어떻게 하나 혹은 그 이상의 사용자 인텐트를 처리할 수 있는지 그 방법을 자세히 공유할 예정입니다. 앱 액션을 지원하면 앱의 특정 지점으로 바로 이동할 수 있는 앱 액션 버튼을 제공할 수 있습니다. 앱 액션 버튼은 사용자의 요청에 따라 여러 Google 서비스 및 안드로이드 환경에서 표시될 수 있습니다.
Text Classifier 및 Smart Linkify
TextClassifier AP
가 텍스트 항목을 구분할 때 사용하는 ML 모델이 확장되었습니다. 이제 추가로 날짜 및 항공편 번호를 인식합니다.
새롭게 추가된 API
를 사용해 백그라운드 상에서 자동으로 텍스트 항목을 구분하고
Linkify
기능을 제공할 수 있습니다. 이 때 구분된 텍스트가 단순 웹 링크가 아닌 주소나 혹은 전화번호등이라면 해당 형식에 맞는 추가적인 기능(예를 들어 주소인 경우 구글 맵 실행)을 바로 제공할 수 있습니다.
Neural Networks API 1.1
점점 더 중요해지는 온 디바이스(On-Device) 머신러닝을 지원하기 위해,
Neural Networks API
가 업데이트 되었습니다.
Neural Networks 1.1
는 9개의 새로운 연산(Pad, BatchToSpaceND, SpaceToBatchND, Transpose, Strided Slice, Mean, Div, Sub 및 Squeeze)을 지원합니다. Neural Networks API는 일반적으로
TensorFlow Lite
를 통해 사용됩니다.
기기의 성능을 더욱 쉽게 최대한 활용
스마트폰을 더욱 똑똑하게 만드는 것은 신나는 일입니다. 하지만 기술보다는 사용자가 중심이 되어야 합니다. 안드로이드 9에서는 안드로이드 UI를 더욱 단순하게 정리하고, 개발자가 쉽게 접근할 수 있도록 개선했습니다. 사용자가 앱을 찾고, 사용하고, 관리하는 방법이 한 층 더 편리해집니다.
새로운 시스템 네비게이션
안드로이드 9에는 1년 이상 개발에 공을 들인 새로운 시스템 네비게이션이 적용됩니다. 멀티태스킹을 더 쉽게 활용할 수 있고 앱 검색도 훨씬 간편해집니다. 어디서든 화면을 위로 스와이프하면 최근 사용한 앱들의 전체 화면 미리보기를 확인할 수 있고 여기서 탭하여 표시된 앱으로 쉽게 이동할 수 있습니다.
디스플레이 컷아웃
안드로이드 9은
디스플레이 컷아웃(노치)을 지원
하며, 개발자 여러분은 최신 디스플레이의 모든 공간을 활용할 수 있습니다. 대부분 앱은 추가 수정 없이도 컷아웃이 있는 디바이스에서 잘 동작합니다. 시스템은 상태 표시줄 높이를 기준으로 화면의 어떤 영역을 앱이 사용할 수 있는지 없는지를 구분합니다. 전체 화면을 모두 활용하는 몰입형 콘텐츠가 있는 경우,
디스플레이 컷아웃 API
를 사용하여 컷아웃의 위치와 형태를 확인하고 이를 활용할 수 있습니다. 개발과 테스트를 돕기 위해 안드로이드 9 기기에서 여러 컷아웃 도형을 시뮬레이션할 수 있는 개발자 옵션이 추가되었습니다.
몰입형 콘텐츠가 있는 앱은 디스플레이 컷아웃을 사용하여 콘텐츠를 전체 화면에 표시할 수 있습니다.
알림 및 스마트 회신
안드로이드 9에서 알림은 더욱 유용하고 다양한 작업을 바로 수행할 수 있도록 발전되었습니다. 메시징 앱은 새로운
MessagingStyle
API를 사용하여 대화를 표시하고, 사진과 스티커를 첨부하고, 적절한 답변(Smart Reply)을 사용자에게 제안할 수도 있습니다. 곧
ML 키트
를 사용하여 스마트 회신을 생성할 수 있게 됩니다.
대화와 스마트 회신을 포함한 MessagingStyle 알림[위]과 이미지와 스티커를 포함한 MessagingStyle 알림[아래]
텍스트 돋보기
안드로이드 9에서는 사용자가 더 쉽게 텍스트를 선택할 수 있도록
돋보기 위젯
(
Magnifier widget
)을 추가했습니다. 드래그 가능한 창에 확대된 텍스트를 표시하고, 이를 활용해 사용자는 커서 혹은 텍스트 선택 핸들을 보다 정확히 위치시킬 수 있습니다. 돋보기 위젯은 EditText 위젯 외에 모든 뷰에서 사용 가능하며, 당연히 Custom Widget 이나 Custom Text Rendering 중에도 사용할 수 있습니다.
돋보기 위젯
은 텍스트뿐만 아니라, View 혹은 Surface를 확대할 때도 사용할 수 있습니다. 돋보기 위젯과 다른 텍스트 기능(예:
PrecomputedText
, 줄 높이, 기준 텍스트 정렬)에 대한 자세한 정보는
최근 블로그 게시물
에서 확인할 수 있습니다.
사용자를 위한 보안 및 개인정보 보호기능 강화
생체 인식 프롬프트
안드로이드 9에는 지원되는 생체 인식 인증 유형을 사용자에게 알려주는 대화상자가 도입됩니다. 이 대화상자는 시스템이 관리하며, 생체 인식 센서를 통한 사용자 인증 기능이 통합되어 더욱 일관된 사용 환경을 만들었습니다. 따라서 이제는 앱이 자체적으로 대화상자를 만들 필요 없이
BiometricPrompt API
를 사용하여 기본 시스템 대화상자를 사용할 수 있습니다. 이 API는 (디스플레이 내 센서를 포함한) 지문 외에 안면 및 홍채 인증 기능도 지원합니다.
앱에서 자체 지문 인증 대화상자를 표시하는 경우에는 가급적 빨리
BiometricPrompt API
를 사용하도록 앱을 수정해야합니다. 자세한 정보는
이 게시물
을 참조하세요.
확인 절차 보호
안드로이드 9에서는
Android Protected Confirmation
이 도입됩니다. 이 기능은 TEE(Trusted Execution Environment)하에서 사용자 확인이 필요한 문자열(주> 예를 들어 결제하시겠습니까? 등)이 표시되고, 사용자가 이를 확인할 수 있도록 합니다. TEE는 사용자가 해당 문자열 보고, 명시적으로 확인한 후에 문자열을 서명하고, 이 후 앱은 사용자가 안전한 환경 내에서 앱이 제공한 문자열을 확인하고 승인했음을 인증할 수 있습니다.
개인 키를 위한 보호 강화
StrongBox가 새로운
KeyStore
유형으로 추가됩니다. 공격 시도에 강한 별도 CPU, RAM, 보안 플래시를 갖춘 조작 방지 하드웨어 기반 키 저장소를 제공하는 하드웨어를 사용하는 경우 새롭게 추가된 API를 통해 해당 영역에 접근할 수 있습니다.
KeyGenParameterSpec
에서 키를 StrongBox 보안 칩으로 보호할지 여부를 설정할 수 있습니다.
DNS over TLS
안드로이드 9에서는 DNS over TLS에 대한 지원이 내장됩니다. 따라서 네트워크의 DNS 서버에서 이를 지원하는 경우 DNS 쿼리가 TLS로 자동 업그레이드됩니다. 사용자는 네트워크 및 인터넷 설정의 새로운 비공개 DNS 모드 선택 메뉴에서 DNS over TLS 동작을 관리할 수 있습니다. 직접 DNS 쿼리를 수행하는 앱은 새로운 API(
LinkProperties.isPrivateDnsActive()
)를 사용하여 DNS 모드를 확인할 수 있습니다. 자세한 정보는
이 게시물
을 확인하세요.
HTTPS를 기본값으로 지정
모든 네트워크 트래픽을 일반 텍스트(Cleartext - 암호화되지 않은 HTTP)에서 TLS로 보호된 웹사이트(HTTPS)로 전환하기 위한 광범위한 노력의 일환으로, 모든 HTTP 트래픽을 차단하도록
네트워크 보안 구성
의 기본값을 변경하는 중입니다. HTTP 연결은 특정 도메인에 대해 일반 텍스트 사용을 명시적으로 선언한 경우에만 허용됩니다. 자세한 내용은
여기
를 참조하세요.
컴파일러 기반 보안 마이그레이션
안드로이드 9에서는 컴파일러 수준 마이그레이션을 더욱 확대하여, 보안상 위험한 동작을 런타임에서 더 잘 탐지하고, 이를 통해 플랫폼 보안을 강화했습니다. CFI(Control Flow Integrity) 기술은 코드 재사용 공격과 임의의 코드 실행을 차단하는 데 도움을 줍니다. 안드로이드 9은 미디어 프레임워크와 기타 보안이 중요한 구성 요소(예: NFC, 블루투스)에서 CFI 사용을 확대했습니다. 또한 LLVM으로 빌드할 때 안드로이드 공통 커널에 CFI 커널도 지원할 수 있도록 지원을 추가했습니다.
정수 오버플로 새니타이저(Integer overflow sanitizers)를 확대 적용해 메모리 손상과 정보 공개 취약성도 완화했습니다. 취약성이 발견되었던 라이브러리나 복잡하고 신뢰할 수 없는 입력값을 처리하는 곳(예: libui, libnl, libmediaplayerservice 등)에 새니타이저를 우선 설정했습니다. 자세한 정보는
이 게시물
을 참조하세요.
사용자의 개인정보 보호
안드로이드 9은 여러 가지 새로운 방법을 통해 개인정보를 보호합니다. 이제 유휴 상태인 앱은 마이크, 카메라 및 모든
SensorManager
센서에 접근하는 것이 제한됩니다. 앱의 UID가 유휴 상태인 동안에는 마이크 오디오가 꺼지고 센서는 이벤트 보고를 중단합니다 앱이 사용하는 카메라는 연결이 끊어지고 카메라 사용을 시도할 경우 오류가 발생합니다. 대부분의 경우 이러한 제한은 기존 앱에 새로운 문제를 유발하지 않지만, 이러한 요청을 앱에서 제거하는 것이 좋습니다.
또한 플랫폼의 build.serial 식별자에 대한 액세스 제어 권한이 사용자에게 넘어갑니다. 개발자는
READ_PHONE_STATE
권한을 갖고
Build.getSerial()
메서드를 사용해 build.serial 식별자를 확인 할 수 있습니다.
모든 개인정보 보호 변경 사항에 대한 자세한 정보는
여기
에서 확인하세요.
카메라, 오디오 및 그래픽에 새로운 경험 도입
멀티 카메라 API 및 기타 카메라 업데이트
안드로이드 9을 사용하면 멀티 카메라 API를 지원하는 기기에서
두 대 이상의 실제 카메라
의 스트림을 동시에 열 수 있습니다. 듀얼 전방 카메라나 듀얼 후방 카메라가 달린 기기에서, 한 대의 카메라로는 불가능한 혁신적인 기능을 구현할 수 있습니다(예: 매끄러운 확대/축소, 보케(빛망울) 및 스테레오 비전). 이 API를 사용하여 두 대 이상의 카메라를 자동으로 전환하는 논리적 카메라 스트림이나 합성된 카메라 스트림을 호출할 수도 있습니다.
카메라의 기타 개선 사항으로는 새로운
Session 매개변수
와 Surface 공유가 있습니다. Session 매개변수는 초기 캡처 중에 지연을 줄여주는 역할을 하며, Surface 공유는 카메라 클라이언트가 카메라 스트리밍을 중단/시작하지 않고도 다양한 사용 사례를 처리할 수 있도록 해줍니다. 또한 디스플레이 기반의
플래시 지원
을 위한 API를 추가했고, 앱 수준의 이미지 흔들림 보정 및 특수 효과를 위한
OIS 타임스탬프
액세스 기능을 추가했습니다.
HDR VP9 동영상 및 HEIF 이미지 압축
안드로이드 9에서는 HDR VP9 프로필 2를 기본적으로 지원하므로, 이제 HDR 지원 기기에서 HDR 지원 동영상을 제공할 수 있습니다.
또한
HEIF
(heic) 이미지 인코딩이 플랫폼에 추가되었습니다. HEIF는 사진에서 널리 사용되는 형식이며, 압축 성능을 개선하여 저장 공간과 네트워크 데이터를 절약합니다. 안드로이드 9 기기에서는 플랫폼 차원에서 해당 압축 형식이 지원되며, 백엔드 서버로부터 HEIF 이미지를 쉽게 전송 받고 활용할 수 있습니다. 앱이 이 데이터 형식과 호환된다면 앱의 이미지 저장 형식으로 HEIF를 사용해 보세요. jpeg-heic 변환을 수행하기 위해,
ImageDecoder
또는
BitmapFactory
를 사용하여 jpeg로부터 비트맵을 얻고, AndroidX 라이브러리에서
HeifWriter
를 사용하여 YUV 바이트 버퍼, Surface 또는 비트맵으로부터 HEIF 이미지를 생성 할 수 있습니다.
Dynamics Processing으로 오디오 개선
Dynamics Processing API
를 사용하면 새로운 오디오 효과를 이용해 특정 주파수를 분리하여 소리를 낮추거나 부드러운 음을 높여서 앱의 음향적 품질을 향상할 수 있습니다. 예를 들어 소음이 크고 멀리 떨어진 장소나 그 외에 소리가 잘 들리지 않는 환경에서 조용하게 말하는 사람의 소리를 키울 수 있습니다. 이 API를 사용하면 프리 이퀄라이저(pre-equalizer,), 멀티 밴드 압축기(multi-band compressor), 포스트 이퀄라이저(post-equalizer), 링크드 리미터(linked limiter) 등의 다중 단계, 다중 대역 다이내믹스 처리 효과를 사용할 수 있습니다.
비트맵 및 드로어블(Drawable)용 ImageDecoder
ImageDecoder
API로 이미지를 비트맵이나 드로어블로 더욱 쉽게 디코딩할 수 있습니다. 바이트 버퍼, 파일 또는 URI로부터 비트맵이나 드로어블을 만들 수 있습니다. 이 API는 정확한 스케일링, 하드웨어 메모리에 대한 단일 단계 디코딩, 디코딩 후 처리 지원, 애니메이션 이미지 디코딩 등의 BitmapFactory에 비해 몇 가지 장점을 제공합니다. 자세한 정보는
여기
에서 확인할 수 있습니다.
연결성 및 위치
실내 위치추적을 위한 Wi-Fi RTT
안드로이드 9은 IEEE 802.11mc Wi-Fi 프로토콜(RTT(Wi-Fi Round-Trip-Time)라고도 알려짐)을 지원하여 앱에 실내 위치추적 기능을 내장할 수 있습니다. 지원되는 하드웨어에서 위치 권한을 갖고 위치 기능이 활성화되어 있다면,
RTT API
를 사용하여 주변 Wi-Fi 액세스 지점(AP)까지의 거리를 측정할 수 있습니다. RTT 사용을 위해 기기가 AP에 연결될 필요는 없으며, 개인정보 보호를 위해 휴대폰만 거리를 판별할 수 있고 AP는 거리를 판별할 수 없습니다.
3개 이상의 AP에 대한 거리를 알고 있다면 1 ~ 2미터의 정확도로 기기 위치를 계산할 수 있습니다. 이 정도로 정확도가 높으면 건물 내 네비게이션, 명확한 음성 제어(예: '이 조명을 켜세요')와 같은 섬세한 위치 기반 서비스, 위치 기반 정보(예: '이 상품에 대한 특별 이벤트가 있나요?') 등의 사용 사례를 지원할 수 있습니다.
JobScheduler의 데이터 비용 민감도 적용
JobScheduler
는
잠자기
,
앱 대기
및
백그라운드 제한
에서 백그라운드 작업을 수행하거나 작업을 예약할 때 사용할 수 있는 안드로이드의 핵심 서비스입니다. 안드로이드 9에서 JobScheduler는 사용자를 위해 네트워크 관련 작업을 더욱 원활히 처리해 줍니다. 개발자가 작업(Job)을 등록할 때 예상 데이터 크기를 선언하고, 프리페칭 신호를 보내고, 세부적인 네트워크 요구사항을 지정할 수 있습니다. 이동통신사는 네트워크 혼잡도나 유료 네트워크인지 아닌지등의 정보를 안드로이드로 전달합니다. JobScheduler는 이러한 신호를 모두 조합하여 가장 효율적으로 작업을 관리합니다. 예를 들어, 네트워크가 혼잡한 경우 JobScheduler는 크기가 큰 네트워크 요청을 연기할 수도 있습니다. 무료 네트워크에 연결되어 있다면, 사용자 환경을 개선하기 위해 프리페칭 작업(예: 뉴스 헤드라인을 프리페칭)을 실행할 수 있습니다.
NFC 결제 및 보안 트랜잭션을 위한 Open Mobile API
안드로이드 9에서는
GlobalPlatform Open Mobile API
가 지원됩니다. 지원되는 기기에서 앱은
OMAPI API
를 사용하여 스마트 카드 결제 및 기타 보안 서비스를 활성화하기 위해 보안 요소(SE - Secure Element)에 접근할 수 있습니다. HAL(하드웨어 추상화 계층)은 사용 가능한 다양한 보안 요소(eSE, UICC 등)를 열거하고 선택하기 위한 기본 API를 제공합니다.
앱 성능
ART 성능
ART 런타임의 성능이 개선되어 모든 앱의 성능과 효율이 개선되었습니다. 앱을 최적화하고 컴파일된 앱 코드의 인메모리 공간을 줄이기 위해 ART의 실행 프로필 사용이 확장되었습니다. 이제 ART에서는 DEX 파일의 온디바이스 재작성 (Ahead Of Time Compile)을 할 때 실행 프로필 정보를 사용하며, 널리 사용되는 여러 앱에서 최대 11%까지 감소했습니다. 이는 시스템 DEX 메모리의 사용량 감소와 밀접한 상관관계가 있고 앱의 시작 시간이 더 빨라질 것으로 기대합니다.
코틀린(Kotlin) 최적화
코틀린은
안드로이드 공식 지원 언어
입니다. 아직 사용해 보지 않았다면 꼭 사용해 보세요! Google은 안드로이드 환경에서 코틀린 지원을 위한 지속적인 노력을 기울여 왔습니다. 안드로이드 9에서 코틀린 지원 작업의 첫 결실을 볼 수 있게 됩니다. 더 나은 성능을 실현하기 위해 몇 가지 컴파일러 최적화(특히, 루프 최적화)를 개선 했습니다. 또한 JetBrains와의 협력을 통해 코틀린으로 생성된 코드를 최적화하기 위해 계속 노력하고 있습니다. 코틀린의 최신 성능 개선 사항을 모두 적용하려면, 안드로이드 스튜디오의 코틀린 플러그인을 최신 상태로 유지하면 됩니다.
안드로이드 9 - API 28 SDK(rev. 6) 차원에서 코틀린 지원에 관한 내용도 포함되었습니다. SDK 구현에 가장 자주 사용하는 일부 API의 Null 허용 여부를 표시하는 주석(Annotation)이 포함되어 있습니다.
최신 안드로이드
보안, 성능, 안정성에 대한 심층적이고 지속적인 투자의 일환으로 안드로이드에서 실행되는 앱이 최신 버전 SDK와 잘 호환되도록 노력하고 있습니다.
작년
에 발표한 바와 같이, Google Play의 모든 앱은 2018년 11월까지 안드로이드 오레오(
targetSdkVersion
26 이상)를 대상으로 업데이트해야 합니다. 그와 더불어, 앱이 안드로이드 4.2(API 레벨 17) 이전의 플랫폼을 타게팅한 앱을 9.0 다비아스에 설치하는 사용자에게는 경고 대화상자가 표시될 예정입니다. 이에 대한 도움말과 지원을 위한
다양한 자료가
마련되어있습니다. 여러분의 앱이 최신 안드로이드를 최대한 활용할 수 있기를 바랍니다.
안드로이드 9용으로 앱을 준비하세요!
8월 6일부터 Pixel 사용자, 그리고 몇 개월 이내로 다른 기기 사용자에도 안드로이드 9 파이 버전을 사용하게 됩니다. 가능한 빨리 앱 호환성을 테스트해야합니다. Pixel등 안드로이드 9에서 동작하는 디바이스나
에뮬레이터
에 앱을 설치하고 테스트 해보세요. 앱이 제대로 잘 동작하는지, 안드로이드 9
동작 변경 사항
을 적절히 처리하는지 확인하세요.
또한 앱에서 비 SDK 인터페이스가 어떻게 사용되는지도 살펴야 합니다. 안드로이드 9는 일부 비 SDK 인터페이스의 액세스가 제한됩니다. 자세한 정보는
다음 게시물
을 참조하세요.
문제가 발견되면 필요한 업데이트를 수행한 후 즉시 Google Play에 게시하는 것이 좋습니다. 이렇게 하면 안드로이드 API 버전을 타겟으로 앱을 개선하는 동안 모든 사용자에게 쾌적한 경험을 제공할 수 있습니다.
안드로이드 9의 새로운 기능과 API로 앱 강화
준비가 끝나면 안드로이드 9의
새 기능과 API
를 활용해 앱의 기능을 강화해보세요. 먼저 공식 API 28 SDK와 최신 도구, 에뮬레이터 이미지를 Android Studio 3.1에서 다운로드하거나
Android Studio 3.2
의 최신 버전을 사용합니다. 그런 다음 프로젝트의 compileSdkVersion과 targetSdkVersion을 API 28로 업데이트합니다. 타겟팅을 변경할 때는
동작 변경 사항
을 잘 처리하는지 확인이 필요합니다.
준비가 완료되면 APK 업데이트를 Google Play에 게시하세요. 일반적으로는
Google Play의 베타 테스트 기능
을 사용하여 소규모 사용자 그룹으로부터 조기에 피드백을 받은 후 프로덕션에 단계별로 출시합니다.
자세한 정보와 개발자 문서를 확인하려면
안드로이드 9 사이트
를 방문하세요. 또한
이 동영상
과
Google I/O 안드로이드 재생목록
을 통해 개발자용 안드로이드 9의 새로운 기능에 대해 더 자세히 알아보실 수 있습니다.
기기 업데이트
8월 6일부터 Pixel 휴대폰을 대상으로 안드로이드 9에 대한 OTA 업데이트가 시작되었습니다. 또한 이번 가을 말까지 Sony Mobile, Xiaomi, HMD Global, Oppo, Vivo, OnePlus, Essential에서 베타 프로그램에 참여한 기기와 자격 조건을 충족하는 모든 안드로이드 원 기기에 업데이트가 제공될 예정입니다. Google에서는 다른 여러 파트너와 합력하여 올해 안으로 안드로이드 9을 출시하거나 기기를 업그레이드하고자 노력하고 있습니다.
늘 그렇듯 Pixel 기기용 시스템 이미지의 수동 플래시 및 다운로드는
이 곳
에서 제공됩니다. 안드로이드 9 소스는 안드로이드 9 브랜치 아래 안드로이드
오픈소스 프로젝트
저장소의
여기
에서 확인할 수 있습니다.
다음 단계
최신 안드로이드 버전이 공식 출시되었으므로 Developer Preview가 종료됩니다. 곧 Developer Preview Issue Tracker를 통해 새 문제를 제출할 수 없게 됩니다. 피드백이 있는 경우 AOSP Issue Tracker에서 안드로이드 9에 대한
새 문제를 제출
해 주세요.
안드로이드 9 Developer Preview와 공개 베타 버전에 참여해주신 많은 개발자 및 얼리 어답터 여러분께 다시 한번 감사의 인사를 드립니다. 여러분의 의견은 안드로이드 9 플랫폼을 개발자와 소비자를 위한 좋은 플랫폼으로 만드는 데 많은 도움이 되었습니다.
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