한국의 개발자들을 위한 Google for Developers 국문 블로그입니다.
Android 스튜디오 3.6
2020년 3월 20일 금요일
작성자
:
Scott Swarthout
,
안드로이드 스튜디오 제품 관리자
원문은
이 곳
에서 확인 가능하며 블로그 번역 리뷰는 양찬석(Google)님이 참여해 주셨습니다.
Android 스튜디오 3.6
의 안정화 버전을 공개하게 되어 기쁩니다. 이번 버전에서는 주로 코드 수정 및 디버깅 사용 환경을 대상으로 한 기능이 포함되어 있습니다. 이번 버전은 통합 개발 환경(IDE)의 필수 기능과 플로를 안정화하는 데 중점을 둔
Project Marble
의 종료 이후 첫 번째 버전입니다. Project Marble에서 학습한 많은 내용을 바탕으로 Android 스튜디오 3.6에 몇 가지 새로운 기능을 추가하고, 기존 기능을 다듬었으며, 지난해 세웠던 높은 품질 기준을 충족하기 위해 버그를 해결하고 기본 성능을 개선하는 데 큰 노력을 기울였습니다.
Android 스튜디오 3.6에서 주목할 부분은 디자인 편집기의 새로운 분할 보기에서 XML을 사용하여 앱 레이아웃을 빠르게 디자인하고, 개발하고, 미리 볼 수 있는 기능입니다. 또한 Android Emulator 확장 컨트롤 패널에 Google 지도를 직접 삽입했으므로 더 이상 앱에서 위치를 테스트하기 위해 GPS 좌표를 수동으로 입력할 필요가 없습니다. 마지막으로 프래그먼트 및 활동의 메모리 누수를 자동으로 감지하는 기능을 통해 간편하게 앱을 최적화하고 버그를 발견할 수 있도록 했습니다. 이러한 모든 기능으로 Android를 이용하는 개발자가 더 만족스럽고 생산성 있는 작업을 진행하길 바랍니다.
출시한 프리뷰에 대해 빠르게 의견을 보내주신 분들께 감사드립니다. 보내주신 의견은 Android 스튜디오 3.6의 기능을 반복하고 개선하는 데 도움이 되었습니다. 다음 안정화 버전과 새로운 생산성 기능을 사용하고 싶다면 Android 스튜디오 3.6을
다운로드
하세요.
아래에 Android 스튜디오 3.6의 모든 새로운 기능을 주요 개발자 플로에 따라 정리해 두었으니 확인해 보세요.
What's new in Android Studio 3.6
디자인
디자인 편집기의 분할 보기
이제 Layout Editor, Navigation Editor와 같은 디자인 편집기에서 UI의 디자인 및 코드 보기를 동시에 확인할 수 있는 분할 보기를 제공합니다. 분할 보기는 이전의 미리보기 창을 개선하고 대체하며, 파일별로 구성되어 줌 팩터나 디자인 보기 옵션과 같은 컨텍스트 정보를 보존합니다. 따라서 사용 사례별로 가장 적합한 보기를 선택할 수 있습니다. 분할 보기를 사용하려면 편집기 창 오른쪽 상단의 분할 아이콘을 클릭합니다.
자세히 알아보기
디자인 편집기의 분할 보기
색상 선택 도구 리소스 탭
이번 버전에서는 색상 리소스로 정의한 색상을 간편하게 적용할 수 있도록 만들고자 했습니다. Android 스튜디오 3.6에서는 색상 선택 도구가 앱의 색상 리소스를 자동으로 채워 색상 리소스 값을 빠르게 선택하고 바꿀 수 있습니다. 색상 선택 도구는 디자인 도구 및 XML 편집기에서 사용할 수 있습니다.
색상 선택 도구 리소스 탭
개발
뷰 바인딩 (View Binding)
뷰 바인딩
은 코드에서 뷰를 참조할 때 컴파일 시간 안전성을 제공하여 뷰와 상호작용하는 코드를 더 쉽게 작성할 수 있게 해 주는 기능입니다. 이 기능을 사용 설정하면 뷰 바인딩이 해당 모듈에 있는 각 XML 레이아웃 파일의 바인딩 클래스를 생성합니다. 대부분 뷰 바인딩이 findViewById를 대체합니다. 이렇게 되면 null 포인터 또는 클래스 캐스트 예외의 위험 없이 ID가 있는 모든 뷰를 참조할 수 있습니다. 레이아웃과 코드 사이에 호환되지 않는 부분이 있으면, 런타임이 아닌 컴파일 시간에 빌드가 실패합니다. 프로젝트에 뷰 바인딩을 사용하려면 각 모듈의 build.gradle 파일에 다음 내역을 포함하세요.
android
{
viewBinding
.
enabled
=
true
}
자세한 내용은 Android GDE(Google Developer Experts)가 작성한 이 블로그
게시물
에서 확인하세요.
Android NDK 업데이트
이전에 자바로 지원되었던 Android 스튜디오의 다음과 같은 Android NDK 기능이 이제 Kotlin으로도 지원됩니다.
●JNI 선언에서 해당하는 C/C++ 구현 함수로 이동합니다. 관리되는 소스 코드 파일의 행 번호 근처에 있는 C 또는 C++ 항목 아이콘 위로 마우스를 가져가 이 매핑을 확인하세요.
●JNI 선언의 스터브 구현 함수를 자동으로 생성합니다. 먼저 JNI 선언을 정의한 다음 C/C++ 파일에 'jni' 또는 메서드 이름을 입력하여 활성화하세요.
자세히 알아보기
IntelliJ 플랫폼 업데이트
Android 스튜디오 3.6에는 IntelliJ 2019.2 플랫폼 버전이 포함되어 있습니다. 이 IntelliJ 버전에서는 새로운 서비스 도구 창이나 크게 향상된 시작 시간 등 여러 항목이 개선되었습니다.
자세히 알아보기
변경사항 적용으로 클래스 추가
이제 Apply Code Changes 또는 Apply Changes and Restart Activity를 클릭하여 실행 중인 앱에 클래스를 추가한 후 관련 코드 변경사항을 배포할 수 있습니다.
두 작업의 차이점에 관해 자세히 알아보려면
변경사항 적용
을 참조하세요.
빌드
Android Gradle 플러그인(AGP) 업데이트
Android Gradle 플러그인 3.6 이상에는 빌드 아티팩트를 Apache Maven 저장소에 게시할 수 있는 Maven Publish Gradle 플러그인 지원 기능이 포함되어 있습니다. Android Gradle 플러그인은 각각의 앱 또는 라이브러리 모듈의 빌드 변형 아티팩트 마다 구성요소를 생성하며, 개발자는 이를 설정하여 Maven 저장소로 모듈을 배포할 수 있습니다. 이 변경사항을 통해 다양한 구성의 각 모듈 별 출시 수명 주기를 더 간편하게 관리할 수 있습니다.
자세히 알아보기
또한 Android Gradle 플러그인은 대규모 프로젝트의 주석 처리/KAPT 성능을 크게 개선했습니다. AGP에서 .java 파일 대신 R 클래스 바이트 코드를 직접 생성하기 때문입니다.
새로운 패키징 도구
Android 빌드팀에서는 빌드 성능을 개선할 수 있는 방안을 찾기 위해 계속 노력하고 있으며 이번 버전에서는 디버그 빌드의 기본 패키징 도구를
zipflinger
로 변경했습니다. 사용자는 향상된 빌드 속도를 확인할 수 있으며
gradle.properties
파일에서
android.useNewApkCreator=false
를 설정하여 이전의 패키징 도구를 사용하도록 되돌릴 수도 있습니다.
새로운 패키징 도구를 사용 중지하도록 gradle.properties 파일 수정
테스트
Android Emulator - Google 지도 UI
Android Emulator 29.2.12에서는 앱 개발자가 새로운 방법으로 에뮬레이션된 기기 위치와 상호 작용할 수 있습니다. 위치를 간편하게 지정하고 위치 간 경로를 구성할 수 있도록 확장된 컨트롤 메뉴에 Google 지도 사용자 인터페이스를 삽입했습니다. 개별 지점을 저장하여 기기에 가상의 위치로 다시 전송할 수 있으며, 주소를 입력하거나 두 지점을 클릭하여 경로를 생성할 수 있습니다. 경로를 따라 위치가 게스트 OS로 전송되면서 경로를 실시간으로 다시 볼 수 있습니다.
실시간으로 위치를 스트리밍하는 Android Emulator 위치 UI
다중 디스플레이 지원
Emulator 29.1.10에는 여러 가상 디스플레이의 예비 지원이 포함됩니다. 다중 디스플레이를 지원하는 기기가 점점 늘어남에 따라 다양한 다중 디스플레이 구성으로 앱을 테스트하는 것이 중요해졌습니다. 사용자는 설정 메뉴(
Extended Controls
>
Settings
)를 통해 다중 디스플레이를 구성할 수 있습니다.
Android Emulator의 다중 디스플레이 지원
Android Emulator 확장 컨트롤 패널에서 보조 디스플레이 구성
재개 가능한 SDK 다운로드
이제 Android 스튜디오 SDK Manager를 사용하여 Android SDK 구성요소와 도구를 다운로드할 때 네트워크 문제 등으로 다운로드가 중단되는 경우 다운로드를 처음부터 다시 시작하는 대신 중단된 부분부터 재개할 수 있습니다. 이 개선사항은 인터넷 연결이 불안정한 상태에서 Android Emulator나 시스템 이미지와 같은 대용량 파일을 다운로드하는 경우에 특히 유용합니다.
SDK 다운로드 일시중지 및 재개
가져온 APK가 변경되면 바로 업데이트
Android 스튜디오에서는
외부에서 빌드된 APK를 가져와
디버그 및 프로파일할 수 있습니다. 이전에는 APK가 변경되면 수동으로 다시 가져와서 기호와 소스를 다시 연결해야 했습니다. Android 스튜디오 3.6에서는 가져온 APK 파일에 적용된 변경사항을 자동으로 감지하고 파일을 다시 불러올 수 있는 옵션을 제공합니다.
가져온 APK에 Kotlin 소스 연결
가져온 APK에 Kotlin 소스 파일을 연결하는 기능이 추가되었습니다. 자세한 내용은
Kotlin/자바 소스 연결
을 참조하세요.
가져온 APK에 Kotlin/자바 소스 연결
최적화
메모리 프로파일러에서 누수 감지
개발자의 의견을 바탕으로 메모리 프로파일러에 누수되었을 수 있는 액티비티 및 프래그먼트 인스턴스를 감지하는 기능을 추가했습니다. 시작하려면 메모리 프로파일러에서 힙 덤프 파일을 캡처하거나 가져온 다음
Activity/Fragment Leaks
체크박스를 선택하여 결과를 생성하세요. Android 스튜디오에서 누수를 감지하는 방법을 자세히 알아보려면
이 문서
를 참조하세요.
메모리 프로파일러에서 누수된 활동 및 프래그먼트 감지
APK Analyzer에서 클래스 및 메서드 바이트 코드 가독화
APK Analyzer를 사용하여 DEX 파일을 검사할 때 이제 클래스 및 메서드 바이트 코드를 가독화할 수 있습니다. DEX 파일 뷰어에서 분석 중인 APK의 ProGuard 매핑 파일을 로드하고 파일이 로드되면 검사하려는 클래스나 메서드를 마우스 오른쪽 버튼으로 클릭한 후
Show bytecode
를 선택하면 됩니다.
자세히 알아보기
APK Analyzer에서
Show bytecode
를 선택하여 클래스 및 메서드 바이트 코드 가독화
요약하면 Android 스튜디오 3.6에는 다음과 같은 새로운 개선사항 및 기능이 포함되어 있습니다.
디자인
●디자인 편집기의 분할 보기
●색상 선택 도구 리소스 탭
개발
●뷰 바인딩
●Android NDK 지원 업데이트
●IntelliJ 플랫폼 업데이트
●변경사항 적용으로 클래스 추가
빌드
●Android Gradle 플러그인(AGP) 업데이트
●새로운 패키징 도구
테스트
●Android Emulator Google 지도 UI
●다중 디스플레이 지원
●재개 가능한 SDK 다운로드
●가져온 APK가 변경되면 바로 업데이트
최적화
●메모리 프로파일러에서 누수 감지
●APK Analyzer에서 클래스 및 메서드 바이트 코드 가독화
●가져온 APK에 Kotlin 소스 연결
시작하기
다운로드
다운로드 페이지
에서 Android 스튜디오 3.6을 다운로드하세요. 이전 버전의 Android 스튜디오를 사용 중이라면 최신 버전의 Android 스튜디오로 간단히 업데이트할 수 있습니다. 언급된 Android Emulator 기능을 사용하려면 Android 스튜디오 SDK Manager를 통해 다운로드한 Android Emulator v29.2.12 이상을 실행해야 합니다.
앞서 언급드렸듯이 이슈 사항이나 필요한 기능 등이 있다면 여러분의 의견을 들려주세요. 또 버그나 문제를 발견하면 언제든지 말씀 부탁드립니다.
Twitter
나
Medium
을 통해 Android 스튜디오 개발팀을 팔로우 해주세요.
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