Android 스튜디오 3.0(2017년 10월)

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

macOS 사용자: 이전 버전의 Android 스튜디오를 업데이트할 때 'Some conflicts were found in the installation area'라는 업데이트 오류 대화상자가 표시될 수 있습니다. 이 오류를 무시하고 Cancel을 클릭하여 설치를 계속하면 됩니다.

3.0.1(2017년 11월)

일반적인 버그 수정 및 성능 개선을 포함하는 Android 스튜디오 3.0의 소규모 업데이트입니다.

Gradle용 Android 플러그인 3.0.0

새로운 Gradle용 Android 플러그인에는 다양한 개선사항과 새로운 기능이 포함되어 있지만, 주로 모듈수가 많은 프로젝트의 빌드 성능이 향상되었습니다. 이러한 대규모 프로젝트에서 새 플러그인을 사용하면 다음과 같은 이점이 있습니다.

  • 지연된 종속 항목의 새로운 해결로 인해 더 빨라진 빌드 구성 시간
  • 빌드 중인 프로젝트와 변형에서만 변형 인식 종속 항목 해결
  • 코드나 리소스에 간단한 변경사항 적용 시 더 빨라진 증분 빌드 시간

참고: 이러한 개선에는 일부 플러그인 동작, DSL 및 API를 중단시키는 중대한 변경사항이 요구되었습니다. 버전 3.0.0으로 업그레이드하면 빌드 파일 및 Gradle 플러그인을 변경해야 할 수 있습니다.

또한 이 버전에는 다음이 포함됩니다.

  • Android 8.0 지원
  • 언어 리소스를 기반으로 하는 별도의 APK 빌드 지원
  • 자바 8 라이브러리 및 자바 8 언어 기능 지원(Jack 컴파일러 필요 없음)
  • Android 테스트 지원 라이브러리 1.0 지원(Android 테스트 유틸리티 및 Android Test Orchestrator)
  • 향상된 ndk-build 및 cmake 빌드 속도
  • 향상된 Gradle 동기화 속도
  • 이제 AAPT2가 기본적으로 사용 설정됨
  • 이제 ndkCompile 사용이 더 제한됩니다. 대신 APK로 패키징하려는 네이티브 코드를 컴파일하려면 CMake나 ndk-build를 사용하여 이전해야 합니다. 자세한 내용은 ndkcompile에서 이전을 읽어보세요.

변경사항을 자세히 알아보려면 Gradle용 Android 플러그인 출시 노트를 참고하세요.

새로운 플러그인으로 업그레이드할 준비가 되었다면 Gradle용 Android 플러그인 3.0.0으로 이전을 참조하세요.

Kotlin 지원

Google I/O 2017에서 발표된 대로, 이제 Kotlin 프로그래밍 언어가 Android에서 공식적으로 지원됩니다. 이번 출시부터 Android 스튜디오에는 Android 개발을 위한 Kotlin 언어 지원이 포함됩니다.

자바 파일을 Kotlin으로 변환(Code > Convert Java File to Kotlin File 클릭)하거나 New Project 마법사를 사용해 새로운 Kotlin 지원 프로젝트를 만들어서 Kotlin을 프로젝트에 통합할 수 있습니다.

시작하려면 프로젝트에 Kotlin을 추가하는 방법을 읽어보세요.

자바 8 언어 기능 지원

이제 특정 Java 8 언어 기능을 사용하고 Java 8로 빌드된 라이브러리를 이용할 수 있습니다. 더 이상 Jack이 필요하지 않으므로 기본 도구 모음에 내장되어 있는 개선된 자바 8 지원 기능을 사용하려면 먼저 Jack을 사용 중지해야 합니다.

새로운 자바 8 언어 도구 모음을 지원하도록 프로젝트를 업데이트하려면 Project Structure 대화상자에서 Source CompatibilityTarget Compatibility를 1.8로 업데이트하세요(File > Project Structure 클릭). 자세한 내용은 자바 8 언어 기능 사용 방법을 참조하세요.

Android 프로파일러

새로운 Android 프로파일러는 Android Monitor 도구를 대체하며 앱의 CPU, 메모리, 네트워크 사용량을 실시간으로 측정할 수 있는 새로운 도구 모음을 제공합니다. 샘플 기반 메서드 추적을 실행하여 코드 실행 시점 지정, 힙 덤프 캡처, 메모리 할당 조회, 네트워크 전송 파일의 세부정보 검사를 실행할 수 있습니다.

이 기능을 실행하려면 View > Tool Windows > Android Profiler를 클릭합니다(또는 툴바에서 Android Profiler 클릭).

창 상단의 이벤트 타임라인에는 터치 이벤트, 키 누름 및 활동 변경이 표시되므로 타임라인의 다른 성능 이벤트를 더 잘 파악할 수 있습니다.

참고: Logcat 뷰도 별도의 창으로 이동했습니다(이전에는 Android Monitor 내에 있었으나 삭제됨).

Android 프로파일러의 개요 타임라인에서 CPU, MEMORY 또는 NETWORK 타임라인을 클릭하여 프로파일러 도구에 액세스할 수 있습니다.

CPU 프로파일러

CPU 프로파일러를 사용하면 샘플 또는 계측된 CPU 트레이스를 트리거하여 앱의 CPU 스레드 사용을 분석할 수 있습니다. 그런 다음 다양한 데이터 뷰 및 필터를 사용하여 CPU 성능 문제를 해결할 수 있습니다.

자세한 내용은 CPU 프로파일러 가이드를 참고하세요.

메모리 프로파일러

메모리 프로파일러는 끊김 현상, 멈춤, 심지어 앱 비정상 종료를 일으킬 수 있는 메모리 누수 및 메모리 급변을 식별하는 데 도움을 줍니다. 메모리 프로파일러는 앱의 메모리 사용 현황을 실시간 그래프로 보여주며 힙 덤프를 캡처하고 가비지 컬렉션을 강제 실행하고 메모리 할당을 추적하는 기능을 제공합니다.

자세한 내용은 메모리 프로파일러 가이드를 참고하세요.

네트워크 프로파일러

네트워크 프로파일러를 사용하면 앱의 네트워크 활동을 모니터링하고 각 네트워크 요청의 페이로드를 검사하고 네트워크 요청을 생성한 코드에 다시 연결할 수 있습니다.

자세한 내용은 네트워크 프로파일러 가이드를 참고하세요.

APK 프로파일링 및 디버깅

이제 Android 스튜디오를 사용하면 Android 스튜디오 프로젝트에서 빌드하지 않고도 APK를 프로파일링하고 디버그할 수 있습니다. 단, APK가 디버깅을 사용하도록 빌드되어야 하며 디버그 기호 및 소스 파일에 액세스할 수 있어야 합니다.

시작하려면 Android 스튜디오 시작 화면에서 Profile or debug APK를 클릭하세요. 프로젝트가 이미 열려 있다면 메뉴 바에서 File > Profile or debug APK를 클릭합니다. 이렇게 하면 압축해제된 APK 파일이 표시되지만, 코드를 디컴파일하지는 않습니다. 따라서 중단점을 올바르게 추가하고 스택 트레이스를 보려면 자바 소스 파일과 네이티브 디버그 기호를 연결해야 합니다.

자세한 내용은 사전 빌드 APK 프로파일링 및 디버깅을 참고하세요.

Device File Explorer

새로운 Device File Explorer를 사용하면 연결된 기기의 파일 시스템을 검사하고 기기와 컴퓨터 간에 파일을 전송할 수 있습니다. 이 도구는 DDMS에서 사용할 수 있는 파일 시스템 도구를 대체합니다.

실행하려면 View > Tool Windows > Device File Explorer를 클릭하세요.

자세한 내용은 Device File Explorer 가이드를 참조하세요.

인스턴트 앱 지원

새로운 Android 인스턴트 앱 지원을 통해 인스턴트 앱 모듈과 기능 모듈이라는 두 가지 새로운 모듈 유형을 사용하여 프로젝트에서 인스턴트 앱을 만들 수 있습니다(이러한 모듈을 사용하려면 Instant Apps Development SDK를 설치해야 함).

또한 Android 스튜디오에는 기존 프로젝트에 인스턴트 앱 지원을 추가할 수 있는 새로운 모듈화 리팩터링 작업이 포함되어 있습니다. 예를 들어 인스턴트 앱 기능 모듈에 일부 클래스를 배치하기 위해 프로젝트를 리팩터링하려고 한다면 Project 창에서 클래스를 선택하고 Refactor > Modularize를 클릭합니다. 표시되는 대화상자에서 클래스가 이동해야 할 모듈을 선택하고 OK를 클릭합니다.

인스턴트 앱을 테스트할 준비가 되면 구성 실행 시작 옵션 내에서 인스턴트 앱의 URL을 지정하여 연결된 기기에서 인스턴트 앱 모듈을 빌드하고 실행할 수 있습니다. 인스턴트 앱의 URL은 Run > Edit Configurations를 선택하고 인스턴트 앱 모듈을 선택한 후 Launch Options 아래에서 URL을 설정하면 됩니다.

자세한 내용은 Android 인스턴트 앱을 참조하세요.

Android Things 모듈

Android 기반 IOT 기기 개발을 시작하는 데 도움이 되는 New Project 및 New Module 마법사의 새로운 Android Things 템플릿입니다.

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

Adaptive Icons 마법사

Image Asset Studio에서는 이제 벡터 드로어블을 지원하며 이전 기기에 사용되는 기존 아이콘('레거시' 아이콘)을 만드는 동시에 Android 8.0을 위한 적응형 런처 아이콘도 만들 수 있습니다.

시작하려면 프로젝트의 res 폴더를 마우스 오른쪽 버튼으로 클릭한 다음 New > Image Asset을 클릭합니다. Asset Studio 창에서 아이콘 유형으로 Launcher Icons (Adaptive and Legacy)를 선택합니다.

참고: 적응형 런처 아이콘을 사용하려면 compileSdkVersion을 26 이상으로 설정해야 합니다.

자세한 내용은 적응형 아이콘을 참고하세요.

글꼴 리소스 지원

Android 8.0의 새로운 글꼴 리소스를 지원하기 위해 Android 스튜디오에는 앱에 글꼴을 번들로 제공하거나 기기에 글꼴을 다운로드하도록 프로젝트를 구성(가능한 경우)하도록 돕는 글꼴 리소스 선택기가 포함되었습니다. 또한 Layout Editor를 통해 레이아웃의 글꼴을 미리 볼 수도 있습니다.

다운로드 가능한 글꼴을 사용하려면 기기 또는 에뮬레이터가 Google Play 서비스 v11.2.63 이상을 실행 중이어야 합니다. 자세한 내용은 다운로드 가능한 글꼴을 참조하세요.

Firebase 앱 색인 생성 도우미

Firebase Assistant가 앱 색인 생성을 테스트하기 위한 새로운 가이드와 함께 업데이트되었습니다. Assistant를 열려면 Tools > Firebase를 선택합니다. 그런 다음 App Indexing > Test App Indexing을 선택합니다.

가이드에는 공개 및 개인 콘텐츠 색인 생성을 테스트하는 새로운 버튼이 포함되어 있습니다.

  • 2단계에서 Preview search results를 클릭하여 URL이 Google 검색결과에 표시되는지 확인합니다.
  • 3단계에서 Check for errors를 클릭하여 앱에서 색인 생성 가능한 개체가 개인 콘텐츠 색인에 추가되었는지 확인합니다.

Android App Links Assistant가 다음과 같은 새로운 기능을 포함하도록 업데이트되었습니다.

  • 인텐트 필터가 실제 URL을 처리하도록 각 URL 매핑의 URL 테스트를 추가합니다.

    아래에 설명된 <tools:validation> 태그를 사용하여 이러한 URL 테스트를 직접 정의할 수도 있습니다.

  • Google Smart Lock을 지원하도록 적절한 객체 항목으로 디지털 애셋 링크 파일을 만들고 상응하는 asset_statements <meta-data> 태그를 매니페스트 파일에 추가합니다.

URL 인텐트 필터 검사기

Android 스튜디오에서는 이제 매니페스트 파일에서 인텐트 필터 URL을 테스트할 수 있는 특수 태그를 지원합니다. 이 태그는 App Links Assistant에서 생성하는 것과 동일한 태그입니다.

인텐트 필터의 테스트 URL을 선언하려면 <tools:validation> 요소를 상응하는 <intent-filter> 요소와 함께 추가합니다. 예를 들면 다음과 같습니다.

      <activity ...>
          <intent-filter>
              ...
          </intent-filter>
          <tools:validation testUrl="https://www.example.com/recipe/1138" />
      </activity>
    
    

또한 <manifest> 태그에 xmlns:tools="http://schemas.android.com/tools"도 포함해야 합니다.

테스트 URL 중 하나라도 인텐트 필터 정의를 통과하지 못하면 린트 오류가 나타납니다. 이러한 오류가 발생해도 디버그 변형을 빌드할 수 있지만 출시 빌드는 손상됩니다.

Layout Editor

Layout Editor가 다음을 포함한 여러 가지 개선사항을 포함하도록 업데이트되었습니다.

  • 새로운 툴바 레이아웃 및 아이콘
  • 구성요소 트리의 레이아웃 업데이트
  • 드래그 앤 드롭 뷰 삽입 개선
  • 편집기 아래의 새로운 오류 패널에 모든 문제와 함께 해결을 위한 제안이 표시됨(제안이 있을 때)
  • 다음을 포함하여 ConstraintLayout으로 빌드하기 위한 다양한 UI 개선사항
    • 배리어 만들기를 새롭게 지원
    • 그룹 만들기를 새롭게 지원: 툴바에서 Guidelines > Add Group 선택(ConstraintLayout 1.1.0 베타 2 이상이 필요함)
    • 체인을 만들기 위한 새로운 UI: 여러 뷰를 선택한 다음 마우스 오른쪽 버튼으로 Chain을 클릭하여 선택

Layout Inspector

Layout Inspector에는 속성을 공통 카테고리로 그룹화하는 기능과 View TreeProperties 창의 새로운 검색 기능을 포함하여 앱 레이아웃 관련 문제를 더 쉽게 디버그할 수 있는 개선사항이 포함되어 있습니다.

APK Analyzer

이제 apkanalyzer 도구를 통해 명령줄에서 APK Analyzer를 사용할 수 있습니다.

APK Analyzer는 다음 개선사항과 함께 업데이트되었습니다.

  • ProGuard로 빌드된 APK에서는 다음을 포함하여 DEX 뷰어에 기능을 추가하는 ProGuard 매핑 파일을 로드할 수 있습니다.
    • 코드 축소 시 노드를 삭제하면 안 된다는 것을 나타내기 위해 노드를 굵게 표시
    • 축소 과정에서 삭제된 노드를 보여주는 버튼
    • 트리 보기에서 ProGuard에 의해 난독화된 노드의 원래 이름을 복원하는 버튼
  • 이제 DEX 뷰어에 각 패키지, 클래스, 메서드의 예상되는 크기 영향이 표시됩니다.
  • 상단의 새로운 필터링 옵션을 통해 필드와 메서드를 표시하거나 숨길 수 있습니다.
  • 트리 보기에서 DEX 파일에 정의되지 않은 참조인 노드가 기울임꼴로 표시됩니다.

자세한 내용은 APK Analyzer로 빌드 분석을 참고하세요.

D8 DEX 컴파일러 미리보기

Android 스튜디오 3.0에는 D8이라는 새로운 DEX 컴파일러가 포함되었으며 선택적으로 사용할 수 있습니다. 최종적으로는 DX 컴파일러를 대체하게 되지만, 새로운 D8 컴파일러를 바로 사용하도록 선택할 수 있습니다.

DEX 컴파일은 앱의 빌드 시간, .dex 파일 크기 및 런타임 성능에 직접 영향을 줍니다. 또한 새로운 D8 컴파일러와 기존의 DX 컴파일러를 비교해 보면 D8은 더 빠르게 컴파일하고 더 작은 .dex 파일을 출력하면서 앱 런타임 성능은 동일하거나 더 좋게 유지합니다.

사용해 보려면 프로젝트의 gradle.properties 파일에 다음을 설정하세요.

android.enableD8=true
    

자세한 내용은 D8 컴파일러에 관한 블로그 게시물을 참고하세요.

Google Maven 저장소

Android 스튜디오는 이제 Android SDK 관리자 대신 Google의 Maven 저장소를 기본적으로 사용하여 Android 지원 라이브러리, Google Play 서비스, Firebase 및 기타 종속성 업데이트를 받을 수 있습니다. 이렇게 하면 특히 CI(지속적 통합) 시스템을 사용하는 경우 더 간편하게 라이브러리를 최신 상태로 유지할 수 있습니다.

이제 새로운 모든 프로젝트에 Google Maven 저장소가 기본적으로 포함됩니다. 기존 프로젝트를 업데이트하려면 다음과 같이 최상위 build.gradle 파일의 repositories 블록에 google()을 추가하세요.

      allprojects {
          repositories {
              google()
          }
      }
    
    

여기에서 Google Maven 저장소에 관해 자세히 알아보세요.

기타 변경사항

  • Android 스튜디오를 사용하는 네이티브 디버깅은 더 이상 32비트 Windows에서 작동하지 않습니다. Google에서는 이 플랫폼을 사용하는 개발자가 매우 드물기 때문에 다른 플랫폼에 초점을 맞추기로 했습니다. 32비트 Windows를 사용 중인데 네이티브 코드를 디버그할 계획이 있다면 Android 스튜디오 2.3을 계속 사용해야 합니다.
  • 기본 IDE가 IntelliJ 2017.1.2로 업그레이드되어 2016.32017.1의 여러 가지 새로운 기능이 추가되었으며 여기에는 자바 8 언어 리팩터링, 매개변수 힌트, 시맨틱 강조표시, 드래그 가능한 중단점, 순간 검색결과 등이 포함됩니다.
  • 다수의 새로운 린트 검사가 추가되었습니다.
  • 최신 Android Emulator 업데이트도 참고하세요.