일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- Rxjava
- android
- TEST
- Gradle
- 프로그래머스
- relay
- ProGuard
- 코루틴
- boj
- Hilt
- 암호학
- GitHub
- AWS
- androidStudio
- livedata
- Compose
- Coroutines
- 백준
- Codeforces
- Python
- 코드포스
- 쿠링
- MyVoca
- activity
- architecture
- textfield
- pandas
- Coroutine
- Kotlin
- MiTweet
- Today
- Total
이동식 저장소
[Android Studio] Flamingo 신기능 정리 본문
현재 Canary 9 버전인 Android Studio Flamingo에 추가된 기능을 살펴보자. 내가 개발할 때 체감할 수 있을 만한 내용만 선별하여 정리했다. 아직 개발 초기 단계인 만큼 기능이 계속 추가될 수 있는데, 가능한 한 최신 내용으로 갱신할 계획이다.
웬만하면 canary는 안 쓰는 편이지만, Android Dev Summit 2022에서 알게 된 기능을 체험해 보고 싶어서 사용하고 있다.
Network Inspector traffic interception
Flamingo Canary 1 버전부터 Network Inspector가 모든 네트워크 트래픽을 보여준다.
응답이 외계어인 이유는 인코딩이 깨졌기 때문이다. DB에는 정상적으로 저장된다.
그 밖에도 커스텀 rule을 만들어 특정 응답 코드나 헤더가 주어질 때 앱이 어떻게 동작하는지 검사할 수도 있다. 정확히는 rule에서 정의한 특정 규칙을 만족하는 응답의 response code, 헤더, body 등을 수정할 수 있는 기능으로, 매개변수를 하나씩 바꿔가면서 앱의 동작을 확인할 수 있다.
뭔가 엄청난 기능 같은데, 당장 활용하기에는 내 앱들이 너무 간단하다. 그래도 API 개발할 때 크게 도움될 만한 기능이니 잘 기억해 둬야겠다.
Module level ``app.gradle``에 namespace를 정의해야 함
Flamingo 업데이트는 아니지만, 원문에 breaking change라고 적힌 걸 보니 중요한 업데이트인 듯하다.
AGP 8.0.0-alpha03부터 manifest가 아닌 module-level ``build.gradle`` 파일에 namespace를 선언해야만 한다. Namespace는 모듈의 base 패키지명을 나타내는 값이다. (더 보기)
android {
namespace = "com.example.myapp"
// ...
}
Tools - AGP Upgrade Assistant를 사용하면 편리하게 namespace를 옮길 수 있다.
JDK 17 동봉
Canary 3 버전부터 JDK 17이 Android Studio와 함께 제공된다. Embedded JDK를 사용하도록 설정되었다면 JDK 17 버전이 사용된다.
SDK Upgrade Assistant
Canary 6 버전에서 Android SDK Upgrade Assistant가 추가됐다. ``targetSdkVersion``을 높일 때 해당 버전의 중요한 변경 사항과 대응법을 알려준다. Tools - Android SDK Upgrade Assistant에서 볼 수 있다.
다만 모든 변경사항을 알려주지는 않는다. 모든 변경사항을 보고 싶다면 이 링크를 참고하자.
Project template 업데이트
새로운 안드로이드 프로젝트를 만들 때, 기본적으로 Material 3 기반의 Compose 프로젝트가 생성된다. Material 2도, View도 아닌 Material 3 + Compose라는 최신 기술의 조합이다. 구글에서 대놓고 밀어주는 모습이다.
Compose Live Edit 모드 추가
Live Edit에 자동 모드와 수동 모드가 추가되었다. 수동 모드에서는 코드를 ``Ctrl`` + ``S``로 저장할 때에만 변경 사항이 적용된다. 자동 모드에서는 코드를 작성한 즉시 변경 사항이 적용된다. 기본값은 수동 모드이다.
File - Settings - Editor - Live Edit에서 모드를 설정할 수 있다. 아예 Live Edit을 끄고 싶다면 None을 선택하면 된다.
Gradle Version Catalog 지원
Canary 7 버전부터 Gradle Version Catalog를 지원한다. ``.toml`` 파일에 작성한 카탈로그만 지원하며, ``settings.gradle``은 지원하지 않는다.
다음과 같이 에디터에서 자동 완성을 지원하며,
Project Structure 창에서 버전 변수를 관리할 수 있다.
아쉽게도 아직 라이브러리 업데이트를 알려주지는 않는 듯하다. Flamingo 베타 버전에서 추가된다고 들었던 거 같은데..
Compose Tracing
System profiler에서 어떤 composable이 실제로 recompose되는지 대략적으로 확인할 수 있다. System Trace Recording을 보면 된다.
정확히 어떤 composable 함수가 recompose되는지는 확인할 수 없다. 말 그대로 대략적인 호출 구조 정도만 볼 수 있다. 그나마 시간이 오래 걸리는 recomposition을 파악할 수 있는 정도?
'Primary > Android' 카테고리의 다른 글
AndroidX Collection Library (0) | 2022.12.25 |
---|---|
[Android] Gradle Managed Devices로 테스트하기 (0) | 2022.12.08 |
[Android Studio] Electric Eel 신기능 정리 (0) | 2022.12.04 |
[Android] 모듈화 가이드 (0) | 2022.11.18 |
[Android] 백그라운드 작업을 하나씩 처리하는 방법 (0) | 2022.11.08 |