Android 스튜디오 3.5(2019년 8월)
Android 스튜디오 3.5는 메이저 버전으로, Project Marble의 결과물입니다. Android 스튜디오 3.3 버전부터 진행된 Project Marble 이니셔티브는 여러 출시에 걸쳐 IDE의 세 가지 주요 영역인 시스템 상태, 기능 개선 및 버그 수정을 향상하는 데 중점을 두고 있습니다.
이 업데이트 및 기타 Project Marble 업데이트에 관한 자세한 내용은 Android 개발자 블로그 게시물 또는 아래 섹션을 참고하세요.
또한 이번 출시에 도움을 주신 모든 커뮤니티 참여자 여러분께 감사의 인사를 드리고 싶습니다.
3.5.3(2019년 12월)
이번 소규모 업데이트는 다양한 버그 수정 및 성능 개선을 포함합니다.
3.5.2(2019년 11월)
이번 소규모 업데이트는 다양한 버그 수정 및 성능 개선을 포함합니다. 중요한 버그 수정 목록을 보려면 업데이트 출시 블로그에서 관련 게시물을 읽어보세요.
3.5.1(2019년 10월)
이번 소규모 업데이트는 다양한 버그 수정 및 성능 개선을 포함합니다. 중요한 버그 수정 목록을 보려면 업데이트 출시 블로그에서 관련 게시물을 읽어보세요.
Project Marble: 시스템 상태
이 섹션에서는 시스템 상태 개선에 중점을 둔 Android 스튜디오 3.5의 변경사항에 관해 설명합니다.
권장 메모리 설정
이제 Android 스튜디오는 코어 IDE, Gradle 데몬 및 Kotlin 데몬과 같이 OS가 Android 스튜디오 프로세스에 할당해야 하는 최대 RAM 양을 늘려 성능을 개선할 수 있음을 감지하면 이 사실을 알려줍니다. 알림에서 작업 링크를 클릭하여 권장 설정을 수락하거나 File > Settings(macOS에서는 Android Studio > Preferences)를 선택한 후 Appearance & Behavior > System Settings 아래에서 Memory Settings 섹션을 찾아 이러한 설정을 직접 조정할 수 있습니다. 자세한 내용은 최대 힙 크기를 참고하세요.
메모리 사용량 보고서
Android 스튜디오의 메모리 문제는 재현하고 신고하기 어려울 수 있습니다. 이 문제를 해결하는 데 도움이 되도록 Android 스튜디오에서는 메뉴 바에서 Help > Analyze Memory Usage를 클릭하여 메모리 사용량 보고서를 생성하는 기능을 제공합니다. 이렇게 보고서를 생성할 때 IDE는 메모리 문제의 원인을 파악할 수 있도록 지원하기 위해 개인 정보 데이터를 Android 스튜디오팀에 전송할지 여부를 묻기 전에 이러한 데이터를 로컬에서 삭제합니다. 자세한 내용은 메모리 사용량 보고서 실행을 참고하세요.
Windows: 바이러스 백신 파일 I/O 최적화
Android 스튜디오는 이제 특정 프로젝트 디렉터리가 실시간 바이러스 백신 검사에서 제외되는지 여부를 자동으로 확인합니다. 조정을 통해 빌드 성능을 개선할 수 있을 때 Android 스튜디오는 이 사실을 알리고 바이러스 백신 구성을 최적화하는 방법을 안내해줍니다. 자세한 내용은 바이러스 백신 소프트웨어가 빌드 속도에 미치는 영향 최소화를 참고하세요.
Project Marble: 기능 개선
이 섹션에서는 기존 기능의 개선에 중점을 둔 Android 스튜디오 3.5의 변경사항에 관해 설명합니다.
Apply Changes
Apply Changes를 사용하면 앱을 다시 시작하지 않고, 또한 경우에 따라 현재 활동을 다시 시작하지 않고 코드 및 리소스 변경사항을 실행 중인 앱에 푸시할 수 있습니다. Apply Changes는 앱의 상태를 보존하는 완전히 새로운 방법을 구현합니다. APK의 바이트 코드를 다시 작성한 Instant Run과 달리 Apply Changes는 Android 8.0(API 수준 26) 이상에서 지원되는 런타임 계측을 활용하여 클래스를 즉시 재정의합니다.
자세히 알아보려면 Apply Changes를 참고하세요.
앱 배포 흐름
IDE에는 앱을 배포할 기기를 빠르게 선택할 수 있는 새로운 드롭다운 메뉴가 있습니다. 이 메뉴에는 한 번에 여러 기기에서 앱을 실행할 수 있게 하는 새로운 옵션도 포함되어 있습니다.
Gradle 동기화 및 캐시 감지 향상
IDE는 이제 Gradle이 하드 디스크 사용을 줄일 때 언제 빌드 캐시를 주기적으로 지우는지를 더 잘 감지합니다. 이전 버전에서는 이 상태로 인해 IDE가 종속 항목 누락을 보고하고 Gradle 동기화가 실패했습니다. 이제 IDE는 필요에 따라 종속 항목을 간단히 다운로드하여 Gradle 동기화가 성공적으로 완료될 수 있도록 합니다.
빌드 오류 출력 향상
Build 창은 이제 다음과 같은 빌드 프로세스를 위해 오류가 보고된 파일과 행에 연결된 링크와 같은 개선된 오류 보고를 제공합니다.
- AAPT 컴파일 및 링크
- R8 및 ProGuard
- 덱싱
- 리소스 병합
- XML 파일 파싱
- Javac, Kotlinc 및 CMake 컴파일
프로젝트 업그레이드
IDE 및 Android Gradle 플러그인을 업데이트하는 데 도움이 되는 추가 정보와 작업을 제공하도록 업데이트 환경을 개선했습니다. 예를 들어 추가 동기화 및 빌드 오류에는 업데이트 시 오류를 완화하는 데 도움이 되는 작업이 포함됩니다.
Android Gradle 플러그인과 같은 다른 구성요소와 독립적으로 IDE를 업데이트할 수 있다는 사실에 유의해야 합니다. 즉, 새 버전이 출시되는 즉시 IDE를 안전하게 업데이트하고 나중에 다른 구성요소를 업데이트할 수 있습니다.
Layout Editor
Android 스튜디오 3.5에는 레이아웃 시각화, 관리 및 상호작용과 관련한 몇 가지 개선사항이 포함되어 있습니다.
ConstraintLayout
작업 시 Attributes 패널의 새로운 Constraints 섹션에는 선택한 UI 구성요소의 제약 조건 관계가 나열됩니다. 디자인 화면 또는 제약 조건 목록에서 제약 조건을 선택하여 두 영역의 제약 조건을 강조표시할 수 있습니다.
마찬가지로 이제 제약 조건을 선택하고 Delete
키를 눌러 제약 조건을 삭제할 수 있습니다. 또한 Control
키(macOS에서는 Command
)를 누른 채 제약 조건 앵커를 클릭하여 제약 조건을 삭제할 수도 있습니다. 참고로 Control
또는 Command
키를 누른 채 앵커 위로 마우스를 가져가면 관련 제약 조건이 빨간색으로 바뀌어 제약 조건을 클릭하여 삭제할 수 있음을 나타냅니다.
뷰를 선택하면 다음 이미지에서와 같이 Attributes 패널의 Constraint Widget 섹션에서 + 아이콘을 클릭하여 제약 조건을 생성할 수 있습니다. 개발자가 새 제약 조건을 생성하면 이제 Layout Editor는 제약 조건을 선택하여 강조표시함으로써 방금 추가된 항목과 관련한 즉각적인 시각적 피드백을 제공합니다.
제약 조건을 생성할 때 Layout Editor에는 이제 제약할 수 있는 앵커 포인트만 표시됩니다. 이전에는 제약 가능 여부와 관계없이 Layout Editor가 모든 뷰에서 모든 앵커 포인트를 강조표시했습니다. 또한 이제 파란색 오버레이가 제약 조건의 대상을 강조표시합니다. 이 강조표시는 다른 구성요소와 겹치는 구성요소를 제약하려고 할 때 특히 유용합니다.
위의 업데이트 외에도 Android 스튜디오 3.5에는 다음과 같은 Layout Editor 개선사항이 포함되어 있습니다.
- 이제 Constraint Widget 및 기본 여백 드롭다운을 통해 여백에 크기 리소스를 사용할 수 있습니다.
- Layout Editor 툴바에서 디자인 화면의 크기를 결정하는 기기 목록이 업데이트되었습니다. 또한 크기 조절 중 맞추기 동작이 개선되었으며, 이제 디자인 화면의 크기 조절 핸들이 항상 표시됩니다. 크기를 조절할 때 일반적인 기기 크기를 표시하는 새 오버레이가 나타납니다.
- Layout Editor에는 일관성을 향상하고 구성요소, 텍스트 및 제약 조건 간의 대비를 줄이는 새로운 색 구성표가 있습니다.
- 청사진 모드에는 이제 텍스트가 보이지 않는 일부 구성요소의 텍스트 지원이 포함되어 있습니다.
이러한 변경사항에 관한 자세한 내용은 Android 스튜디오 Project Marble: Layout Editor를 참고하세요.
데이터 결합
IDE는 데이터 결합의 증분 주석 처리 지원을 추가할 뿐만 아니라 XML로 데이터 결합 표현식을 생성할 때 스마트 편집기 기능 및 성능을 개선했습니다.
C/C++ 프로젝트 지원 향상
Android 스튜디오 3.5에는 C/C++ 프로젝트 지원을 향상하는 몇 가지 변경사항이 포함되어 있습니다.
단일 변형 동기화를 위한 Build Variants 패널 개선
이제 Build Variants 패널에서 활성 빌드 변형과 활성 ABI를 모두 지정할 수 있습니다. 이 기능은 모듈별 빌드 구성을 간소화하고 Gradle 동기화 성능도 향상할 수 있습니다.
자세히 알아보려면 빌드 변형 변경을 참고하세요.
NDK 병렬 버전
이제 여러 NDK 버전을 함께 사용할 수 있습니다. 이 기능은 프로젝트를 구성할 때 더 많은 유연성을 제공합니다. 예를 들어 동일한 시스템에서 다양한 버전의 NDK를 사용하는 프로젝트가 있을 때 프로젝트를 더 유연하게 구성할 수 있습니다.
프로젝트에서 Android Gradle 플러그인 3.5.0 이상을 사용한다면 프로젝트의 각 모듈에서 사용해야 하는 NDK 버전도 지정할 수 있습니다. 이 기능을 사용하면 재현 가능한 빌드를 생성하고 NDK 버전과 Android Gradle 플러그인 간의 비호환성을 완화할 수 있습니다.
자세히 알아보려면 NDK, CMake 및 LLDB의 설치 및 구성을 참고하세요.
ChromeOS 지원
이제 Android 스튜디오는 시스템 요구사항에서 확인할 수 있는 HP Chromebook x360 14, Acer Chromebook 13/Spin 13과 같은 여러 ChromeOS 기기를 공식적으로 지원합니다. 시작하려면 호환되는 ChromeOS 기기에 Android 스튜디오를 다운로드하고 설치 안내를 따르세요.
참고: ChromeOS에서 Android 스튜디오를 사용하는 경우 현재 연결된 하드웨어 기기에만 앱을 배포할 수 있습니다. 자세한 내용은 하드웨어 기기에서 앱 실행을 참고하세요.
기능 모듈의 조건부 제공
조건부 제공을 사용하면 앱 설치 중에 기능 모듈을 자동으로 다운로드하기 위한 특정한 기기 설정 요구사항을 지정할 수 있습니다. 예를 들어 증강 현실(AR)을 지원하는 기기에서만 앱 설치 시 AR을 제공하는 기능이 포함된 기능 모듈을 구성할 수 있습니다.
이 제공 메커니즘을 통해 현재 다음과 같은 기기 설정을 기반으로 앱 설치 시 모듈의 다운로드를 관리할 수 있습니다.
- 기기 하드웨어 및 소프트웨어 기능(OpenGL ES 버전 포함)
- 사용자 국가
- API 수준
기기가 지정된 모든 요구사항을 충족하지 않으면 모듈이 앱 설치 시에 다운로드되지 않습니다. 그러나 앱에서 나중에 Play Core 라이브러리를 사용하여 주문형으로 모듈을 다운로드하도록 요청할 수 있습니다. 자세한 내용은 조건부 제공 구성을 참고하세요.
IntelliJ IDEA 2019.1
2019.1 출시를 통해 핵심 Android 스튜디오 IDE가 테마 맞춤설정과 같은 IntelliJ IDEA 개선사항을 포함하여 업데이트되었습니다.
Android 스튜디오에 포함된 마지막 IntelliJ 버전은 2018.3.4입니다. 이 Android 스튜디오 버전에 누적적으로 포함된 다른 IntelliJ 버전의 개선사항에 관한 자세한 내용은 다음 버그 수정 업데이트를 참고하세요.
- IntelliJ IDEA 2018.3.6{: .external-link}
- IntelliJ IDEA 2018.3.5{: .external-link}
Android Gradle 플러그인 3.5.0 업데이트
증분 주석 처리 및 캐시 가능한 단위 테스트 지원 향상과 같은 Android Gradle 플러그인 3.5.0의 새로운 기능에 관한 자세한 내용은 출시 노트를 참고하세요.
커뮤니티 참여자
버그를 발견하고 Android 스튜디오 3.5 개선을 위한 다른 방법을 찾도록 도와주신 모든 커뮤니티 참여자 여러분께 감사의 말씀을 전합니다. 특히 P0 및 P1 버그를 신고해 주신 다음 분들께 감사드립니다.