출처 : https://android-developers.googleblog.com/2022/08/android-13-is-in-aosp.html?m=1
Android 13 is in AOSP!
Posted by Seang Chau, VP of Engineering Today we’re pushing the Android 13 source to the Android Open Source Project (AOSP) ...
android-developers.googleblog.com
Android Open Source Project
2022년 8월 15일, 공식적으로 Android 13이 출시되었다.
이번 테마는 개발자 생산성 + 개인정보 보호 및 보안(매우 중요) + 사용자 경험
또한 태블릿 및 대형 화면용으로 활용 할 수 있도록 더 나은 도구를 제공함
자세한 내용 : https://developer.android.com/about/versions/13
Android 13 | Android 개발자 | Android Developers
<!-- 설명 숨기기 -->
developer.android.com
[Themed app icons]
사용자는 테마 앱 아이콘을 선택할 수 있음.
이 기능을 사용하면 앱 아이콘이 사용자가 선택한 배경화면 및 기타 테미의 색상을 상속받도록 색조가 조정됨.
지원하기 위해선 앱이 Adaptive icon과 단색 앱 아이콘 모두 제공해야하고, 매니페스트의 <adaptive-icon> 요소에서 단색 앱 아이콘을 가리켜야 함.
기능 및 API 개요 | Android 개발자 | Android Developers
Android 13의 개발자를 위한 새로운 기능과 API를 알아봅니다.
developer.android.com
[Per-app language preferences]
앱마다 언어를 설정할 수 있도록 설정을 제공해
시스템 언어와 다른 언어로 앱을 더 쉽게 사용할 수있도록 해줌
런타임시 유저의 locale을 가져오거나 설정할 수있어서 bilerplate code를 줄이고 호환성을 개선시켜줄거임
https://developer.android.com/guide/topics/resources/app-languages
Per-app language preferences | Android Developers
Per-app languages in system settings In many cases, multilingual users set their system language to one language—such as English—but they want to select other languages for specific apps, such as Dutch, Chinese, or Hindi. To help apps provide a better
developer.android.com
[Improved text supprot]
텍스트와 언어 개선 사항이 포함되어 있음
TextView 아에서 더 빠른 하이픈 연결 가능 (200% 성능 향상)
텍스트 변환 API도 개선되었나봄. 음성 문자 입력을 사용할때 검색 및 자동완성 속도가 더 빨라졌음
Tamil, Burmese, Telugu.... 등등 언어들의 높이를 개선하였다
https://developer.android.com/about/versions/13/features#text-language
기능 및 API 개요 | Android 개발자 | Android Developers
Android 13의 개발자를 위한 새로운 기능과 API를 알아봅니다.
developer.android.com
[Color vector fonts]
COLR version 1 이라는 포멧을 지원함
어떤 사이즈든 매우 빠르고 또렷하게 렌더링시켜줌
https://developer.chrome.com/blog/colrv1-fonts/
COLRv1 Color Gradient Vector Fonts in Chrome 98 - Chrome Developers
In Chrome 98, the Chrome and Fonts teams have added support for COLRv1, an evolution of the COLRv0 font format intended to make color fonts widespread by adding gradients, compositing and blending, and improved internal shape reuse for crisp and compact fo
developer.chrome.com
[Quick Settings Placement API]
알림창의 빠른 설정을 사용하여 사용자가 앱의 컨텍스트 내에서 편리하게 설정을 변경하거나 작업할 수 있도록 해줌
사용자가 빠른 설정으로 이동하여 타일을 추가할 필요 없이 앱을 나가지 않고 한번에 타일을 추가할 수 있음
https://developer.android.com/about/versions/13/features#quick-settings
기능 및 API 개요 | Android 개발자 | Android Developers
Android 13의 개발자를 위한 새로운 기능과 API를 알아봅니다.
developer.android.com
근데 타일이 뭐야? Tile Service?
오 요게 Quick Settings고, 각각의 요소가 타일이구나
[Programmable shaders]
AGSL (Android Graphics Shading Language)를 사용하여 정의된 동작과 함께 프로그래밍 가능한 RuntimeShader 개체가 도입되었음. 이걸 이용해서 앱에서 잔물결, 흐림, 늘이기 등 고급 효과를 만들 수 있데
https://developer.android.com/guide/topics/graphics/agsl
Android Graphics Shading Language (AGSL) | Android Developers
The Android Graphics Shading Language (AGSL) works within the Android graphics rendering system to customize drawing.
developer.android.com
[Media contols derived from PlaybackState]
시스템 playbackState 작업에서 미디어 컨트롤을 가져옴. 이를 통해 시스템은 스마트폰과 태블릿 기기 사이에서 기술적으로 일관된 컨트롤 세트를 표시할 수 있고, Android Auto 및 Android TV 와 같은 다른 Android 플랫폼에서 미디어 컨트롤이 렌더링 되는 방식과 통일됨
https://developer.android.com/about/versions/13/behavior-changes-13#playback-controls
동작 변경사항: Android 13 이상을 타겟팅하는 앱 | Android 개발자 | Android Developers
Android 13 이상을 타겟팅하는 앱에 영향을 미치는 Android 13의 변경사항을 알아봅니다.
developer.android.com
[Bluetooth Le Audio]
저전력 오디오는 차세대 무선 오디오래.
친구들이나 가족들에게 공유 or 방송할 수 있고, 정보나 엔터테이먼트의 공개 방송들을 구독하는 그런것들을 가능하게 해준다는거같은데
https://developer.android.com/reference/android/bluetooth/BluetoothLeAudio
BluetoothLeAudio | Android Developers
android.net.wifi.hotspot2.omadm
developer.android.com
[MIDI 2.0]
USB를 통해 MIDI 2.0 하드웨어를 연결하는 기능을 포함하여, 새로운 MIDI 2.0 표준에 대한 지원이 추가되었데
컨트롤러에 대해 향상된 해상도, 비서양 억양에 대한 더 나은 지원, 더 뛰어난 성능같은걸 제공한데
https://developer.android.com/reference/android/media/midi/MidiDeviceInfo#PROTOCOL_UMP_MIDI_2_0
MidiDeviceInfo | Android Developers
android.net.wifi.hotspot2.omadm
developer.android.com
[OpenJDK 11 updates]
앱이랑 플랫폼 개발자들을 위한 라이브러리 업데이트, Java 11 언어 지원이 모두 포함된 OpenJDK 11 LTS 출시에 맞춰 Android 핵심 라이브러리를 새로고침하는 작업을 시작한데.
구글플레이 시스템 업데이트를 통해 Android 12에서도 사용 가능하다는군
https://developer.android.com/about/versions/13/features#core-libraries
기능 및 API 개요 | Android 개발자 | Android Developers
Android 13의 개발자를 위한 새로운 기능과 API를 알아봅니다.
developer.android.com
[Predictive back gesture]
앱이 시스템에 미리 뒤로가기 이벤트를 처리할것임을 알릴 수 있는 새로운 API가 도입되었데
ahead-of-time 이라고 함
완전한 개발상태는 아닌 듯 한데, 완전히 구현되면 이 기능을 통해 사용자가 뒤로가기 제스처를 취했을때, 결과를 미리 볼 수 있어서 계속할지 현재 보기를 유지할지 결정 할 수 있다는데 ?_?
https://developer.android.com/guide/navigation/predictive-back-gesture
Add support for the predictive back gesture | Android Developers
Figure 1: Mockup of the predictive back gesture look and feel on a phone Android 13 (API level 33) introduces a predictive back gesture for Android devices such as phones, large screens, and foldables. It is part of a multi-year release; when fully impleme
developer.android.com
태블릿에서 더 나은 경험을 제공한데
향상된 멀티태스킹 작업 표시줄, 시스템 UI 및 앱에 더 큰화면 레이아웃, 최적화, 등등등
https://developer.android.com/large-screens
대형 화면 및 폴더블 | Android 개발자 | Android Developers
Google Play Console로 앱과 게임을 게시하고 Google Play에서 비즈니스를 성장시키세요. 앱의 품질을 개선하고, 사용자층과 소통하고, 수익을 창출하기 위한 여러 기능을 활용할 수 있습니다.
developer.android.com
[Photo picker and APIs]
새로운 시스템 사진 피커가 사용자들에게 표준적인(?) 표준의(?) 개인 정보보호 하는 방법으로 로컬 or 클라우드에 있는 사진들을 공유할 수 있데
사진피커는 안드로이드의 오래된 문서 피커를 상속해서, 앱의 퍼미션 없이 특정 사진과 비디오를 공유할 수 있데
안드 11 이상 기기에서 사용 가능
https://developer.android.com/training/data-storage/shared/photopicker
Photo picker | Android Developers
Figure 1. Photo picker provides an intuitive UI for sharing photos with your app. The photo picker provides a browsable, searchable interface that presents the user with their media library, sorted by date from newest to oldest. This tool provides a safe,
developer.android.com
[Notification Permission]
사용자가 중요한 알림에 집중할 수 있도록 새로운 notificaitons runtime permission이 생겼음
앱은 이제 알림을 게시하기 전에 사용자에게 알림 권한을 요청해야함 !_!
https://developer.android.com/guide/topics/ui/notifiers/notification-permission
Notification runtime permission | Android Developers
Notification runtime permission Android 13 (API level 33) and higher supports a runtime permission for sending non-exempt (including Foreground Services (FGS)) notifications from an app: POST_NOTIFICATIONS. This change helps users focus on the notificati
developer.android.com
[Nearby devide permission for Wi-Fi]
NEARBY_WIFI_DEVICES 권한을 이용하면 앱이 위치권한을 획득할 필요 없이 Wi-Fi 를 통해 주변 장치를 검색하고 연결할 수 있음
https://developer.android.com/guide/topics/connectivity/wifi-permissions
Request permission to access nearby Wi-Fi devices | Android Developers
Request permission to access nearby Wi-Fi devices Apps that target Android 13 (API level 33) or higher and manage Wi-Fi connections must request the NEARBY_WIFI_DEVICES runtime permission. This permission makes it easier to justify an app's access of nea
developer.android.com
[Granular permissions for media file access]
안드에서 제공하는 사진 피커를 사용하면 젤 좋은데 그거 안쓰는 앱이나 오디오 사용하는 경우를 위해 세분화 새로운 미디어 권한이 추가되었데
ex) READ_EXTERNAL_STORAGE 말고
READ_MEDIA_IMAGES, READ_MEDIA_VIDEO, READ_MEDIA_AUDIO 요런식으로 고고
동작 변경사항: Android 13 이상을 타겟팅하는 앱 | Android 개발자 | Android Developers
Android 13 이상을 타겟팅하는 앱에 영향을 미치는 Android 13의 변경사항을 알아봅니다.
developer.android.com
[Developer downgradable permissions]
이전에 부여한 권한이 필요하지 않은 앱은 우리가 새로 만든 api를 이용해서 권한 다운그레이드를 해라
https://developer.android.com/about/versions/13/features#developer-downgradable-permissions
기능 및 API 개요 | Android 개발자 | Android Developers
Android 13의 개발자를 위한 새로운 기능과 API를 알아봅니다.
developer.android.com
[Safer exported Intent filters]
다른 앱에서 명시적 인텐트를 전달할때 더 엄격한 규칙을 적용할거야
인텐트가 수신자가 선언한 <intent-filter>와 일치하는 경우에만 내보낼거임
동작 변경사항: Android 13 이상을 타겟팅하는 앱 | Android 개발자 | Android Developers
Android 13 이상을 타겟팅하는 앱에 영향을 미치는 Android 13의 변경사항을 알아봅니다.
developer.android.com
ART 런타임 업데이트를 통해 모든 앱의 성능과 효율성을 개선했음
[Improved garbage collection]
새로운 가비지 컬렉터는 리눅스 커널 기반인데, ~~~~ 샬라샬라 오버해드가 줄었고, 메모리 압력이 줄었고, 컴파일된 코드를 최대 10%까지 압축한다 등등 진화했다
[Optimizations throughout ART]
JNI 호출이 최대 2.5배 더 빨라져서 네이티브 코드간 전환이 빨라졌음
런타임 참조 처리하는것도 개선해서 더 빨라졌다
Reference.refersTo() 라는걸 공개했는데, 도달할 수 없는 객체를 더 빨리 회수할 수 있게 해준데
등등
https://io.google/2022/program/2cf473b7-113e-4332-a469-8dfd815eb45b/intl/ko/
Google I/O 2022
I/O: Live From Shoreline. Join Online May 11-12, 2022.
io.google
자 이제 공개 출시했으니까,
Android 13으로 원활하게 전환할 수 있게끔 모든 개발자들이여 호환성 테스트를 완료하고, 가능한 빨리 업데이트해라
테스트 하려면,
Android 13 단말에 앱을 설치해서 기능 or UI 문제를 찾아봐줘
특히 동작 변경 사항을 봐야겠지
[Notifications runtime permission]
POST_NOTIFICATIONS 권한이 있어야 알림 보낼 수 있다규
https://developer.android.com/about/versions/13/changes/notification-permission
알림 런타임 권한 | Android 개발자 | Android Developers
알림 런타임 권한 Android 13(API 수준 33)에서는 앱에서 예외 없는 알림을 보내기 위한 새로운 런타임 권한 POST_NOTIFICATIONS를 도입했습니다. 이 변경사항으로 인해 사용자는 가장 중요한 알림에 주
developer.android.com
[Clipboard preview]
클립보드 미리보기에서 비밀번호나 신용카드 정보 같은 민감한 데이터를 복사하려면, ClipDescription 에 플래그 셋팅을 해줘야해
https://developer.android.com/about/versions/13/behavior-changes-all#copy-sensitive-content
동작 변경사항: 모든 앱 | Android 개발자 | Android Developers
모든 앱에 영향을 주는 Android 13의 변경사항을 알아봅니다.
developer.android.com
[JobScheduler prefetch]
JobScheduler는 앱이 다음에 시작될때를 예상하고, 그 시간보다 앞서서 preferch 작업을 실행할거야
prefetch 작업을 사용하는경우 제대로 동작하는지 확인해바
https://developer.android.com/about/versions/13/behavior-changes-all#prefetch-job-handling
동작 변경사항: 모든 앱 | Android 개발자 | Android Developers
모든 앱에 영향을 주는 Android 13의 변경사항을 알아봅니다.
developer.android.com
다음을 주의해
[Taskbar interaction]
큰 화면에서 새 작업 표시줄을 볼때, 앱이 어떻게 반응하는지 체크해라. 앱의 UI가 작업표시줄에 잘리진 않는지 등등
https://developer.android.com/about/versions/13/features/large-screens#multitasking
태블릿 및 대형 화면 지원 | Android 개발자 | Android Developers
Android 13의 대형 화면 및 태블릿 지원을 알아보세요.
developer.android.com
[Multi-window mode]
멀티윈도우 모드는 앱 구성에 관계없이 모든 앱에 기본적으로 활성화 되어있어. 앱이 분할 화면을 적절하게 처리하는지 체크해봐
https://developer.android.com/about/versions/13/features/large-screens#dev-test-splitscreen
태블릿 및 대형 화면 지원 | Android 개발자 | Android Developers
Android 13의 대형 화면 및 태블릿 지원을 알아보세요.
developer.android.com
[Improved compatibility experience]
앱이 고정된 방향을 사용하거나 크지를 조정할 수 없는 등 태블릿에 최적화가 되어있지 않다면, 레터박스와 같은 호환성 모드 조정에서 어떻게 반응하는지 확인해라
https://developer.android.com/about/versions/13/features/large-screens#compatibility
태블릿 및 대형 화면 지원 | Android 개발자 | Android Developers
Android 13의 대형 화면 및 태블릿 지원을 알아보세요.
developer.android.com
[Media projection]
앱에서 미디어 프로젝션을 사용하는 경우 대형 화면에서 미디어를 재생, 스트리밍 하는 동안 앱이 어떻게 반응하는지 확인해라
https://developer.android.com/about/versions/13/features/large-screens#media-projection
태블릿 및 대형 화면 지원 | Android 개발자 | Android Developers
Android 13의 대형 화면 및 태블릿 지원을 알아보세요.
developer.android.com
[Camera preview]
카메라앱의 경우 다중창 또는 분할화면 모드에서 화면의 일부가 제한될 때 카메라 미리보기 UI가 큰 화면에서 어떻게 반응하는지 확인해라
( + 폴더블 기기 자세 바꿀때도)
https://developer.android.com/training/camera2/camera-preview
Camera preview | Android Developers
Camera preview Note: This page refers to the Camera2 package. Unless your app requires specific, low-level features from Camera2, we recommend using CameraX. Both CameraX and Camera2 support Android 5.0 (API level 21) and higher. Cameras and camera preview
developer.android.com
픽셀 디바이스 : https://developers.google.com/android/images
Factory Images for Nexus and Pixel Devices | Google Play services | Google Developers
Factory Images for Nexus and Pixel Devices This page contains binary image files that allow you to restore your Nexus or Pixel device's original factory firmware. You will find these files useful if you have flashed custom builds on your device, and wish t
developers.google.com
AOSP : https://source.android.com
Android 오픈소스 프로젝트 | Android Open Source Project
Android는 세계를 하나로 묶어줍니다. 기기를 실행할 운영체제로 오픈소스 Android 운영체제를 사용하세요. 복사
source.android.com
안드 깃 레포 : https://android.googlesource.com/?format=HTML
android Git repositories - Git at Google
android.googlesource.com