일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
- Coroutine
- architecture
- androidStudio
- Codeforces
- pandas
- Hilt
- 암호학
- textfield
- MyVoca
- android
- relay
- Gradle
- GitHub
- Kotlin
- TEST
- Python
- Compose
- AWS
- Coroutines
- MiTweet
- ProGuard
- 코루틴
- 쿠링
- 백준
- activity
- 프로그래머스
- 코드포스
- Rxjava
- livedata
- boj
- Today
- Total
이동식 저장소
[Android Studio] Electric Eel 신기능 정리 본문
현재 Release Candidate인 Android Studio Electric Eel(EE)에서 추가된 기능을 살펴보자. 추가된 기능을 모두 적지는 않았고, 실질적으로 내가 개발할 때 체감할 수 있을 만한 내용을 정리했다.
Compose Preview
프리뷰에서 변경사항을 즉시 확인할 수 있다. 매번 빌드하지 않아도 된다!
내가 제일 좋아하는 업데이트라 맨 앞에 적었다. 원문에는 맨 끝에 있는데 ㅎㅎ
Compose Preview에서 Device 설정
``@Preview`` 어노테이션에 프리뷰를 보여줄 기기 정보를 설정할 수 있다. 그런데 무려 기기 스펙을 문자열로 명시하는 문법이다;;
@Preview(device = "spec:width=1280dp,height=800dp,dpi=480,orientation=portrait")
@Composable
private fun SomePreview() {
// ...
}
대신 자동 완성이 좋은 편이고, 왼쪽의 톱니바퀴 버튼을 눌러 UI에서 설정할 수도 있다.
Highlights Composable Recomposition
Canary 10부터 Layout Inspector에서 recomposition되는 영역을 보여준다. 자주 recomposition되는 composable이 더 진한 색으로 보인다.
Editor Highlights
언제 추가된 기능인지는 확실하지 않지만, Composable 함수가 민트색으로 표시된다! 에디터에서 민트색을 볼 수 있다니 흑흑
Firebase Crashlytics Integration
Firebase에서 제공하는 crash 추적 기능인 Crashlytics를 Android Studio에 연결할 수 있다. Crash의 stack trace를 Android Studio에서 볼 수 있다.
에디터에서는 crash가 발생한 위치를 형광펜으로 보여준다.
좋은데? 앞으로 앱 개발할 때는 무조건 Firebase 연동해야 할 듯.
Physical Device Mirroring
이제 Android Studio에서 실제 기기의 화면을 볼 수 있다. 에뮬레이터를 조작하는 것처럼 실제 기기를 조작할 수 있다.
미러링 기능을 사용하려면 먼저 설정에서 Settings에서 미러링 기능을 활성화하자. Device 키워드를 검색해서 찾는 게 빠르다.
이제 기기를 Android Studio와 연결한 후 앱을 실행하면 미러링을 볼 수 있다. 화질은 약간 떨어지지만 Wi-Fi로 연결해도 화면을 정상적으로 볼 수 있다.
단, 미러링 데이터는 암호화되지 않기 때문에 Android Studio를 실행하는 호스트에서 미러링 정보를 가로챌 수 있다. 향후 개선이 필요한 부분.
JVM 11 타겟팅
Android Gradle Plugin 7.4.0-alpha04부터 JVM 11 바이트코드가 생성된다. JVM 11을 타겟팅하는 방법 중 하나는 각 모듈의 ``build.gradle`` 파일을 다음과 같이 수정하는 것이다.
sourceCompatibility = "11"
targetCompatibility = "11"
JDK 8 연장 지원이 2023년 9월에 종료되기 때문에 업데이트한 듯. 일반 지원은 2019년 1월에 이미 종료되었다. 참고로 JDK 11의 일반 지원은 2023년 9월에, 연장 지원은 2026년 9월에 종료된다.
AGP Upgrade Assistant 강화
AGP 업데이트가 정상적으로 완료되었는지 보여주고, 업데이트 후에 문제가 생겼을 때 업데이트를 되돌릴 수 있는(revert) 옵션도 제공한다.
종종 AGP 때문에 이슈가 발생한 적이 있었는데, 앞으로는 업데이트 후 문제가 생기면 편리하게 되돌릴 수 있겠다.
Parallel Project Imports
Android Studio E부터 AGP 7.2.0+, Gradle 7.4.2+를 사용한다면 프로젝트를 병렬적으로 import할 수 있다. 정확히는 빌드에 포함된 프로젝트 파일이 병렬적으로 생성된다고 한다.
당연히 프로젝트를 더 빠르게 import할 수 있게 된다. Google 내부적으로 3,500개의 Gradle subproject가 있는 프로젝트로 테스트한 결과 import 속도가 50%(10분 → 5분) 향상되었다고 한다.
그래서 나도 한빛 캘린더를 import해 봤는데, Dolphin과 Flamingo 버전에서 각각 91초와 115초가 소요되었다. 뭐지? Subproject가 6개밖에 없어서 그런가?
Desktop Android Virtual Device Support
무려 ChromeOS를 에뮬레이션할 수 있다!
실로 엄청난 이점이 아닐 수 없다. 대형 스크린에서 앱이 어떻게 보이는지 확인할 수도 있고, 창 크기를 조절하면서 UI의 반응성을 테스트할 수도 있다. 이제 Resizeable이랑 Desktop 에뮬레이터만 잘 쓰면 거의 모든 상황을 시뮬레이션할 수 있다.
설치 방법은 간단하다. 에뮬레이터 추가 화면에서 Desktop을 선택하면 끝이다.
SDK 다운로드가 오래 걸리긴 하지만 이정도는 뭐..
Build Analyzer에서 라이브러리 다운로드 시간 확인
EE Canary 10 버전부터 build analyzer에서 라이브러리 다운로드에 걸린 시간을 확인할 수 있다. 각 라이브러리를 다운로드하는 데 걸린 시간과 repository별로 걸린 시간을 확인할 수 있다.
의외로 이 기능을 사용하여 project level ``build.gradle``을 최적화할 수도 있다. 특정 repository에서 fail이 많이 발생한다면 해당 repository를 제거하거나 뒷 순서로 옮겨볼 수 있다.
Android Studio가 단순한 안드로이드 빌드 툴이 아닌, 진짜 통합 개발 환경으로 나아가는 것 같다. 특히 Compose 기능이 너무 좋아져서 감격스럽다.
아 Compose 쓰라니까요?
원문
'Primary > Android' 카테고리의 다른 글
[Android] Gradle Managed Devices로 테스트하기 (0) | 2022.12.08 |
---|---|
[Android Studio] Flamingo 신기능 정리 (0) | 2022.12.07 |
[Android] 모듈화 가이드 (0) | 2022.11.18 |
[Android] 백그라운드 작업을 하나씩 처리하는 방법 (0) | 2022.11.08 |
[Android] 반응형 앱 구현 방법론 (2) (0) | 2022.10.18 |