Android 스튜디오 3.3(2019년 1월)

Android 스튜디오 3.3은 다양한 새 기능과 개선사항이 포함된 메이저 버전입니다.

3.3.2(2019년 3월)

이번 소규모 업데이트는 다양한 버그 수정 및 성능 개선을 포함합니다. 중요한 버그 수정 목록을 보려면 업데이트 출시 블로그에서 관련 게시물을 읽어보세요.

3.3.1(2019년 2월)

이번 소규모 업데이트는 다양한 버그 수정 및 성능 개선을 포함합니다.

IntelliJ IDEA 2018.2.2

핵심 Android 스튜디오 IDE가 2018.2.2 출시를 통해 IntelliJ IDEA 개선사항과 함께 업데이트되었습니다.

Android Gradle 플러그인 업데이트

Android Gradle 플러그인의 새로운 기능에 관한 정보는 출시 노트를 참고하세요.

Navigation Editor에서는 탐색 아키텍처 구성요소를 사용하여 탐색을 빠르게 시각화하고 앱에 빌드할 수 있습니다.

자세한 내용은 탐색 아키텍처 구성요소를 통한 탐색 구현을 참고하세요.

사용되지 않은 Android 스튜디오 디렉터리 삭제

메이저 버전의 Android 스튜디오를 처음 실행하면 설치되지 않은 버전의 Android 스튜디오와 관련된 캐시, 설정, 색인, 로그를 포함하는 디렉터리를 찾는 작업이 진행됩니다. Delete Unused Android Studio Directories 대화상자에 이런 사용되지 않은 디렉터리의 위치, 크기 및 마지막 수정 시간이 표시되고 삭제 옵션이 제공됩니다.

Android 스튜디오에서 삭제 대상으로 고려하는 디렉터리는 다음과 같습니다.

  • Linux: ~/.AndroidStudio[Preview]X.Y
  • Mac: ~/Library/{Preferences, Caches, Logs, Application Support}/AndroidStudio[Preview]X.Y
  • Windows: %USER%.AndroidStudio[Preview]X.Y

린트 개선사항

린트가 Gradle에서 호출될 때 속도가 훨씬 빨라지며, 대규모 프로젝트에서는 린트가 최대 4배 더 빠르게 실행될 수 있습니다.

Create New Project 마법사

Create New Project 마법사의 디자인이 새로워졌으며 새로운 Android 스튜디오 프로젝트를 더 간편하게 만들 수 있는 업데이트가 포함되었습니다.

자세한 내용은 프로젝트 만들기를 참고하세요.

프로파일러 업데이트

Android 스튜디오 3.3에는 여러 개별 프로파일러에 대한 업데이트가 포함되었습니다.

성능 개선

사용자의 의견에 따라 프로파일러 사용 중 렌더링 성능을 크게 향상했습니다. 특히 성능 문제가 지속되는 경우 계속 의견을 제공해 주세요.

프로파일러 메모리 할당 추적 옵션

프로파일링하는 동안 앱 성능을 개선하기 위해 이제 메모리 프로파일러가 기본적으로 메모리 할당 샘플을 주기적으로 추출합니다. 원한다면 Android 8.0(API 수준 26) 이상을 실행하는 기기에서 테스트할 때 Allocation Tracking 드롭다운을 사용하여 이 동작을 변경할 수 있습니다.

Allocation Tracking 드롭다운을 사용하여 다음 모드 중에서 선택할 수 있습니다.

  • Full: 모든 객체 메모리 할당을 캡처합니다. 앱에서 많은 객체를 할당하는 경우 프로파일링 중 심각한 성능 문제가 발생할 수 있습니다.

  • Sampled: 객체 메모리 할당의 주기적 샘플을 캡처합니다. 이는 기본 동작으로 프로파일링하는 동안 앱 성능에 미치는 영향이 적습니다. 짧은 기간 내에 많은 객체를 할당하는 앱에서는 몇 가지 성능 문제가 발생할 수 있습니다.

  • Off: 메모리 할당을 사용 중지합니다. 아직 선택된 상태가 아니라면 CPU를 기록하는 동안 이 모드가 자동으로 사용 설정되며 기록이 완료된 후 이전 설정으로 돌아갑니다. CPU 기록 구성 대화상자에서 이 동작을 변경할 수 있습니다.

    추적은 자바 객체 및 JNI 참조에 모두 영향을 줍니다.

프레임 렌더링 데이터 검사

이제 CPU 프로파일러에서 자바 앱이 기본 UI 스레드 및 RenderThread의 각 프레임을 렌더링하는 데 걸리는 시간을 검사할 수 있습니다. 이 데이터는 UI 버벅거림 현상 및 프레임 속도 저하를 유발하는 병목 현상을 조사할 때 도움이 될 수 있습니다. 예를 들어 원활한 프레임 속도를 유지하는 데 필요한 16ms보다 오래 걸리는 각 프레임은 빨간색으로 표시됩니다.

프레임 렌더링 데이터를 보려면 시스템 호출을 추적할 수 있는 구성을 사용하여 트레이스를 기록하세요. 트레이스를 기록한 후 아래와 같이 FRAMES라는 섹션에서 각 프레임에 관한 정보와 기록의 타임라인을 찾아보세요.

프레임 속도 문제 조사 및 수정에 관한 자세한 내용은 느린 렌더링을 참고하세요.

이벤트 타임라인의 프래그먼트

이제 이벤트 타임라인에 프래그먼트가 연결 및 분리된 시점이 표시됩니다. 또한 프래그먼트에 마우스를 가져가면 프래그먼트 상태가 도움말에 표시됩니다.

네트워크 프로파일러에서 연결 페이로드의 서식이 지정된 텍스트 보기

이전에는 네트워크 프로파일러에 연결 페이로드의 원시 텍스트만 표시되었습니다. Android 스튜디오 3.3에서는 기본적으로 JSON, XML 및 HTML을 포함한 특정 텍스트 유형의 서식을 지정합니다. ResponseRequest 탭에서 View Parsed 링크를 클릭하면 서식이 지정된 텍스트가 표시되며 View Source 링크를 클릭하면 원시 텍스트가 표시됩니다.

자세한 내용은 네트워크 프로파일러를 사용하여 네트워크 트래픽 검사를 참고하세요.

SDK 구성요소 자동 다운로드

프로젝트에 SDK 플랫폼, NDK 또는 CMake의 SDK 구성요소가 필요할 때 이전에 SDK Manager를 사용하여 관련 라이선스 계약에 동의했다면 이제 Gradle이 필수 패키지를 자동으로 다운로드합니다.

자세한 내용은 Gradle을 사용하여 누락된 패키지 자동 다운로드를 참고하세요.

Clang-Tidy 지원

Android 스튜디오에서는 이제 네이티브 코드가 포함된 프로젝트에 Clang-Tidy를 사용하는 정적 코드 분석을 지원합니다. Clang-Tidy 지원을 사용 설정하려면 r18 이상으로 NDK를 업데이트하세요.

그런 다음 Settings 또는 Preferences 대화상자를 열고 Editor > Inspections > C/C++ > General > Clang-Tidy로 이동하여 검사를 사용 설정할 수 있습니다. Settings 또는 Preferences 대화상자에서 이 검사를 선택하면 가장 오른쪽에 있는 패널의 Option 섹션에서 사용 설정되었거나 사용 중지된 Clang-Tidy 검사 목록을 확인할 수도 있습니다. 추가 검사를 사용 설정하려면 목록에 추가한 후 Apply를 클릭하세요.

추가 옵션을 사용하여 Clang-Tidy를 구성하려면 Configure Clang-Tidy Checks Options를 클릭한 후 표시되는 대화상자에서 옵션을 추가하세요.

C++ 맞춤설정 옵션의 삭제

C++ 지원 맞춤설정 대화상자에서 다음 옵션이 삭제되었습니다.

  • 예외 지원(-fexceptions)
  • 런타임 유형 정보 지원(-ftti)

각 동작은 Android 스튜디오를 통해 생성된 모든 프로젝트에 사용 설정됩니다.

CMake 버전 3.10.2

이제 CMake 버전 3.10.2가 SDK Manager에 포함됩니다. Gradle에서는 여전히 버전 3.6.0을 기본적으로 사용합니다.

Gradle에서 사용할 CMake 버전을 지정하려면 모듈의 build.gradle 파일에 다음을 추가하세요.

    android {
        ...
        externalNativeBuild {
            cmake {
                ...
                version "3.10.2"
            }
        }
    }
    
  

build.gradle에서 CMake를 구성하는 방법에 관한 자세한 내용은 수동으로 Gradle 구성을 참고하세요.

새로운 '+' 문법으로 최소 CMake 버전 지정

기본 모듈의 build.gradle 파일에서 CMake 버전을 지정할 때 이제 '+'를 추가하여 CMake의 cmake_minimum_required() 명령어 동작과 일치시킬 수 있습니다.

주의: 동적 종속 항목을 사용하면 예기치 않은 버전 업데이트가 발생하고 버전 차이를 해결하기가 어려울 수 있으므로 '+' 문법을 다른 빌드 종속 항목과 함께 사용하지 않는 것이 좋습니다.

Android App Bundle에서 이제 인스턴트 앱 지원

이제 Android 스튜디오에서 Google Play 인스턴트를 완전히 지원하는 Android App Bundle을 빌드할 수 있습니다. 즉, 단일 Android 스튜디오 프로젝트에서 설치된 앱과 인스턴트 환경을 모두 빌드하고 배포할 수 있으며, 이들을 하나의 Android App Bundle에 포함할 수 있습니다.

Create New Project 대화상자를 사용하여 새로운 Android 스튜디오 프로젝트를 만드는 경우 Configure your project > This project will support instant apps 옆의 체크박스를 선택해야 합니다. 이렇게 하면 Android 스튜디오가 평소처럼 새로운 앱 프로젝트를 생성하지만, 앱의 기본 모듈에 인스턴트 앱 지원을 추가하기 위해 매니페스트에 다음 속성을 포함합니다.

    <manifest ... xmlns:dist="http://schemas.android.com/apk/distribution">
        <dist:module dist:instant="true" />
        ...
    </manifest>
    
  

그런 다음 메뉴 바에서 File > New > New Module을 선택한 후 Create New Module 대화상자에서 Instant Dynamic Feature Module을 선택하여 인스턴트 지원 기능 모듈을 생성하면 됩니다. 이 모듈을 만들면 앱의 기본 모듈에도 인스턴트 지원이 적용됩니다.

로컬 기기에 인스턴트 환경으로 앱을 배포하려면 실행 구성을 수정하고 General > Deploy as instant app 옆의 체크박스를 선택하세요.

단일 변형 프로젝트 동기화

빌드 구성과 프로젝트를 동기화하는 단계는 Android 스튜디오가 프로젝트 구성 방식을 이해하는 데 중요합니다. 하지만 프로젝트 규모가 큰 경우 이 과정에 시간이 오래 걸릴 수 있습니다. 프로젝트에서 빌드 변형을 여러 개 사용하는 경우 현재 선택한 변형만 동기화하도록 제한하여 프로젝트 동기화를 최적화할 수 있습니다.

이 최적화를 사용 설정하려면 Android 스튜디오 3.3 이상과 Android Gradle 플러그인 3.3.0 이상을 사용해야 합니다. 이러한 요구사항을 충족하면 프로젝트를 동기화할 때 IDE에서 이 최적화를 사용 설정하라는 메시지가 표시됩니다. 최적화는 새로운 프로젝트에도 기본으로 사용 설정됩니다.

최적화를 수동으로 사용 설정하려면 File > Settings > Experimental > Gradle(Mac에서는 Android Studio > Preferences > Experimental > Gradle)을 클릭하고 Only sync the active variant 체크박스를 선택합니다.

참고: 이 최적화 기능은 현재 자바 프로그래밍 언어만 포함된 프로젝트를 지원합니다. 예를 들어 IDE가 프로젝트에서 Kotlin 또는 C++ 코드를 감지하면 이 최적화 기능이 자동으로 사용 설정되지 않으며, 수동으로 사용 설정하면 안 됩니다.

자세한 내용은 단일 변형 프로젝트 동기화 사용 설정을 참고하세요.

빠른 의견 제공

Android 스튜디오 개선에 도움이 되도록 사용 통계 공유를 선택했다면 IDE 창 하단에 있는 상태 표시줄에 다음과 같은 새로운 아이콘 2개가 표시됩니다.

현재 IDE 사용 경험을 가장 잘 나타내는 아이콘을 클릭하기만 하면 됩니다. 그러면 IDE가 Android 스튜디오팀에서 사용자의 사용 소감을 더 잘 이해할 수 있도록 사용 통계를 전송합니다. 때에 따라(예: IDE 사용의 부정적인 경험을 표시할 때) 추가 의견을 제공하라는 메시지가 표시될 수 있습니다.

아직 사용 설정하지 않았다면 Settings 대화상자(Mac에서는 Preferences)를 열고 Appearance & Behavior > System Settings > Data Sharing으로 이동한 후 Send usage statistics to Google을 선택하여 사용 통계를 공유하도록 설정할 수 있습니다.