Android 스튜디오 출시 노트

Android 스튜디오는 Android 개발을 위한 공식 IDE이며 Android 앱을 빌드하는 데 필요한 모든 것을 포함하고 있습니다.

최신 버전을 다운로드하려면 Help > Check for updates(macOS에서는 Android Studio(Android 스튜디오) > Check for updates)를 클릭합니다.

여기에서 Android 스튜디오를 다운로드할 수도 있습니다.

Android 스튜디오에 문제가 발생하면 알려진 문제 또는 문제해결 페이지를 확인하세요.

각 미리보기 출시 버전의 주목할 만한 수정사항 목록을 비롯한 최신 출시 소식은 버전 업데이트를 참조하세요.

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

3.6(2020년 2월)

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

또한 이번 버전을 출시하는 데 도움을 준 모든 커뮤니티 참여자분들께 감사의 인사를 전합니다.

3.6.3(2020년 4월)

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

3.6.2(2020년 3월)

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

3.6.1(2020년 2월)

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

디자인 도구

이 Android 스튜디오 버전에는 Layout Editor, Resource Manager 등 여러 디자인 도구의 업데이트가 포함되어 있습니다.

디자인 편집기의 분할 뷰 및 확대/축소

분할 뷰는 디자인 뷰와 텍스트 뷰를 동시에 표시합니다.

이 버전에는 시각적 디자인 편집기의 다음과 같은 업데이트가 포함되었습니다.

  • 이제 Layout Editor, Navigation Editor와 같은 디자인 편집기에서 UI의 디자인코드 뷰를 동시에 확인할 수 있는 분할 뷰를 제공합니다. 이제 편집기 창의 오른쪽 상단에 뷰 옵션 간 전환할 수 있는 다음 세 가지 버튼 뷰 아이콘이 표시됩니다.

    • 분할 뷰를 사용 설정하려면 Split 아이콘 분할 뷰 아이콘을 클릭합니다.
    • XML 소스 뷰를 사용 설정하려면 Source 아이콘 소스 뷰 아이콘을 클릭합니다.
    • 디자인 보기를 사용 설정하려면 Design 아이콘 디자인 보기 아이콘을 클릭합니다.
  • 디자인 편집기의 확대/축소 및 화면 이동 컨트롤이 편집기 창의 오른쪽 하단에 있는 플로팅 패널로 이동했습니다.

자세한 내용은 Layout Editor로 UI 빌드를 참조하세요.

Color Picker Resource 탭

이제 XML 또는 디자인 도구에서 색상 선택 도구를 사용할 때 앱의 색상 리소스 값을 빠르게 업데이트할 수 있도록 IDE에서 색상 리소스 값을 자동으로 채웁니다.

색상 값이 채워진 색상 선택 도구

Resource Manager

Resource Manager에는 다음과 같은 업데이트가 포함되어 있습니다.

  • Resource Manager에서 이제 대부분의 리소스 유형을 지원합니다.
  • 리소스를 검색할 때 이제 Resource Manager에서 모든 프로젝트 모듈의 결과를 표시합니다. 이전에는 선택된 모듈에서만 결과를 반환했습니다.
  • 필터 버튼을 사용하면 로컬 종속 모듈, 외부 라이브러리, Android 프레임워크의 리소스를 확인할 수 있습니다. 필터를 사용하여 테마 속성을 표시할 수도 있습니다.
  • 이제 가져오기 과정 동안 리소스 위의 텍스트 상자를 클릭하여 리소스의 이름을 바꿀 수 있습니다.

자세히 알아보려면 Resource Manager를 사용하여 앱의 UI 리소스 관리하기를 참조하세요.

Android Gradle 플러그인 업데이트

Android Gradle 플러그인의 최신 버전에는 빌드 속도에 최적화, Maven 게시 플러그인 지원, 뷰 결합 지원 등 여러 업데이트가 포함되어 있습니다. 자세한 내용은 전체 출시 노트를 참조하세요.

뷰 결합

뷰 결합을 사용하면 각 XML 레이아웃 파일의 결합 클래스를 생성하여 뷰와 상호작용하는 코드를 더 쉽게 작성할 수 있습니다. 이 클래스에는 관련 레이아웃에 ID가 있는 모든 뷰의 직접 참조가 포함됩니다.

뷰 결합이 findViewById()를 대체하므로 잘못된 뷰 ID로 인해 null 포인터 예외가 발생할 위험이 없습니다.

뷰 결합을 사용 설정하려면 Android Gradle 플러그인 3.6.0 이상을 사용하고 각 모듈의 build.gradle 파일에 다음을 포함해야 합니다.

android {
        viewBinding.enabled = true
    }
    

변경사항 적용

이제 Apply Code Changes Apply Code Changes 아이콘 또는 Apply Changes and Restart Activity Apply Changes 아이콘를 클릭하여 실행 중인 앱에 클래스를 추가한 후 코드 변경사항을 배포할 수 있습니다.

이 두 작업의 차이점에 관해 자세히 알아보려면 변경사항 적용을 참조하세요.

인스턴트 앱 지원을 사용 설정하는 메뉴 옵션 리팩터링

이제 다음과 같이 언제든지 앱 프로젝트를 생성한 후 기본 모듈을 즉시 사용 설정할 수 있습니다.

  1. 메뉴 바에서 View > Tool Windows > Project를 선택하여 Project 패널을 엽니다.
  2. 보통 '앱'이라고 하는 기본 모듈을 마우스 오른쪽 버튼으로 클릭한 후 Refactor > Enable Instant Apps Support를 선택합니다.
  3. 대화상자가 표시되면 드롭다운 메뉴에서 기본 모듈을 선택합니다.
  4. OK를 클릭합니다.

자세한 내용은 Google Play 인스턴트 개요를 참조하세요.

APK Analyzer에서 클래스 및 메서드 바이트 코드를 가독화합니다.

APK Analyzer를 사용하여 DEX 파일을 검사할 때 다음과 같이 클래스 및 메서드 바이트 코드를 가독화할 수 있습니다.

  1. 메뉴 바에서 Build > Analyze APK를 선택합니다.
  2. 대화상자가 나타나면 검사하려는 APK로 이동하여 선택합니다.
  3. Open을 클릭합니다.
  4. APK Analyzer에서 검사하려는 DEX 파일을 선택합니다.
  5. DEX 파일 뷰어에서 분석 중인 APK의 ProGuard 매핑 파일을 로드합니다.
  6. 검사하려는 클래스나 메서드를 마우스 오른쪽 버튼으로 클릭하고 Show bytecode를 선택합니다.

네이티브 도구

다음 업데이트는 Android 스튜디오에서 네이티브(C/C++) 개발을 지원합니다.

Kotlin 지원

이전에 자바로 지원되었던 Android 스튜디오의 다음과 같은 NDK 기능이 이제 Kotlin으로도 지원됩니다.

  • JNI 선언에서 해당하는 C/C++ 구현 함수로 이동합니다. 관리되는 소스 코드 파일의 행 번호 근처에 있는 C 또는 C++ 항목 아이콘 위로 마우스를 가져가 이 매핑을 확인하세요.
  • JNI 선언의 스터브 구현 함수를 자동으로 생성합니다. 먼저 JNI 선언을 정의한 다음 C/C++ 파일에 'jni' 또는 메서드 이름을 입력하여 활성화하세요.

  • 사용되지 않은 네이티브 구현 함수는 소스 코드에 경고로 강조표시됩니다. 구현이 누락된 JNI 선언도 오류로 강조표시됩니다.

  • 네이티브 구현 함수의 이름을 바꾸면(리팩터링하면) 해당하는 모든 JNI 선언이 업데이트됩니다. 네이티브 구현 함수를 업데이트하려면 JNI 선언의 이름을 바꾸세요.

  • 암시적으로 바인드된 JNI 구현의 서명 확인

다른 JNI 구현

Android 스튜디오의 코드 편집기는 이제 개선된 유형 힌트, 자동 완성, 검사, 코드 리팩터링 등 더 원활한 JNI 개발 워크플로를 지원합니다.

네이티브 라이브러리용 APK 새로고침

프로젝트의 APK가 IDE 외부에서 업데이트될 경우에는 더 이상 새 프로젝트를 만들 필요가 없습니다. Android 스튜디오에서는 APK의 변경사항을 감지하고 다시 가져올 수 있는 옵션을 제공합니다.

Kotlin 전용 APK 소스 연결

이제 사전 빌드 APK를 프로파일링하고 디버그할 때 Kotlin 전용 외부 APK 소스를 연결할 수 있습니다. 자세한 내용은 Kotlin/자바 소스 연결을 참조하세요.

메모리 프로파일러에서 누수 감지

이제 메모리 프로파일러의 힙 덤프를 분석할 때 Android 스튜디오에서 앱의 ActivityFragment 인스턴스에서 메모리 누수가 의심되는 프로파일링 데이터를 필터링할 수 있습니다.

필터에 표시되는 데이터 유형은 다음과 같습니다.

  • 삭제되었지만 아직 참조되고 있는 Activity 인스턴스
  • 유효한 FragmentManager가 없지만 아직 참조되고 있는 Fragment 인스턴스

다음과 같은 특정 상황에서는 필터에 거짓양성이 표시됩니다.

  • Fragment를 생성하였지만 아직 사용하지 않은 경우
  • Fragment가 캐시되고 있지만 FragmentTransaction의 일부가 아닌 경우

이 기능을 사용하려면 먼저 힙 덤프를 캡처하거나 Android 스튜디오로 힙 덤프 파일을 가져옵니다. 메모리 누수가 발생할 수 있는 프래그먼트와 활동을 표시하려면 메모리 프로파일러의 힙 덤프 창에서 Activity/Fragment Leaks 체크박스를 선택합니다.

프로파일러: 메모리 누수 감지

메모리 누수를 일으키는 힙 덤프 필터링

에뮬레이터

Android 스튜디오 3.6을 사용하면 아래에 설명된 대로 Android Emulator 29.2.7 이상에 포함된 여러 업데이트를 활용할 수 있습니다.

위치 지원 기능 개선

Android Emulator 29.2.7 이상에서는 GPS 좌표와 경로 정보를 에뮬레이션할 수 있는 기능을 추가로 지원합니다. 에뮬레이터 Extended controls를 열면 이제 Location 탭이 Single pointsRoutes의 두 탭 아래에 구성됩니다.

Single points

Single points 탭에서 Google 지도 WebView를 사용하여 스마트폰이나 브라우저에서 Google 지도를 사용할 때처럼 관심 장소를 검색할 수 있습니다. 지도에서 위치를 검색하거나 클릭할 때 하단에서 Save point를 선택하여 위치를 저장할 수 있습니다. 저장된 모든 위치는 Extended controls 창의 오른쪽에 표시됩니다.

에뮬레이터 위치를 지도에서 선택한 위치로 설정하려면 Extended controls 창의 오른쪽 하단에 있는 Set location 버튼을 클릭하세요.

에뮬레이터 Extended Controls의 Single Points 탭

Routes

Single points 탭과 마찬가지로 Routes 탭에서는 두 개 이상의 위치 간에 경로를 만드는 데 사용할 수 있는 Google 지도 WebView를 제공합니다. 경로를 만들고 저장하려면 다음 단계를 따르세요.

  1. 지도뷰에서 텍스트 입력란을 사용하여 경로의 첫 번째 목적지를 검색합니다.
  2. 검색결과에서 위치를 선택합니다.
  3. Navigate Google 지도의 경로 안내 버튼 버튼을 선택합니다.
  4. 지도에서 경로의 출발지를 선택합니다.
  5. (선택사항) 경로에 경유지를 추가하려면 Add destination을 클릭합니다.
  6. 지도뷰에서 Save route를 클릭하여 경로를 저장합니다.
  7. 경로 이름을 지정하고 Save를 클릭합니다.

저장한 경로를 따라 에뮬레이터를 시뮬레이션하려면 Saved routes 목록에서 경로를 선택하고 Extended controls 창의 오른쪽 하단에 있는 Play route를 클릭하세요. 시뮬레이션을 중지하려면 Stop route를 클릭하세요.

에뮬레이터 Extended Controls의 Routes 탭

지정된 경로를 따라 지속적으로 에뮬레이터를 시뮬레이션하려면 Repeat playback 옆의 스위치를 사용 설정하세요. 에뮬레이터가 지정된 경로를 따라가는 속도를 변경하려면 Playback speed 드롭다운에서 옵션을 선택하세요.

다중 디스플레이 지원

Android Emulator를 사용하면 이제 맞춤설정 가능한 측정기준을 지원하는 여러 디스플레이에 앱을 배포하고 멀티 윈도우다중 디스플레이를 지원하는 앱을 테스트할 수 있습니다. 가상 기기가 실행되는 동안 다음과 같이 최대 두 개의 디스플레이를 추가할 수 있습니다.

  1. Extended controls를 열고 Displays 탭으로 이동합니다.
  2. Add secondary display를 클릭하여 다른 디스플레이를 추가합니다.
  3. Secondary displays 아래 드롭다운 메뉴에서 다음 작업을 실행합니다.

    1. 미리 설정된 가로세로 비율 중 하나를 선택합니다.
    2. custom을 선택하고 맞춤 디스플레이의 높이, 너비, dpi를 설정합니다.
  4. (선택사항) Add secondary display를 클릭하여 세 번째 디스플레이를 추가합니다.

  5. Apply changes를 클릭하여 지정된 디스플레이를 실행 중인 가상 기기에 추가합니다.

에뮬레이터 Extended Controls Display 탭에 여러 디스플레이 추가

Android Automotive OS용 새 가상 기기 및 프로젝트 템플릿

Android 스튜디오를 사용하여 새 프로젝트를 만들 때 이제 Create New Project 마법사의 Automotive 탭에서 No Activity, Media service, Messaging service의 세 가지 템플릿을 선택할 수 있습니다. 기존 프로젝트의 경우 Android Automotive 기기용 지원 기능을 추가하려면 메뉴 바에서 File > New > New Module을 선택하고 Automotive Module을 선택해야 합니다. 그런 다음 Create New Module 마법사에서 Android Automotive 프로젝트 템플릿 중 하나를 사용하여 새 모듈을 만드는 과정을 안내합니다.

Android Automotive 프로젝트 템플릿 선택

또한 이제 Virtual Device Configuration 마법사의 Automotive 탭에서 다음 옵션 중 하나를 선택하여 Android Automotive OS 기기용 Android Virtual Device(AVD)를 만들 수 있습니다.

  1. Pelestar 2: Polestar 2 헤드 유닛을 에뮬레이션하는 AVD를 만듭니다.
  2. Automotive (1024p landscape): 일반 1024x768px Android Automotive 헤드 유닛용 AVD를 만듭니다.

Android Automotive 가상 기기 선택

재개 가능한 SDK 다운로드

이제 Android 스튜디오에서 SDK Manager를 사용하여 SDK 구성요소와 도구를 다운로드할 때 네트워크 문제 등으로 다운로드가 중단되는 경우 다운로드를 처음부터 다시 시작하는 대신 중단된 부분부터 재개할 수 있습니다. 이 개선사항은 인터넷 연결이 불안정한 상태에서 Android Emulator나 시스템 이미지와 같은 대용량 파일을 다운로드하는 경우에 특히 유용합니다.

또한 백그라운드에서 SDK 다운로드 작업을 실행 중인 경우 상태 표시줄의 컨트롤을 사용하여 다운로드를 일시중지하거나 다시 시작할 수 있습니다.

다운로드를 일시중지하거나 이어서 할 수 있는 새로운 컨트롤이 있는 상태 표시줄의 백그라운드 다운로드 작업

다운로드를 일시중지하거나 이어서 할 수 있는 새로운 컨트롤이 있는 상태 표시줄의 백그라운드 다운로드 작업

Win32 지원 중단됨

Windows 32비트 버전의 Android 스튜디오는 2019년 12월 이후 더 이상 업데이트를 받을 수 없으며 2020년 12월 이후에는 더 이상 지원을 받을 수 없습니다. Android 스튜디오를 계속 사용할 수는 있습니다. 하지만 추가 업데이트를 받으려면 워크스테이션을 Windows 64비트 버전으로 업그레이드하세요.

자세한 내용은 Windows 32비트 지원 중단 블로그를 확인해 보세요.

Gradle 동기화 시간 최적화를 위한 새로운 옵션

이전 출시의 Android 스튜디오에서는 Gradle 동기화 중에 모든 Gradle 작업 목록을 가져왔습니다. 대규모 프로젝트의 경우 작업 목록을 가져오면 동기화 시간이 느려질 수 있습니다.

Gradle 동기화 성능을 향상하려면 File > Settings > Experimental로 이동하여 Do not build Gradle task list during Gradle sync를 선택합니다.

이 옵션을 사용 설정하면 동기화 중에 Android 스튜디오에서 작업 목록 빌드를 건너뛰어 Gradle 동기화를 더 빨리 완료하고 UI 응답을 개선할 수 있습니다. IDE에서 작업 목록 빌드를 건너뛰면 Gradle 패널의 작업 목록이 비어 있고 빌드 파일의 작업 이름 자동 완성이 작동하지 않습니다.

Gradle의 오프라인 모드를 전환할 새 위치

Gradle의 오프라인 모드를 사용하거나 사용 중지하려면 먼저 메뉴 바에서 View > Tool Windows > Gradle을 선택합니다. 그런 다음 Gradle 창의 상단 근처에서 Toggle Offline Mode Gradle 패널의 Gradle 오프라인 버튼를 클릭합니다.

IntelliJ IDEA 2019.2

핵심 Android 스튜디오 IDE가 2019년 2월 출시를 통해 업데이트되었으며 IntelliJ IDEA 개선사항이 포함되었습니다.

버전 2019.2와 함께 누적적으로 포함된 다른 IntelliJ 버전의 개선사항에 관한 자세한 내용은 다음 페이지를 참조하세요.

커뮤니티 참여자

버그를 발견하고 Android 스튜디오 3.6 개선을 위한 다른 방법을 찾는 데 도움을 준 모든 커뮤니티 참여자분들께 감사의 인사를 전합니다. 특히 버그를 신고해 주신 다음 분들께 감사드립니다.

  • 앨버트 로
  • 알렉세이 로트
  • 안드레아 레간자
  • 베네닉트 콜브
  • 세자르 푸에르타
  • 커티스 크로치
  • 데미언 비초레크
  • 댄 류
  • 데이비드 버스트롬
  • 디판슈
  • 에고르 안드레비치
  • 엘리 그래버
  • 에민 코칼라리
  • 에반 타타르카
  • 프란티섹 나기
  • 그레그 모엔스
  • 한네스 아클라이트너
  • 한스 페터 아이데
  • 헤닝 벙크
  • 휴고 비세르
  • 이고르 에스코도르
  • 이냐키 빌라르
  • 자벤티라 리에나타
  • 조 로저스
  • 크리스토퍼 대니얼슨
  • 리란 바르시사
  • 루이스 캐드
  • 로란트 핀터
  • 루카스 바실코프스키
  • 루크 필케
  • 말빈 수탄토
  • 마사토시 쿠보데
  • 매튜 윈터스
  • 마이클 베일리
  • 미할 고르니
  • 미하이 네악수
  • 마이크 스카멜
  • 몬테 크레아소르
  • 넬슨 오사키
  • 넬슨 오사키
  • 닉 피르마니
  • 니클라스 안스만 기어츠
  • 니클라스 크론
  • 니콜라스 리히트마이어
  • 니에크 하아르만
  • 닐스 반 호브
  • 니클라스 바우디
  • 레나토 곤칼베스
  • 로어 그뢴모
  • 루슬란 바라토프
  • 시난 코작
  • 슬라보미르 체르빈스키
  • 스테판 울프
  • 스테판 드이미코
  • 타오 왕
  • 토마스 클라덱
  • 토마스 프로차즈카
  • 토니 로발릭
  • 토르뵈른 쇠를리
  • 워렌 허
  • 옌치 린
  • 잭 스위어스
  • 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월)

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

    3.5.1(2019년 10월)

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

    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를 참조하세요.

    Apply Changes를 위한 툴바 버튼

    Apply Changes를 위한 툴바 버튼

    앱 배포 흐름

    IDE에는 앱을 배포할 기기를 빠르게 선택할 수 있는 새로운 드롭다운 메뉴가 있습니다. 이 메뉴에는 한 번에 여러 기기에서 앱을 실행할 수 있게 하는 새로운 옵션도 포함되어 있습니다.

    타겟 기기 드롭다운 메뉴

    타겟 기기 드롭다운 메뉴

    Gradle 동기화 및 캐시 감지 향상

    IDE는 이제 Gradle이 하드 디스크 사용을 줄일 때 언제 빌드 캐시를 주기적으로 지우는지를 더 잘 감지합니다. 이전 버전에서는 이 상태로 인해 IDE가 종속성 누락을 보고하고 Gradle 동기화가 실패했습니다. 이제 IDE는 필요에 따라 종속성을 간단히 다운로드하여 Gradle 동기화가 성공적으로 완료될 수 있도록 합니다.

    빌드 오류 출력 향상

    Build Build 창 아이콘 창은 이제 다음 빌드 프로세스의 파일 링크 및 보고된 오류 행과 같은 더 나은 오류 보고를 제공합니다.

    • AAPT 컴파일 및 링크
    • R8 및 ProGuard
    • 덱싱
    • 리소스 병합
    • XML 파일 파싱
    • Javac, Kotlinc 및 CMake 컴파일

    프로젝트 업그레이드

    IDE 및 Android Gradle 플러그인을 업데이트하는 데 도움이 되는 추가 정보와 작업을 제공하도록 업데이트 환경을 개선했습니다. 예를 들어 추가 동기화 및 빌드 오류에는 업데이트 시 오류를 완화하는 데 도움이 되는 작업이 포함됩니다.

    Android Gradle 플러그인과 같은 다른 구성요소와 독립적으로 IDE를 업데이트할 수 있다는 사실에 유의해야 합니다. 따라서 최신 버전이 출시되는 즉시 IDE를 안전하게 업데이트하고 나중에 다른 구성요소를 업데이트할 수 있습니다.

    Layout Editor

    Android 스튜디오 3.5에는 레이아웃 시각화, 관리 및 상호작용과 관련한 몇 가지 개선사항이 포함되어 있습니다.

    ConstraintLayout 작업 시 Attributes 패널의 새로운 Constraints 섹션에는 선택한 UI 구성요소의 제약 조건 관계가 나열됩니다. 디자인 화면 또는 제약 조건 목록에서 제약 조건을 선택하여 두 영역의 제약 조건을 강조표시할 수 있습니다.

    선택한 UI 요소의 제약 조건 관계

    선택한 UI 요소의 제약 조건 관계

    마찬가지로 이제 제약 조건을 선택하고 Delete 키를 눌러 제약 조건을 삭제할 수 있습니다. 또한 Control 키(macOS에서는 Command)를 누른 채 제약 조건 앵커를 클릭하여 제약 조건을 삭제할 수도 있습니다. 참고로 Control 또는 Command 키를 누른 채 앵커 위로 마우스를 가져가면 관련 제약 조건이 빨간색으로 바뀌어 제약 조건을 클릭하여 삭제할 수 있음을 나타냅니다.

    뷰를 선택하면 다음 이미지에서와 같이 Attributes 패널의 Constraint Widget 섹션에서 + 아이콘을 클릭하여 제약 조건을 생성할 수 있습니다. 개발자가 새 제약 조건을 생성하면 이제 Layout Editor는 제약 조건을 선택하여 강조표시함으로써 방금 추가된 항목과 관련한 즉각적인 시각적 피드백을 제공합니다.

    제약 조건 위젯을 사용하여 제약 조건을 생성하는 방법을 보여주는 애니메이션

    제약 조건 위젯을 사용하여 제약 조건 생성

    제약 조건을 생성할 때 Layout Editor에는 이제 제약 가능한 적합한 앵커 포인트만 표시됩니다. 이전에는 제약 가능 여부와 관계없이 Layout Editor가 모든 뷰에서 모든 앵커 포인트를 강조표시했습니다. 또한 이제 파란색 오버레이가 제약 조건의 대상을 강조표시합니다. 이 강조표시는 다른 구성요소와 겹치는 구성요소를 제약하려고 할 때 특히 유용합니다.

    Android 스튜디오 3.4에서 겹치는 구성요소의 제약 조건을 생성하는 방법을 보여주는 애니메이션

    Android 스튜디오 3.4에서 겹치는 구성요소의 제약 조건 생성

    Android 스튜디오 3.5에서 겹치는 구성요소의 제약 조건을 생성하는 방법을 보여주는 애니메이션

    Android 스튜디오 3.5에서 겹치는 구성요소의 제약 조건 생성

    위의 업데이트 외에도 Android 스튜디오 3.5에는 다음과 같은 Layout Editor 개선사항이 포함되어 있습니다.

    • 이제 Constraint Widget 및 기본 여백 드롭다운을 통해 여백에 크기 리소스를 사용할 수 있습니다.
    • Layout Editor 툴바에서 디자인 화면의 크기를 결정하는 기기 목록이 업데이트되었습니다. 또한 크기 조절 중 맞추기 동작이 개선되었으며, 이제 디자인 화면의 크기 조절 핸들이 항상 표시됩니다. 크기를 조절할 때 일반적인 기기 크기를 표시하는 새 오버레이가 나타납니다.
    • Layout Editor에는 일관성을 향상하고 구성요소, 텍스트 및 제약 조건 간의 대비를 줄이는 새로운 색 구성표가 있습니다.
    • 청사진 모드에는 이제 텍스트가 보이지 않는 일부 구성요소의 텍스트 지원이 포함되어 있습니다.

    이러한 변경사항에 관한 자세한 내용은 Android 스튜디오 Project Marble: Layout Editor를 참조하세요.

    데이터 결합

    IDE는 데이터 결합의 증분 주석 처리 지원을 추가할 뿐만 아니라 XML로 데이터 결합 표현식을 생성할 때 스마트 편집기 기능 및 성능을 개선했습니다.

    Android 스튜디오 3.4에서 코드 편집기 성능을 보여주는 애니메이션

    Android 스튜디오 3.4의 코드 편집기 성능

    Android 스튜디오 3.5에서 코드 편집기 성능을 보여주는 애니메이션

    Android 스튜디오 3.5의 향상된 코드 편집기 성능

    C/C++ 프로젝트 지원 향상

    Android 스튜디오 3.5에는 C/C++ 프로젝트 지원을 향상하는 몇 가지 변경사항이 포함되어 있습니다.

    단일 변형 동기화를 위한 Build Variants 패널 개선

    이제 Build Variants 패널에서 활성 빌드 변형과 활성 ABI를 모두 지정할 수 있습니다. 이 기능은 모듈별 빌드 구성을 간소화하고 Gradle 동기화 성능도 향상할 수 있습니다.

    자세히 알아보려면 빌드 변형 변경을 참조하세요.

    ABI에 의한 단일 변형 선택을 보여주는 Build Variants 패널

    ABI에 의한 단일 변형 선택이 표시된 Build Variants 패널

    NDK 병렬 버전

    이제 여러 NDK 버전을 함께 사용할 수 있습니다. 이 기능은 프로젝트를 구성할 때 더 많은 유연성을 제공합니다. 예를 들어 동일한 시스템에서 다양한 버전의 NDK를 사용하는 프로젝트가 있을 때 프로젝트를 더 유연하게 구성할 수 있습니다.

    프로젝트에서 Android Gradle 플러그인 3.5.0 이상을 사용한다면 프로젝트의 각 모듈에서 사용해야 하는 NDK 버전도 지정할 수 있습니다. 이 기능을 사용하면 재현 가능한 빌드를 생성하고 NDK 버전과 Android Gradle 플러그인 간의 비호환성을 완화할 수 있습니다.

    자세히 알아보려면 NDK, CMake 및 LLDB의 설치 및 구성을 참조하세요.

    Chrome OS 지원

    이제 Android 스튜디오는 시스템 요구사항에서 확인할 수 있는 HP Chromebook x360 14, Acer Chromebook 13/Spin 13과 같은 여러 Chrome OS 기기를 공식적으로 지원합니다. 시작하려면 호환되는 Chrome OS 기기에 Android 스튜디오를 다운로드하고 설치 안내를 따르세요.

    동적 기능 모듈을 위한 조건부 제공

    조건부 제공을 사용하면 앱 설치 중에 동적 기능 모듈을 자동으로 다운로드하기 위한 특정한 기기 설정 요구사항을 지정할 수 있습니다. 예를 들어 증강 현실(AR)을 지원하는 기기에서만 앱 설치 시에 AR을 제공하도록 하는 기능이 포함된 동적 기능 모듈을 구성할 수 있습니다.

    이 제공 메커니즘을 통해 현재 다음과 같은 기기 설정을 기반으로 앱 설치 시 모듈의 다운로드를 관리할 수 있습니다.

    • 기기 하드웨어 및 소프트웨어 기능(OpenGL ES 버전 포함)
    • 사용자 국가
    • API 레벨

    기기가 지정된 모든 요구사항을 충족하지 않으면 모듈이 앱 설치 시에 다운로드되지 않습니다. 하지만, 앱에서 나중에 Play Core 라이브러리를 사용하여 주문형으로 모듈을 다운로드하도록 요청할 수 있습니다. 자세히 알아보려면 조건부 제공 구성을 참조하세요.

    IntelliJ IDEA 2019.1

    핵심 Android 스튜디오 IDE가 2019.1 출시를 통해 테마 맞춤설정과 같은 IntelliJ IDEA 개선사항을 포함하도록 업데이트되었습니다.

    Android 스튜디오에 포함된 마지막 IntelliJ 버전은 2018.3.4입니다. 이 Android 스튜디오 버전에 누적적으로 포함된 다른 IntelliJ 버전의 개선사항에 관한 자세한 내용은 다음 버그 수정 업데이트를 참조하세요.

    Android Gradle 플러그인 3.5.0 업데이트

    증분 주석 처리 및 캐시 가능한 단위 테스트 지원 향상과 같은 Android Gradle 플러그인 3.5.0의 새로운 기능에 관한 자세한 내용은 출시 노트를 참조하세요.

    커뮤니티 참여자

    버그를 발견하고 Android 스튜디오 3.5 개선을 위한 다른 방법을 찾도록 도와주신 모든 커뮤니티 사용자 여러분께 감사의 말씀을 전합니다. 특히 P0 및 P1 버그를 신고해 주신 다음 분들께 감사드립니다.

    3.4(2019년 4월)

    Android 스튜디오 3.4는 다양한 새 기능과 개선사항이 포함된 주요 버전입니다.

    3.4.2(2019년 7월)

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

    3.4.1(2019년 5월)

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

    3.4.0 알려진 문제

    • Android Q 베타를 실행하는 기기에 앱을 배포하면 프로파일링이 사용 중지됩니다.

    • 데이터 결합 라이브러리를 사용하면 LiveDataListener.onChanged()가 NPE와 함께 실패할 수 있습니다. 이 문제의 수정사항은 Android 스튜디오 3.4.1에 포함되며 Android 스튜디오 3.5의 최신 미리보기 버전에서는 이미 사용 가능합니다. (문제 #122066788 참조)

    IntelliJ IDEA 2018.3.4

    핵심 Android 스튜디오 IDE가 2018.3.4 출시를 통해 IntelliJ IDEA 개선사항을 포함하도록 업데이트되었습니다.

    Android Gradle 플러그인 3.4.0 업데이트

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

    새로운 Project Structure Dialog

    새로운 PSD(Project Structure Dialog)를 사용하면 간편하게 종속성을 업데이트하고 모듈, 빌드 변형, 서명 구성, 빌드 변수 등 프로젝트의 여러 측면을 구성할 수 있습니다.

    메뉴 바에서 File > Project Structure를 선택하여 PSD를 열 수 있습니다. 또한 Windows 및 Linux에서 Ctrl+Shift+Alt+S를 누르거나 macOS에서 Command+;(세미콜론)을 눌러서 PSD를 열 수도 있습니다. 아래에서 PSD의 신규 및 업데이트된 섹션에 관한 설명을 몇 가지 확인할 수 있습니다.

    변수

    PSD의 새로운 변수 섹션에서는 프로젝트 전체에서 종속성의 버전 번호를 일관성 있게 유지하는 등의 기능을 하는 빌드 변수를 만들고 관리하는 작업을 할 수 있습니다.

    • 프로젝트의 Gradle 빌드 스크립트에 이미 있는 빌드 변수를 빠르게 보고 수정합니다.
    • PSD에서 직접 프로젝트 또는 모듈 수준의 새 빌드 변수를 추가합니다.

    모듈

    기존 모듈의 모든 빌드 변형에 적용되는 속성을 구성하거나 Modules 섹션에서 프로젝트에 새 모듈을 추가하세요. 예를 들어 여기에서 defaultConfig 속성을 구성하거나 서명 구성을 관리할 수 있습니다.

    종속성

    프로젝트 동기화 중에 Gradle에서 해결한 대로 다음 단계에 따라 프로젝트의 종속성 그래프에 있는 각 종속성을 검사하고 시각화하세요.

    1. PSD의 왼쪽 창에서 Dependencies를 선택합니다.
    2. Modules 창에서 해결된 종속성을 검사하려는 모듈을 선택합니다.
    3. PSD의 오른쪽에서 아래에 표시된 Resolved Dependencies 창을 엽니다.

    PSD의 Dependencies 섹션에서 모듈을 선택하고 Declared Dependencies 섹션에서 (+) 버튼을 클릭한 다음 추가하려는 종속성 유형을 선택하여 빠르게 종속성을 검색하고 프로젝트에 추가할 수도 있습니다.

    선택하는 종속성 유형에 따라 아래와 비슷한 대화상자가 표시되며 이 대화상자에서 모듈에 종속성을 추가할 수 있습니다.

    빌드 변형

    PSD의 이 섹션에서는 프로젝트의 각 모듈에 사용할 빌드 변형과 제품 버전을 만들고 구성합니다. manifest 자리표시자와 ProGuard 파일을 추가하고 서명 키를 할당하는 등의 작업을 할 수 있습니다.

    추천

    아래 표시된 것처럼 Suggestions 섹션에서 프로젝트 종속성 및 빌드 변수에 관한 추천 업데이트를 확인하세요.

    새로운 Resource Manager

    Resource Manager는 앱에서 리소스를 가져오고 만들고 관리하고 사용할 수 있는 새로운 도구 창입니다. 메뉴 바에서 View > Tool Windows > Resource Manager를 선택하여 도구 창을 열 수 있습니다. Resource Manager를 사용하면 다음 작업을 할 수 있습니다.

    • 리소스 시각화: 드로어블, 색상, 레이아웃을 미리보기하여 필요한 리소스를 빠르게 찾을 수 있습니다.
    • 일괄 가져오기: Resource Manager 도구 창으로 드래그 앤 드롭하거나 Import Drawables 마법사를 사용하여 한 번에 여러 드로어블 애셋을 가져올 수 있습니다. 마법사에 액세스하려면 도구 창의 왼쪽 상단에서 (+) 버튼을 선택한 후 드롭다운 메뉴에서 Import Drawables를 선택하세요.
    • SVG를 VectorDrawable 객체로 변환: Import Drawables 마법사를 사용하여 SVG 이미지를 VectorDrawable 객체로 변환할 수 있습니다.
    • 애셋 드래그 앤 드롭: Resource Manager 도구 창에서 Layout Editor의 디자인 및 XML 뷰로 드로어블을 드래그 앤 드롭할 수 있습니다.
    • 대체 버전 보기: 이제 Tool 창에서 리소스를 더블클릭하여 리소스의 대체 버전을 볼 수 있습니다. 이 보기에는 만들어 둔 다른 버전과 포함된 한정자가 표시됩니다.
    • 타일 및 목록 보기: 도구 창에서 보기를 변경하여 다른 배열로 리소스를 시각화할 수 있습니다.

    자세히 알아보려면 앱 리소스 관리 방법에 관한 가이드를 참조하세요.

    APK 프로파일링 및 디버깅 시 빌드 ID 확인

    개발자가 APK 내부에서 .so 공유 라이브러리의 디버깅 기호 파일을 제공하면 Android 스튜디오는 제공된 기호 파일의 빌드 ID와 APK 내 .so 라이브러리의 빌드 ID가 일치하는지 확인합니다.

    빌드 ID를 사용하여 APK에서 네이티브 라이브러리를 빌드하면 Android 스튜디오는 기호 파일의 빌드 ID가 네이티브 라이브러리의 빌드 ID와 일치하는지 확인하고 일치하지 않으면 기호 파일을 거부합니다. 빌드 ID를 사용하여 빌드하지 않은 경우에는 잘못된 기호 파일을 제공하면 디버깅에 문제가 발생할 수 있습니다.

    R8이 기본적으로 사용 설정됨

    R8은 디슈가링, 축소, 난독화, 최적화, 덱싱 등을 모두 한 단계로 통합하여 빌드 성능을 눈에 띄게 개선합니다. R8은 Android Gradle 플러그인 3.3.0에서 도입되었으며 이제 플러그인 3.4.0 이상을 사용하는 앱 및 Android 라이브러리 프로젝트 모두에서 기본적으로 사용 설정됩니다.

    아래 이미지는 R8이 도입되기 전의 컴파일 프로세스를 개략적으로 보여줍니다.

    R8 이전에는 ProGuard가 덱싱 및 디슈가링과 다른 컴파일 단계였습니다.

    이제 R8을 사용하면 아래 그림과 같이 디슈가링, 축소, 난독화, 최적화, 덱싱(D8) 등이 모두 한 단계로 완료됩니다.

    R8에서는 디슈가링, 축소, 난독화, 최적화 및 덱싱이 모두 하나의 컴파일 단계에서 실행됩니다.

    주의 사항: R8은 기존 ProGuard 규칙과 호환하도록 설계되었으므로 별다른 조치를 취하지 않아도 R8을 활용할 수 있습니다. 그러나 R8은 Android 프로젝트용으로 특별히 설계된 ProGuard와는 다른 기술이기 때문에 ProGuard와는 달리 축소 및 최적화로 인해 코드가 삭제될 수 있습니다. 드문 경우이긴 하지만 코드가 삭제되면 코드를 빌드 출력에 유지하기 위해 규칙을 추가해야 할 수도 있습니다.

    R8을 사용하는 동안 문제가 발생하면 R8 호환성 FAQ를 읽고 문제해결 방법이 있는지 확인하세요. 해결 방법이 문서화되어 있지 않으면 버그를 신고하세요. 프로젝트의 gradle.properties 파일에 다음 행 중 하나를 추가하여 R8을 사용 중지할 수 있습니다.

    # Disables R8 for Android Library modules only.
        android.enableR8.libraries = false
        # Disables R8 for all modules.
        android.enableR8 = false
        

    Navigation 구성요소에서 지원되는 모든 인수 유형이 이제 Navigation Editor에서 지원됩니다. 지원되는 유형을 자세히 알아보려면 대상 간 데이터 전달을 참조하세요.

    Layout Editor 개선사항

    Layout Editor의 Attributes 창이 단일 페이지로 간소화되었으며 이 페이지에 포함된 섹션을 펼치면 구성할 수 있는 속성이 표시됩니다. Attributes 창에는 다음 업데이트도 포함됩니다.

    • 새로운 Declared Attributes 섹션에는 레이아웃 파일에서 지정하는 속성이 나열되며 새로운 속성을 빠르게 추가할 수 있습니다.
    • 이제 Attributes 창의 각 속성 옆에는 표시기가 있으며 속성의 값이 리소스 참조일 때는 표시기가 채워져 있고() 리소스 참조가 아니면 비어있습니다().
    • 이제 오류 또는 경고가 있는 속성은 강조표시됩니다. 빨간색 강조표시는 오류(예: 잘못된 레이아웃 값을 사용할 때)를 나타내며 주황색 강조표시는 경고(예: 하드 코딩된 값을 사용할 때)를 나타냅니다.

    종속성을 빠르게 가져오는 새로운 의도 작업

    코드에서 특정 Jetpack 및 Firebase 클래스를 사용하기 시작하면 새로운 의도 작업에서 아직 프로젝트에 필수 Gradle 라이브러리 종속성을 추가하지 않았다면 추가하라고 제안합니다. 예를 들어 필수 android.arch.work:work-runtime 종속성을 먼저 가져오지 않고 WorkManager 클래스를 참조하면 아래와 같이 의도 작업을 통해 클릭 한 번으로 간편하게 가져올 수 있습니다.

    특히 Jetpack은 더 쉽게 관리하고 업데이트할 수 있는 별개의 패키지로 지원 라이브러리를 리패키징했기 때문에 이 의도 작업을 통해 사용할 Jetpack 구성요소에 필요한 종속성만 빠르게 추가할 수 있습니다.

    3.3(2019년 1월)

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

    3.3.2(2019년 3월)

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

    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_

    린트 개선사항

    Lint가 Gradle에서 호출되는 속도가 훨씬 빨라지며, 대규모 프로젝트에서는 Lint가 최대 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 관리자에 포함됩니다. 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에 다음 속성을 포함합니다.

    <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 Plugin 3.3.0 이상을 사용해야 합니다. 이러한 요구사항을 충족하면 프로젝트를 동기화할 때 IDE에서 이 최적화를 사용 설정하라는 메시지가 표시됩니다. 최적화는 새로운 프로젝트에도 기본적으로 사용 설정됩니다.

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

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

    빠른 의견 제공

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

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

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

    3.2(2018년 9월)

    Android 스튜디오 3.2는 다양한 새 기능과 개선사항이 포함된 주요 버전입니다.

    3.2.1(2018년 10월)

    이번 Android 스튜디오 3.2 업데이트에는 다음과 같은 변경 및 수정사항이 포함되어 있습니다.

    • 이제 번들 Kotlin 버전이 1.2.71입니다.
    • 이제 기본 빌드 도구 버전은 28.0.3입니다.
    • 탐색 라이브러리의 인수 유형 이름이 type에서 argType으로 변경되었습니다.
    • 다음 버그가 수정되었습니다.
      • Data Binding 라이브러리 사용 시 변수 이름에 밑줄이 포함되어 있으면 컴파일 오류가 발생했습니다.
      • CMake로 인해 IntelliSense 및 기타 CLion 기능이 작동하지 않았습니다.
      • SliceProvider를 추가하면 androidx.* 라이브러리를 사용하지 않는 프로젝트에서 컴파일 오류가 발생했습니다.
      • 일부 Kotlin 단위 테스트가 실행되지 않았습니다.
      • 데이터 결합 문제로 인해 PsiInvalidElementAccessException이 발생했습니다.
      • <merge> 요소로 인해 때로 Layout Editor가 비정상 종료되었습니다.

    3.2.0 알려진 문제

    참고: 이 문제는 Android 스튜디오 3.2.1에서 해결되었습니다.

    • Kotlin 버전 1.2.70을 사용하지 않는 것이 좋습니다.

      Kotlin 버전 1.2.61에서는 Android 스튜디오 중단을 일으킬 수 있는 버그가 수정되었지만, Kotlin 1.2.70에는 포함되지 않았습니다.

      그러나 Kotlin 버전 1.2.71 이상에는 이 수정사항이 포함되었습니다.

    • 일반적으로 빌드 도구 버전을 지정할 필요는 없지만 renderscriptSupportModeEnabledtrue로 설정된 Android Gradle 플러그인 3.2.0을 사용한다면 각 모듈의 build.gradle 파일에 다음을 포함해야 합니다.

      android.buildToolsVersion "28.0.3"

    도우미의 새로운 기능

    새로운 도우미가 Android 스튜디오의 최신 변경사항을 알려줍니다.

    새로 설치하거나 업데이트한 후 Android 스튜디오를 시작할 때 표시할 새 정보가 있음이 감지되면 도우미가 열립니다. Help > What's new in Android Studio를 선택하여 도우미를 열 수도 있습니다.

    Android Jetpack

    Android Jetpack을 사용하면 제공되는 구성요소, 도구, 가이드를 통해 반복적인 작업을 하지 않고도 테스트 가능한 고품질 앱을 쉽고 빠르게 빌드해 Android 개발을 가속화할 수 있습니다. Android 스튜디오에는 Jetpack을 지원하기 위한 다음 업데이트가 포함되어 있습니다. 자세한 내용은 Jetpack 문서를 참조하세요.

    새로운 Navigation Editor가 Android Jetpack의 탐색 구성요소와 통합되어 앱의 탐색 구조를 만들기 위한 그래픽 뷰를 제공합니다. Navigation Editor는 인앱 대상 간 탐색의 디자인과 구현을 단순화합니다.

    Android 스튜디오 3.2에서는 탐색 편집기가 실험 기능입니다. Navigation Editor를 사용 설정하려면 File > Settings(Mac에서는 Android Studio(Androdi 스튜디오) > Preferences)를 클릭하고, 왼쪽 창에서 Experimental 카테고리를 선택한 후 Enable Navigation Editor 옆의 체크박스를 선택하고 Android 스튜디오를 다시 시작합니다.

    자세한 내용은 Navigation Editor 문서를 참조하세요.

    AndroidX 이전

    Jetpack의 일부로 androidx 네임스페이스를 사용하여 Android 지원 라이브러리를 새로운 Android 확장 라이브러리로 이전하고 있습니다. 자세한 내용은 AndroidX 개요를 참조하세요.

    Android 스튜디오 3.2를 사용하면 새로운 이전 기능을 통해 이 과정을 완료할 수 있습니다.

    기존 프로젝트를 AndroidX로 이전하려면 Refactor > Migrate to AndroidX를 선택하세요. AndroidX 네임스페이스로 이전하지 않은 Maven 종속성이 있다면 Android 스튜디오 빌드 시스템에서 프로젝트 종속성도 자동으로 변환합니다.

    Android Gradle 플러그인은 gradle.properties 파일에 설정할 수 있는 다음과 같은 전역 플래그를 제공합니다.

    • android.useAndroidX: true로 설정하면 이 플래그는 지금부터 AndroidX 사용을 시작하려고 함을 나타냅니다. 플래그가 없으면 Android 스튜디오는 플래그가 false로 설정된 것처럼 작동합니다.
    • android.enableJetifier: true로 설정하면 이 플래그는 Android Gradle 플러그인의 도구 지원을 사용하여 기존 타사 라이브러리가 AndroidX용으로 작성된 것처럼 자동으로 변환할 것임을 나타냅니다. 플래그가 없으면 Android 스튜디오는 플래그가 false로 설정된 것처럼 작동합니다.

    Migrate to AndroidX 명령어를 사용하면 두 플래그가 true로 설정됩니다.

    AndroidX 라이브러리 사용을 즉시 시작하려고 하며 기존 타사 라이브러리를 변환할 필요가 없다면 android.useAndroidX 플래그를 true로 설정하고 android.enableJetifier 플래그를 false로 설정합니다.

    Android App Bundle

    Android App Bundle은 앱의 컴파일된 코드와 리소스를 모두 포함하지만 APK 생성 및 서명을 Google Play 스토어에 맡기는 새로운 업로드 형식입니다.

    Dynamic Delivery라는 Google Play의 새로운 앱 제공 모델은 App Bundle을 사용하여 각 사용자의 기기 설정에 최적화된 APK를 생성하고 제공하므로, 각 사용자는 앱 실행에 필요한 코드와 리소스만 다운로드하면 됩니다. 개발자가 더 이상 여러 APK를 빌드하고 서명하고 관리할 필요가 없으며 사용자는 더 작고 최적화된 앱을 다운로드하게 됩니다.

    또한 개발자는 앱 프로젝트에 동적 기능 모듈을 추가하여 App Bundle에 포함할 수 있습니다. 사용자는 Dynamic Delivery를 통해 필요에 따라 앱의 동적 기능을 다운로드하고 설치할 수 있습니다.

    번들을 빌드하려면 Build > Build Bundle(s) / APK(s) > Build Bundle(s)를 선택하세요.

    Android App Bundle 빌드 및 분석에 관한 안내를 비롯하여 자세한 내용은 Android App Bundle을 참조하세요.

    Layout Editor의 샘플 데이터

    많은 Android 레이아웃에는 앱 개발의 디자인 단계에서 레이아웃의 모양과 느낌을 시각화하기 어렵게 만들 수 있는 런타임 데이터가 있습니다. 이제는 샘플 데이터가 풍부한 Layout Editor에서 손쉽게 뷰의 미리보기를 볼 수 있습니다. 뷰를 추가하면 Design 창의 뷰 아래에 버튼이 표시됩니다. 이 버튼을 클릭하여 design-time 뷰 속성을 설정할 수 있습니다. 다양한 샘플 데이터 템플릿에서 선택하고 뷰를 채울 샘플 항목 수를 지정할 수 있습니다.

    샘플 데이터를 사용해 보려면 RecyclerView를 새 레이아웃에 추가하고 뷰 아래에 있는 design-time 속성 버튼 을 클릭한 후 샘플 데이터 템플릿의 캐러셀에서 항목을 선택하세요.

    슬라이스

    슬라이스를 사용하면 새로운 방식으로 Android의 다른 사용자 인터페이스 표면에 앱 기능의 일부를 삽입할 수 있습니다. 예를 들어 슬라이스를 사용하여 Google 검색 제안사항에 앱 기능과 콘텐츠를 표시할 수 있습니다.

    Android 스튜디오 3.2에는 새로운 Slice Provider API로 앱을 확장하는 데 도움이 되는 템플릿이 내장되어 있으며, 슬라이스를 구성할 때 권장사항을 따를 수 있게 하는 새로운 Lint 검사가 있습니다.

    시작하려면 프로젝트 폴더를 마우스 오른쪽 버튼으로 클릭한 후 New > Other > Slice Provider를 선택합니다.

    슬라이스 상호작용을 테스트하는 방법을 비롯하여 자세한 내용은 슬라이스 시작 가이드를 참조하세요.

    Kotlin 1.2.61

    Android 스튜디오 3.2는 Kotlin 1.2.61을 번들로 제공하며, 새로운 Android SDK는 Kotlin과 더 잘 통합됩니다. 자세한 내용은 Android 개발자 블로그를 참조하세요.

    IntelliJ IDEA 2018.1.6

    핵심 Android 스튜디오 IDE가 2018.1.6 출시를 통해 IntelliJ IDEA 개선사항을 포함하도록 업데이트되었습니다.

    Android 프로파일러

    Android 스튜디오 3.2에서 다음과 같은 새로운 Android 프로파일러 기능을 사용해 보세요.

    세션

    이제 프로파일러 데이터를 세션으로 저장하여 나중에 다시 확인하고 검사할 수 있습니다. 프로파일러는 IDE가 다시 시작될 때까지 세션 데이터를 유지합니다.

    메서드 트레이스를 기록하거나 힙 덤프를 캡처하면 IDE에서 앱의 네트워크 활동과 함께 그 데이터를 현재 세션에 별도 항목으로 추가하므로 기록을 앞뒤로 손쉽게 전환하여 데이터를 비교할 수 있습니다.

    시스템 트레이스

    CPU 프로파일러에서 새로운 시스템 트레이스 구성을 선택하여 기기의 시스템 CPU와 스레드 활동을 검사할 수 있습니다. 이 트레이스 구성은 systrace 기반으로 구축되며, UI 버벅거림 현상과 같은 시스템 수준 문제를 조사하는 데 유용합니다.

    이 트레이스 구성을 사용하는 동안 네이티브 추적 API로 C/C++ 코드를 계측하거나 Trace 클래스로 자바 코드를 계측하여 프로파일러 타임라인에서 중요한 코드 루틴을 시각적으로 표시할 수 있습니다.

    메모리 프로파일러의 JNI 참조 검사

    Android 8.0(API 레벨 26) 이상을 실행하는 기기에 앱을 배포한다면 이제 메모리 프로파일러를 사용하여 앱의 JNI 코드를 위한 메모리 할당을 검사할 수 있습니다.

    앱이 실행되는 동안 아래에서와 같이, 검사하려는 타임라인 부분을 선택하고, 클래스 위에 있는 드롭다운 메뉴에서 JNI heap을 선택합니다. 그런 다음 평소와 같이 힙에 있는 객체를 검사하고 Allocation Call Stack 탭에서 객체를 더블클릭하여 코드에서 JNI 참조가 할당되고 해제된 위치를 확인할 수 있습니다.

    메모리 힙 덤프 파일 가져오기, 내보내기 및 검사하기

    이제 메모리 프로파일러로 생성된 .hprof 메모리 힙 덤프 파일을 가져오고, 내보내고, 검사할 수 있습니다.

    프로파일러의 Sessions 창에서 Start new profiler session 을 클릭한 후 Load from file을 선택하여 .hprof 파일을 가져옵니다. 그런 다음 다른 힙 덤프와 마찬가지로 메모리 프로파일러에서 데이터를 검사할 수 있습니다.

    힙 덤프 데이터를 저장하고 나중에 검토하려면 Sessions 창의 Heap Dump 항목 오른쪽에 있는 Export Heap Dump 버튼을 사용하세요. Export As 대화상자가 표시되면 .hprof 파일 이름 확장자를 사용하여 파일을 저장하세요.

    앱이 시작하는 동안 CPU 활동 기록

    이제 다음과 같이 앱이 시작하는 동안 CPU 활동을 기록할 수 있습니다.

    1. 기본 메뉴에서 Run > Edit Configurations를 선택합니다.
    2. 원하는 실행 구성의 Profiling 탭에서 Start recording a method trace on startup 옆의 체크박스를 선택합니다.
    3. 드롭다운 메뉴에서 사용할 CPU 기록 구성을 선택합니다.
    4. Run > Profile을 선택하여 Android 8.0(API 레벨 26) 이상을 실행하는 기기에 앱을 배포합니다.

    CPU 트레이스 내보내기

    CPU 프로파일러로 CPU 활동을 기록한 후 데이터를 .trace 파일로 내보내어 다른 사용자와 공유하거나 나중에 검사할 수 있습니다.

    CPU 활동을 기록한 후 트레이스를 내보내려면 다음 단계를 따르세요.

    1. CPU 타임라인에서 내보내려는 기록을 마우스 오른쪽 버튼으로 클릭합니다.
    2. 드롭다운 메뉴에서 추적 내보내기를 선택합니다.
    3. 파일을 저장할 위치로 이동한 다음 저장을 클릭합니다.

    CPU 트레이스 파일 가져오기 및 검사

    이제 Debug API 또는 CPU 프로파일러에서 만든 .trace 파일을 가져와서 검사할 수 있습니다. 현재 시스템 트레이스 기록은 가져올 수 없습니다.

    프로파일러의 Sessions 창에서 Start new profiler session 을 클릭한 후 Load from file을 선택하여 트레이스 파일을 가져옵니다. 그런 다음 평소와 비슷한 방식으로 CPU 프로파일러에서 데이터를 검사할 수 있지만 다음과 같은 몇 가지 예외가 있습니다.

    • CPU 활동은 CPU 타임라인을 따라 표현되지 않습니다.
    • 스레드 활동 타임라인은 각 스레드에서 트레이스 데이터를 사용할 수 있는 위치만 나타내며 실제 스레드 상태(예: 실행 중, 대기 중, 일시중지 중)를 나타내지는 않습니다.

    Debug API를 사용하여 CPU 활동 기록

    이제 Debug API로 앱을 계측하여 CPU 프로파일러에서 CPU 활동 기록을 시작하고 중지할 수 있습니다. 앱을 기기에 배포하면 프로파일러는 앱이 startMethodTracing(String tracePath)를 호출할 때 CPU 활동 기록을 자동으로 시작하고 앱이 stopMethodTracing()을 호출할 때 기록을 중지합니다. 이 API를 사용하여 트리거된 CPU 활동을 기록하는 동안 CPU 프로파일러는 Debug API를 선택된 CPU 기록 구성으로 표시합니다.

    에너지 프로파일러

    에너지 프로파일러는 앱의 예상 에너지 사용량뿐 아니라 wakelock, 경보 및 작업과 같이 에너지 사용량에 영향을 주는 시스템 이벤트를 시각적으로 표시합니다.

    Android 8.0(API 26) 이상을 실행하는 연결된 기기 또는 Android 에뮬레이터에서 앱을 실행하면 Profiler 창 하단에 에너지 프로파일러가 새 행으로 표시됩니다.

    Energy 행을 클릭하면 에너지 프로파일러 뷰가 최대화됩니다. 마우스 포인터를 타임라인 막대 위에 놓으면, CPU, 네트워크, 위치(GPS) 리소스뿐 아니라 관련 있는 시스템 이벤트별로 분석한 에너지 사용 내역을 볼 수 있습니다.

    에너지 사용량에 영향을 미치는 시스템 이벤트는 Energy 타임라인 아래의 System 타임라인에 표시됩니다. Energy 타임라인에서 기간을 선택하면 지정된 기간 내의 시스템 이벤트 세부정보가 이벤트 창에 표시됩니다.

    호출 스택 및 wake lock과 같은 시스템 이벤트의 기타 세부정보를 보려면 이벤트 창에서 선택하세요. 시스템 이벤트에 책임이 있는 코드로 이동하려면 호출 스택에서 항목을 더블클릭하세요.

    린트 검사

    Android 스튜디오 3.2에는 린트 검사의 새롭고 향상된 기능이 많이 포함되어 있습니다.

    새로운 Lint 검사는 잠재적인 사용성 문제 관련 경고에서 잠재적인 보안 취약성과 관련된 우선순위가 높은 오류에 이르기까지 일반적인 코드 문제를 찾고 식별하는 데 도움이 됩니다.

    자바/Kotlin 상호운용성 린트 검사

    자바 코드가 Kotlin 코드와 원활하게 상호 운용되도록, 새 린트 검사에서는 Kotlin 상호운용성 가이드에 설명된 권장사항을 시행합니다. 이 검사의 예에는 Null 허용 여부 주석이 있는지 찾기, Kotlin 하드 키워드 사용, 람다 매개변수를 마지막에 배치 등이 포함됩니다.

    이 검사를 사용 설정하려면 File > Settings(Mac에서는 Android 스튜디오 > Preferences)를 클릭하여 Settings 대화상자를 열고 Editor > Inspections > Android > Lint > Interoperability > Kotlin Interoperability 섹션으로 이동하여 사용 설정하려는 규칙을 선택합니다.

    명령줄 빌드에 이 검사를 사용하려면 build.gradle 파일에 다음 코드를 추가하세요.

    android {
            lintOptions {
                check 'Interoperability'
            }
        }
        

    슬라이스 린트 검사

    새로운 슬라이스 Lint 검사를 사용하면 슬라이스를 올바로 구성하는 데 도움이 됩니다. 예를 들어 슬라이스에 기본 작업을 할당하지 않은 경우 Lint 검사에서 경고를 표시합니다.

    새로운 Gradle 대상

    새로운 lintFix Gradle 작업을 사용하면 린트 검사에서 제안한 모든 안전한 수정사항을 소스 코드에 직접 적용할 수 있습니다. 적용할 수 있는 안전한 수정사항을 제안하는 린트 검사의 예는 SyntheticAccessor입니다.

    메타데이터 업데이트

    Lint 검사가 Android 9(API 레벨 28)와 호환되도록 서비스 전송 확인과 같은 다양한 메타데이터가 업데이트되었습니다.

    새로운 변형에서 Lint를 실행하는 경우 경고 표시

    이제 Lint에서 기준이 기록된 변형과 버전을 기록하며, 기준이 생성된 변형과 다른 변형에서 Lint를 실행하면 경고를 표시합니다.

    기존 Lint 검사 개선사항

    Android 스튜디오 3.2에는 기존 Lint 검사의 다양한 개선사항이 포함되어 있습니다. 예를 들어 이제 리소스 주기 검사가 추가 리소스 유형에 적용되며, 번역 감지기가 편집기에서 필요에 따라 누락된 번역을 찾을 수 있습니다.

    더 쉽게 검색 가능한 문제 ID

    이제 문제 ID가 Inspection Results 창을 비롯하여 더 많은 위치에 표시됩니다. 따라서 build.gradlelintOptions를 통해 특정 검사를 사용 설정하거나 중지하는 데 필요한 정보를 더욱 쉽게 찾을 수 있습니다.

    자세한 내용은 Gradle로 린트 옵션 구성을 참조하세요.

    데이터 바인딩 V2

    이제 데이터 바인딩 V2가 기본적으로 사용 설정되며 V1과 호환됩니다. 즉, V1로 컴파일된 라이브러리 종속성이 있는 경우 데이터 바인딩 V2를 사용하는 프로젝트에서 함께 사용할 수 있습니다. 하지만 V1을 사용하는 프로젝트는 V2로 컴파일된 종속성을 사용할 수 없습니다.

    D8 디슈가링

    Android 스튜디오 3.1에서는 실험적 기능으로 D8 도구에 디슈가링 단계를 통합하여 전체 빌드 시간을 줄였습니다. Android 스튜디오 3.2에서는 D8에 디슈가링이 기본적으로 사용 설정됩니다.

    새 코드 축소기

    R8은 ProGuard를 대체하는 코드 축소 및 난독화를 위한 새로운 도구입니다. 프로젝트의 gradle.properties 파일에 다음 코드를 포함하여 R8의 미리보기 버전 사용을 시작할 수 있습니다.

    android.enableR8 = true
        

    여러 APK의 기본 ABI가 변경됨

    각각 다른 ABI를 타겟팅하는 여러 APK를 빌드할 때 플러그인이 더 이상 mips, mips64, armeabi 등 ABI용 APK를 기본적으로 생성하지 않습니다.

    이러한 ABI를 타겟팅하는 APK를 빌드하려면 NDK r16b 이하를 사용하고 아래와 같이 build.gradle 파일에 ABI를 지정해야 합니다.

        splits {
            abi {
                include 'armeabi', 'mips', 'mips64'
                ...
            }
        }
        

    CMake 빌드 파일의 편집기 기능이 향상됨

    CMake를 사용하여 C 및 C++ 코드를 프로젝트에 추가하면 이제 Android 스튜디오에서 다음과 같이 CMake 빌드 스크립트를 편집하는 데 유용한 향상된 편집기 기능을 사용할 수 있습니다.

    • 구문 강조표시 및 코드 완성: 이제 IDE에서 일반적인 CMake 명령어를 강조표시하고 코드 완성을 제안합니다. 또한 Control 키(Mac에서는 Command 키)를 누른 상태에서 파일을 클릭하여 파일로 이동할 수 있습니다.
    • 코드 형식 다시 지정: 이제 IntelliJ의 코드 형식 다시 지정 옵션을 사용하여 CMake 빌드 스크립트에 코드 스타일을 적용할 수 있습니다.
    • 안전한 리팩토링: 이제 IDE의 내장된 리팩토링 도구에서 CMake 빌드 스크립트에서 참조하는 파일의 이름이 변경되거나 파일이 삭제되는지 여부도 확인합니다.

    이전 버전의 Android 스튜디오에서는 Project 창을 사용할 때 로컬 프로젝트에서 빌드하는 라이브러리에 속한 헤더 파일만 탐색하고 검사할 수 있었습니다. 이 출시 버전에서는 이제 앱 프로젝트로 가져오는 외부 C/C++ 라이브러리 종속 항목에 포함된 헤더 파일을 보고 검사할 수 있습니다.

    이미 C/C++ 코드 및 라이브러리가 프로젝트에 포함되어 있다면 기본 메뉴에서 View > Tool Windows > Project를 선택하여 IDE의 왼쪽에 있는 Project 창을 열고 드롭다운 메뉴에서 Android를 선택합니다. cpp 디렉터리에서, 앱 프로젝트 범위 내에 있는 모든 헤더는 아래와 같이 각 로컬 C/C++ 라이브러리 종속성의 include 노드 아래에 구성됩니다.

    네이티브 multidex가 기본적으로 사용 설정됨

    이전 버전의 Android 스튜디오에서는 Android API 레벨 21 이상을 실행하는 기기에 앱의 디버그 버전을 배포할 때 네이티브 multidex를 사용 설정했습니다. 이제는 기기 배포 또는 출시용 APK 빌드 여부와 상관없이, Gradle용 Android 플러그인이 minSdkVersion=21 이상을 설정한 모든 모듈에 네이티브 multidex를 사용하도록 설정합니다.

    AAPT2가 Google의 Maven 저장소로 이동함

    Android 스튜디오 3.2부터는 AAPT2(Android Asset Packaging Tool 2)의 소스가 Google의 Maven 저장소입니다.

    AAPT2를 사용하려면 다음과 같이 build.gradle 파일에 google() 종속성이 있어야 합니다.

          buildscript {
              repositories {
                  google() // here
                  jcenter()
              }
              dependencies {
                  classpath 'com.android.tools.build:gradle:3.2.0'
              }
          } allprojects {
              repositories {
                  google() // and here
                  jcenter()
          }
        

    AAPT2의 새 버전에서는 Windows에서 ASCII가 아닌 문자의 처리 개선을 비롯하여 많은 문제가 해결되었습니다.

    주문형 구성 삭제

    주문형 구성 환경설정이 Android 스튜디오에서 삭제되었습니다.

    Android 스튜디오는 더 이상 --configure-on-demand 인수를 Gradle에 전달하지 않습니다.

    ADB Connection Assistant

    새로운 ADB Connection Assistant에서는 Android 디버그 브리지(ADB) 연결을 통해 기기를 설정하고 사용할 수 있도록 단계별 안내를 제공합니다.

    이 도우미를 사용하려면 Tools > Connection Assistant를 선택하세요.

    ADB 연결 도우미는 도우미 패널의 여러 페이지에 걸쳐 안내, 문맥에 맞는 컨트롤, 연결된 기기 목록을 제공합니다.

    에뮬레이터 개선사항

    이제 언제든지 Android 에뮬레이터에서 AVD(Android 가상 기기)의 스냅샷을 저장하고 로드하여, 에뮬레이션된 기기를 테스트를 위한 알려진 상태로 쉽고 빠르게 되돌릴 수 있습니다. AVD 관리자를 사용하여 AVD를 수정할 경우 AVD가 시작될 때 로드할 AVD 스냅샷을 지정할 수 있습니다.

    AVD 스냅샷의 저장, 로드 및 관리를 위한 컨트롤이 이제 에뮬레이터 Extended controls 창의 Snapshots 탭에 있습니다.

    자세한 내용은 스냅샷을 참조하세요.

    에뮬레이터의 새로운 기능 및 변경사항에 관한 추가 정보는 에뮬레이터 출시 노트를 참조하세요.

    3.1(2018년 3월)

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

    3.1.4(2018년 8월)

    이번 Android 스튜디오 3.1 업데이트에는 다음과 같은 변경 및 수정사항이 포함되어 있습니다.

    • 이제 번들 Kotlin 버전이 1.2.50입니다.
    • 새로운 프로젝트는 지원 중단된 kotlin-stdlib-jre* 아티팩트가 아닌 kotlin-stdlib-jdk* artifacts로 생성됩니다.
    • ProGuard 규칙의 R8 파싱이 개선되었습니다.
    • 다음 버그가 수정되었습니다.
      • Kotlin Main 클래스를 실행하려고 하면 "Error: Could not find or load main class..." 오류와 함께 실패했습니다.
      • 특정 최적화를 실행하는 동안 R8에 무한 루프가 발생했습니다.
      • Run 창에서 Rerun failed tests 명령어를 사용하면 가끔 'No tests were found' 메시지가 잘못 반환되었습니다.
      • D8이 invoke-virtual 인스턴스를 올바르게 처리하지 않아 VerifyError: invoke-super/virtual can't be used on private method 메시지와 함께 비정상 종료되었습니다.
      • 데이터 결합 컴파일러가 이전 버전의 com.android.tools:annotations를 사용했습니다. 이제 가능하다면 컴파일러가 기본 프로젝트의 도구 주석을 사용합니다.
      • 프로파일러 사용 시 프래그먼트를 전환하는 중에 Android 스튜디오가 비정상 종료되었습니다.
      • 입력란이 있는 레이아웃을 디버깅하면 디버거가 비정상 종료되었습니다.
      • D8이 특수문자가 포함된 일부 ZIP 파일을 읽지 못했습니다.

    3.1.3(2018년 6월)

    이번 Android 스튜디오 3.1 업데이트에서는 다음 버그가 수정되었습니다.

    • Layout Editor를 사용한 이후 메모리 누출로 인해 Android 스튜디오가 느려지고 응답하지 않는 문제가 있었습니다. 이번 업데이트에서는 이러한 문제 대부분이 수정되었습니다. 추가 메모리 누출 문제를 해결하기 위해 곧 업데이트를 다시 출시할 예정입니다.
    • D8으로 빌드된 일부 애플리케이션이 일부 Verizon Ellipsis 태블릿에서 비정상 종료되었습니다.
    • Android 5.0 또는 5.1(API 레벨 21 또는 22)을 실행하는 기기에서 D8으로 빌드된 애플리케이션을 설치하면 INSTALL_FAILED_DEXOPT 오류가 발생했습니다.
    • OkHttp 라이브러리를 사용하고 D8으로 빌드된 일부 애플리케이션이 Android 4.4(API 레벨 19)를 실행하는 기기에서 비정상 종료되었습니다.
    • 때로 Android 스튜디오가 com.intellij.psi.jsp.JspElementType의 클래스 초기화 중에 ProcessCanceledException 오류와 함께 시작하지 못했습니다.

    3.1.2(2018년 4월)

    이번 Android 스튜디오 3.1 업데이트에서는 다음 버그가 수정되었습니다.

    • Android 스튜디오를 종료하는 중에 무기한 중단되는 경우가 있었습니다.
    • Instant Run이 사용 설정되었을 때 소스 세트로 구성된 빌드가 다음 메시지와 함께 실행되지 않았습니다.

      "The SourceSet name is not recognized by the Android Gradle Plugin."

    • Instant Run이 사용 설정되었을 때 Run 명령어로 트리거된 새로운 Kotlin 프로젝트 빌드가 실행되지 않았습니다.
    • build.gradle 파일을 수정하는 동안 가끔 입력한 문자가 화면에 나타나기까지 눈에 띄는 지연 현상이 있었습니다.
    • 많은 모듈 또는 외부 종속성이 포함된 일부 프로젝트에서 덱싱하는 동안 다음 오류 메시지와 함께 빌드가 실패했습니다.

      "RejectedExecutionException: Thread limit exceeded replacing blocked worker"

    • D8 기본 DEX 목록의 계산에서 일부 반영된 호출을 고려하지 않았습니다.

    이 업데이트에는 일부 시나리오에서 Gradle의 Lint 검사 실행 속도를 훨씬 더 빠르게 하는 변경사항도 포함되어 있습니다.

    3.1.1(2018년 4월)

    이번 Android 스튜디오 3.1 업데이트에서는 다음 버그가 수정되었습니다.

    • Android 스튜디오 3.0에서 만들어진 프로젝트가 Android 스튜디오 3.1에서 처음으로 열릴 때 Gradle-aware Make 작업이 Run/Debug ConfigurationsBefore launch 영역에서 삭제되는 경우가 있었습니다. 그 결과 Run 또는 Debug 버튼을 클릭했을 때 프로젝트가 빌드되지 않아 잘못된 APK 배포와 같은 오류가 발생하고 Instant Run 사용 시 비정상 종료되었습니다.

      이 문제를 해결하기 위해 Android 스튜디오 3.1.1에서는 이 항목이 누락된 프로젝트 구성을 실행하도록 Gradle-aware Make 작업이 추가되었습니다. 이 수정사항은 프로젝트 로드 시 첫 번째 Gradle 동기화 이후에 적용됩니다.

    • 고급 프로파일링이 사용 설정된 경우 입력란이 있는 레이아웃을 디버깅하면 때 디버거가 비정상 종료되었습니다.
    • Build Variants를 클릭하면 Android 스튜디오가 정지되었습니다.
    • AAR(Android 보관 파일)이 Gradle 동기화 프로세스 중 한 번, Gradle 빌드 프로세스 중 한 번, 총 두 번 추출되었습니다.
    • SVG 파일에서 가져오는 일부 벡터 드로어블에서 요소가 누락되었습니다.
    • compile 종속성 구성의 지원 중단에 관한 경고가 implementationapi 구성에 관한 더 나은 지침과 함께 업데이트되었습니다. compile 구성 사용으로부터의 이전에 관한 세부정보는 새로운 종속성 구성에 관한 문서를 참조하세요.

    코딩/IDE

    IntelliJ 2017.3.3

    핵심 Android 스튜디오 IDE가 2017.3.3 출시를 통해 업데이트되어 IntelliJ IDEA에서 개선되었습니다. 개선사항에는 컬렉션 및 문자열에 관한 더 나은 제어 흐름 분석, 향상된 Null 허용 여부 추론, 새로운 빠른 수정 외 여러 가지가 포함되어 있습니다.

    자세한 내용은 IntelliJ IDEA 버전 2017.22017.3에 관한 JetBrains 출시 노트와 버그 수정 업데이트에 관한 JetBrains 출시 노트를 참조하세요.

    Room을 통한 SQL 편집 개선

    Room 데이터베이스 라이브러리를 사용하면 몇 가지 향상된 SQL 편집 기능을 이용할 수 있습니다.

    • Query 내 코드 작성 시 SQL 테이블(항목), 열, 쿼리 매개변수, 별칭, 조인, 하위 쿼리 및 WITH 절을 이해합니다.
    • 이제 SQL 구문 강조표시가 작동합니다.
    • SQL에서 테이블 이름을 마우스 오른쪽 버튼으로 클릭하여 이름을 변경할 수 있으며, 이렇게 하면 해당하는 자바 또는 Kotlin 코드도 다시 작성됩니다(예를 들면 쿼리의 반환 유형 포함). 이 또한 그 반대의 경우도 마찬가지로 자바 클래스 또는 필드 이름을 변경하면 해당하는 SQL 코드가 다시 작성됩니다.
    • Find usages(컨텍스트 메뉴의 Find usages를 마우스 오른쪽 버튼으로 클릭하여 선택) 사용 시 SQL 사용량이 표시됩니다.
    • Ctrl(Mac에서는 Command) 키를 누른 상태에서 항목을 클릭하여 자바 또는 Kotlin 코드의 SQL 항목 선언으로 이동할 수 있습니다.

    Room에서 SQL을 사용하는 방법에 관한 자세한 내용은 Room을 사용하여 로컬 데이터베이스에 데이터 저장을 참조하세요.

    데이터 결합 업데이트

    이 업데이트에는 데이터 결합에 관한 몇 가지 개선사항이 포함되어 있습니다.

    • 이제 LiveData 객체를 데이터 결합 표현식의 식별 가능한 필드로 사용할 수 있습니다. ViewDataBinding 클래스는 이제 LiveData 객체를 관찰하는 데 사용하는 새로운 setLifecycle() 메서드를 포함합니다.

    • ObservableField 클래스는 이제 생성자에서 다른 Observable 객체를 허용할 수 있습니다.

    • 데이터 결합 클래스의 새로운 증분 컴파일러를 미리 볼 수 있습니다. 새 컴파일러의 세부정보와 사용 설정 안내는 데이터 바인딩 컴파일러 V2를 참조하세요.

      새로운 컴파일러의 이점은 다음과 같습니다.

      • ViewBinding 클래스는 자바 컴파일러 이전에 Gradle용 Android 플러그인에 의해 생성됩니다.

      • 라이브러리는 결합 클래스를 매번 재생성하는 대신 앱이 컴파일될 때 생성된 결합 클래스를 유지합니다. 다중 모듈 프로젝트의 성능을 크게 향상시킬 수 있습니다.

    컴파일러 및 Gradle

    D8이 기본 DEX 컴파일러입니다

    이제 DEX 바이트코드 생성에 기본적으로 D8 컴파일러가 사용됩니다.

    새로운 DEX 컴파일러에는 다음을 비롯한 여러 이점이 있습니다.

    • 더 빠른 덱싱
    • 낮은 메모리 사용량
    • 향상된 코드 생성(개선된 레지스터 할당, 더 스마트한 문자열 테이블)
    • 단계별 코드 실행 시 더 나은 디버깅 환경 제공

    이전에 D8 컴파일러를 수동으로 사용 중지하지 않았다면 코드나 개발 워크플로를 변경하지 않아도 이러한 이점을 얻을 수 있습니다. gradle.properties에서 android.enableD8false로 설정했다면 플래그를 삭제하거나 다음과 같이 true로 설정하세요.

    android.enableD8=true
        

    자세한 내용은 새로운 DEX 컴파일러를 참조하세요.

    증분 디슈가링

    자바 8 언어 기능을 사용하는 프로젝트에서 증분 디슈가링이 기본적으로 사용 설정되어 빌드 시간을 개선할 수 있습니다.

    디슈가링은 구문 코드를 컴파일러가 더 효율적으로 처리할 수 있는 형태로 변환합니다.

    프로젝트의 gradle.properties 파일에 다음을 지정하여 증분 디슈가링을 사용 중지할 수 있습니다.

    android.enableIncrementalDesugaring=false
        

    단순화된 출력 창

    Gradle ConsoleSyncBuild 탭이 포함된 Build 창으로 대체되었습니다.

    단순화된 새로운 Build 창을 사용하는 방법을 자세히 알아보려면 빌드 프로세스 모니터링을 참조하세요.

    일괄 업데이트 및 색인 생성 동시 실행

    불필요한 많은 색인 생성 작업에 낭비되는 시간을 줄여 Gradle 동기화 및 IDE 색인 생성 프로세스를 훨씬 더 효율적으로 처리할 수 있게 되었습니다.

    C++ 및 LLDB

    C++ 개발의 코딩, 동기화, 빌드 및 디버깅 단계에서 품질과 성능을 크게 개선했습니다. 개선사항에는 다음이 포함됩니다.

    • 대규모 C++ 프로젝트 작업을 하는 경우 기호 작성에 들어가는 시간이 크게 단축됩니다. 대규모 프로젝트의 동기화 시간도 크게 줄어듭니다.

    • 캐시된 결과를 더 적극적으로 재사용함으로써 CMake로 빌드 및 동기화할 때의 성능이 향상되었습니다.

    • 더 많은 C++ 데이터 구조를 위해 형식 지정 도구('pretty printers')를 추가하여 LLDB 출력을 더 쉽게 읽을 수 있습니다.

    • LLDB는 이제 Android 4.1(API 레벨 16) 이상에서만 작동합니다.

    Kotlin

    Kotlin이 버전 1.2.30으로 업그레이드됨

    Android 스튜디오 3.1에는 Kotlin 버전 1.2.30이 포함되어 있습니다.

    이제 Kotlin 코드가 명령줄 린트 검사를 통해 분석됨

    이제 명령줄에서 린트를 실행하면 Kotlin 클래스가 분석됩니다.

    린트를 실행하려는 각 프로젝트에서는 Google의 Maven 저장소가 최상위 build.gradle 파일에 포함되어야 합니다. Android 스튜디오 3.0 이상에서 만들어진 프로젝트에는 Maven 저장소가 이미 포함되어 있습니다.

    성능 도구

    CPU 프로파일러를 사용하는 네이티브 C++ 프로세스 샘플

    이제 CPU 프로파일러에는 앱 네이티브 스레드의 샘플링된 트레이스를 기록하는 기본 구성이 포함됩니다. Android 8.0(API 레벨 26) 이상을 실행하는 기기에 앱을 배포한 후 CPU 프로파일러의 기록 구성 드롭다운 메뉴에서 Sampled (Native)를 선택하여 이 구성을 사용할 수 있습니다. 그 이후에는 평소와 같이 트레이스를 기록 및 검사할 수 있습니다.

    기록 구성을 만들어 샘플링 간격과 같은 기본 설정을 변경할 수 있습니다.

    자바 스레드 추적으로 다시 전환하려면 Sampled (Java) 또는 Instrumented (Java) 구성을 선택하세요.

    CPU 트레이스, 메모리 할당 결과 및 힙 덤프 필터링

    CPU 프로파일러메모리 프로파일러에는 메서드 트레이스, 메모리 할당 또는 힙 덤프 기록의 결과를 필터링할 수 있는 검색 기능이 포함되어 있습니다.

    검색하려면 창의 오른쪽 상단에서 Filter 를 클릭하고 쿼리를 입력한 후 Enter 키를 누르세요.

    도움말: Control + F(Mac에서는 Command + F)를 눌러 검색 필드를 열 수도 있습니다.

    CPU 프로파일러의 Flame Chart 탭에서 검색어와 관련된 메서드가 포함된 호출 스택이 강조표시되며 차트의 왼쪽으로 이동했습니다.

    메서드, 클래스 또는 패키지 이름을 기준으로 필터링하는 방법을 자세히 알아보려면 메서드 트레이스 기록 및 검사를 참조하세요.

    네트워크 프로파일러의 Request 탭

    이제 네트워크 프로파일러에는 선택한 타임라인 동안의 네트워크 요청에 관한 세부정보를 제공하는 Request 탭이 포함되었습니다. 이전 버전에서는 네트워크 프로파일러에서 네트워크 응답에 관한 정보만 제공했습니다.

    네트워크 프로파일러의 스레드 뷰

    네트워크 프로파일러에서 타임라인의 일부를 선택한 후 다음 탭 중 하나를 선택하여 그 기간 동안의 네트워크 활동에 관한 세부정보를 볼 수 있습니다.

    • Connection View: Android 스튜디오의 이전 버전과 같은 정보를 제공합니다. 앱의 모든 CPU 스레드에 걸쳐 타임라인의 선택된 부분 동안 전송되거나 수신된 파일이 나열됩니다. 각 요청의 크기, 유형, 상태 및 전송 기간을 검사할 수 있습니다.
    • Thread View: 앱의 각 CPU 스레드의 네트워크 활동이 표시됩니다. 이 뷰를 사용하면 각 네트워크 요청에 책임이 있는 앱의 스레드를 검사할 수 있습니다.

    Layout Inspector

    Layout Inspector에는 지원 중단된 Hierarchy Viewer 및 Pixel Perfect 도구에서 이전에 제공되던 일부 기능을 포함한 새로운 기능이 포함되어 있습니다.

    • 레이아웃 탐색 및 검사를 위한 확대/축소 버튼과 단축키
    • 참조 그리드 오버레이
    • 참조 이미지를 로드하고 오버레이로 사용할 수 있는 기능(레이아웃과 UI 모형을 비교하는 데 유용함)
    • 하위 트리 미리보기 렌더링을 통해 복잡한 레이아웃에서 뷰를 분리

    Layout Editor

    Layout EditorPalette에는 다음과 같은 많은 개선사항이 포함되었습니다.

    • 뷰 및 레이아웃에 대한 카테고리 재구성
    • 뷰 및 레이아웃의 새로운 Common 카테고리가 생겼으며 Favorite 명령으로 추가할 수 있음
    • 뷰 및 레이아웃 검색 개선
    • 특정 뷰 또는 레이아웃 요소의 문서를 열기 위한 새로운 명령어

    Component 트리 또는 디자인 편집기에서 새로운 Convert view 명령어를 사용하여 뷰 또는 레이아웃을 다른 유형의 뷰 또는 레이아웃으로 변환할 수 있습니다.

    이제 Attributes 창 상단의 뷰 검사기에서 새로운 Create a connection 버튼을 사용하여 선택된 뷰 근처의 항목에 관한 제약 조건을 쉽게 만들 수 있습니다.

    Run 및 Instant Run

    Attributes 창 상단의 뷰 검사기에서 새로운 Create a connection 버튼을 사용하여 선택된 뷰 근처의 항목에 대한 제약 조건을 쉽게 만들 수 있습니다.Run 및 Instant RunSelect deployment target 대화상자에 있는 Use same selection for future launches 옵션의 동작이 더 일관성 있게 개선되었습니다. Use same selection 옵션이 사용 설정되었다면 선택된 기기가 더 이상 연결되지 않을 때까지는 Run 명령어를 처음으로 사용할 때만 Select deployment target 대화상자가 열립니다.

    Android 8.0(API 레벨 26) 이상을 실행하는 기기를 타겟팅할 때는 Instant Run 명령어를 사용하여 애플리케이션을 다시 시작하지 않고도 리소스에 변경사항을 배포할 수 있습니다. 이렇게 할 수 있는 이유는 리소스가 분할 APK에 포함되어 있기 때문입니다.

    에뮬레이터

    Android 스튜디오 3.0 이후 에뮬레이터의 새로운 기능 및 변경사항에 관한 자세한 내용은 버전 27.0.2부터 버전 27.1.12까지의 Android Emulator 출시 노트를 참조하세요.

    주요 개선사항은 다음과 같습니다.

    • Save now 명령어를 사용하여 맞춤 시작 상태를 저장하는 기능을 통해 에뮬레이터 상태를 저장하고 더 빠르게 시작할 수 있는 Quick Boot 스냅샷
    • 창 없는 에뮬레이터 화면
    • Android 8.0(API 레벨 26), Android 8.1(API 레벨 27) 및 Android P Developer Preview용 시스템 이미지

    사용자 인터페이스 및 사용자 환경 개선

    더 많은 도움말, 단축키 및 유용한 메시지

    Android 스튜디오 전체에 걸쳐 여러 위치에 도움말과 유용한 메시지 오버레이를 추가했습니다.

    명령어의 단축키를 보려면 도움말이 표시될 때까지 마우스 포인터를 버튼 위에 올려놓으세요.

    Tools > Android 메뉴 삭제됨

    Tools > Android 메뉴가 삭제되었으며, 이전에 이 메뉴에 있던 명령어가 이동했습니다.

    • 대다수의 명령어가 Tools 메뉴 바로 아래로 이동했습니다.
    • Sync project with gradle files 명령어는 File 메뉴로 이동했습니다.
    • Device Monitor 명령어가 아래 설명과 같이 삭제되었습니다.

    명령줄에서 Device Monitor 사용 가능

    Android 스튜디오 3.1에서는 Device Monitor의 역할이 이전보다 줄어들었습니다. Device Monitor를 통해 사용 가능한 기능 대부분이 이제 새롭게 개선된 도구에서 제공됩니다.

    명령줄에서 Device Monitor를 호출하는 방법과 Device Monitor를 통해 사용할 수 있는 도구를 자세히 알아보려면 Device Monitor 문서를 참조하세요.

    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 플러그인은 다양한 개선사항과 새로운 기능을 포함하고 있지만 주로 모듈 수가 많은 프로젝트의 빌드 성능을 개선합니다. 이러한 대규모 프로젝트에서 새 플러그인을 사용하면 다음과 같은 이점이 있습니다.

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

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

    변경사항을 자세히 알아보려면 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 언어 기능 지원

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

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

    Android 프로파일러

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

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

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

    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 App 모듈과 Feature 모듈이라는 두 가지 새로운 모듈 유형을 사용하여 프로젝트에서 인스턴트 앱을 만들 수 있습니다(인스턴트 앱 개발 SDK를 설치해야 함).

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

    인스턴트 앱을 테스트할 준비가 되면 Run Configuration Launch Options 내에서 인스턴트 앱의 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)를 선택합니다.

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

    글꼴 리소스 지원

    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을 지원하도록 적절한 객체 항목으로 Digital Asset Links 파일을 만들고 상응하는 asset_statements <meta-data> 태그를 manifest 파일에 추가합니다.

    URL 인텐트 필터 검사기

    Android 스튜디오에서는 이제 manifest 파일에서 인텐트 필터 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 업데이트도 참조하세요.

    2.3(2017년 3월)

    Android 스튜디오 2.3.0은 주로 버그 수정 및 안정화에 초점을 맞춘 버전이지만, 여러 가지 새로운 기능도 포함되어 있습니다.

    2.3.3(2017년 6월)

    Android O(API 레벨 26) 지원이 추가된 소규모 업데이트입니다.

    2.3.2(2017년 4월)

    다음 변경사항이 포함된 Android 스튜디오 2.3의 소규모 업데이트입니다.

    • 시스템 이미지에서 Google Play를 지원하도록 AVD 관리자 업데이트
    • NDK R14 이상을 사용할 때 NDK 빌드의 버그 수정

    Android Emulator 26.0.3의 관련 업데이트도 참조하세요.

    2.3.1(2017년 4월)

    일부 실제 Android 기기가 Instant Run과 제대로 호환되지 않는 문제가 수정된 Android 스튜디오 2.3의 소규모 업데이트입니다(문제 #235879 참조).

    새로운 기능

    • Android 스튜디오는 이제 PNG, BMP, JPG 및 정적 GIF 파일을 WebP 형식으로 변환할 수 있습니다. WebP는 Google에서 제공하는 이미지 파일 형식으로, 손실이 있는 압축(예: JPEG)과 투명도(예: PNG)를 제공하지만 JPEG나 PNG보더 더 나은 압축을 제공할 수 있습니다. 자세한 내용은 Android 스튜디오에서 WebP로 이미지 변환을 참조하세요.
    • 새로운 App Links Assistant는 단계별 마법사로 앱에 Android 앱 링크를 추가하는 절차를 간소화합니다. Android 앱 링크는 Android 앱의 특정 콘텐츠로 곧바로 사용자를 안내하는 HTTP URL입니다.
    • Layout Editor는 이제 다음과 같은 두 가지 새로운 ConstraintLayout 기능을 지원합니다.
      • 가로세로 비율에 따라 뷰 크기를 정의합니다.
      • 제약 조건 체인을 사용하여 압축, 펼치기 및 가중치가 적용된 선형 그룹을 만듭니다.
      자세한 내용은 ConstraintLayout으로 반응형 UI 빌드를 참조하세요.
    • 이제 Layout Editor에서 즐겨찾기 속성 목록을 만들 수 있으므로 가장 많이 사용하는 속성에 액세스하기 위해 View all attributes를 클릭하지 않아도 됩니다.
    • 벡터 가져오기 대화상자(File > New > Vector Asset)를 사용하여 머티리얼 아이콘을 추가할 때 카테고리 또는 아이콘 이름을 기준으로 사용 가능한 목록을 필터링할 수 있습니다. 자세한 내용은 머티리얼 아이콘 추가를 참조하세요.
    • 주석이 새로 추가 및 업데이트되었습니다. 메서드, 클래스 및 패키지의 새로운 @RestrictTo 주석을 사용하여 API를 제한할 수 있습니다. 업데이트된 @VisibleForTesting주석에는 이제 선택적인 otherwise 인수가 있습니다. 이 인수를 통해 테스트를 위해 가시적으로 만들어야 할 필요가 없다면 메서드 가시성이 어느 수준이어야 하는지 지정할 수 있습니다. 린트에서는 otherwise 옵션을 사용하여 의도하는 메서드 가시성을 강제 적용할 수 있습니다.
    • 새로운 린트 기준 지원을 통해 프로젝트의 현재 경고 세트의 스냅샷을 이후 검사 실행의 기준으로 사용하여 새로운 문제만 보고되도록 만들 수 있습니다. 기준 스냅샷을 사용하면 먼저 모든 기존 문제로 돌아가 문제를 해결하지 않고도 린트를 사용해 새로운 문제의 빌드를 통과시키지 않게 만들 수 있습니다.
    • 새로운 린트 검사에는 다음이 포함됩니다.
      • 더 이상 사용되지 않는 SDK_INT 검사: Android 스튜디오는 더 이상 사용되지 않는, SDK 버전을 확인하는 코드를 삭제합니다.
      • 객체 애니메이터 확인: 린트는 코드를 분석하여 ObjectAnimator 호출이 올바른 서명이 포함된 유효한 메서드를 참조하는지 확인하고 출시 빌드 과정에서 ProGuard가 이러한 메서드의 이름을 바꾸거나 메서드를 삭제하지 못하도록 메서드에 @Keep으로 주석이 달려있는지 확인합니다.
      • 불필요한 항목 데코레이터 카피: 이전 버전의 RecyclerView 라이브러리에는 분할 데코레이터 클래스가 포함되지 않았지만, 지원 데모에서 샘플로 제공되었습니다. 라이브러리의 최근 버전에는 분할 데코레이터 클래스가 포함되어 있습니다. 린트는 오래된 샘플을 찾아 새로운 샘플로 교체하도록 제안합니다.
      • WifiManager 누출: Android 7.0(API 레벨 24) 이전에는 Context.getSystemService()WifiManager를 초기화하면 컨텍스트가 애플리케이션 컨텍스트가 아닐 때 메모리 누출이 발생할 수 있습니다. 린트는 이러한 초기화를 살펴보고 컨텍스트가 애플리케이션 컨텍스트인 것을 확인할 수 다면 Context.getApplicationContext()를 사용하여 초기화에 적절한 컨텍스트를 받도록 제안합니다.
      • 향상된 리소스 접두어: 기존 resourcePrefix 린트 검사에는 많은 제한이 있었습니다. 이제 android { resourcePrefix 'my_lib' }와 같은 접두어로 프로젝트를 구성할 수 있으며, 린트는 모든 리소스가 이 접두어를 사용하는지 확인합니다. 스타일 및 테마에 다양한 이름 변형을 사용할 수 있습니다. 예를 들어 my_lib 접두어를 사용한다면 MyLibTheme, myLibAttr, my_lib_layout 등의 이름으로 테마를 추가할 수 있습니다.
      • WebP로 전환: 이 검사에서는 프로젝트의 minSdkVersion 설정에 따라 프로젝트에서 WebP 형식으로 변환할 수 있는 이미지를 식별합니다. 연결된 빠른 수정 프로그램이 이미지를 자동으로 변환하거나 개발자가 직접 이미지를 WebP로 변환할 수 있습니다.
      • 안전하지 않은 WebP: 프로젝트에 이미 WebP 이미지가 포함되어 있다면 이 검사에서 프로젝트를 분석하여 포함된 이미지를 지원할 만큼 minSdkVersion 설정이 충분히 높은지 확인합니다. Android 및 Android 스튜디오의 WebP 지원에 관한 자세한 내용은 WebP를 기본적으로 지원하는 브라우저Android 스튜디오를 사용하여 WebP 이미지 만들기를 참조하세요.

    변경사항

    • Instant Run을 사용하여 변경사항을 푸시하는 별도의 버튼: 앱을 배포한 이후에 Apply Changes 를 클릭하면 Instant Run을 사용하여 실행 중인 앱에 증분 변경사항을 빠르게 푸시할 수 있습니다. 변경사항을 안정적으로 푸시하고 앱을 강제로 다시 시작하려고 할 때 언제든지 Run Debug 버튼을 사용할 수 있습니다.
      • Instant Run은 Android 5.0(API 레벨 21) 이상을 실행하는 대상 기기에 앱을 배포할 때만 지원됩니다.
      • CMake 또는 ndk-build를 사용하여 외부 네이티브 프로젝트에 연결하는 프로젝트에서는 더 이상 Instant Run을 사용 중지할 수 없습니다. 그러나 네이티브 코드가 아닌 자바 코드에 증분 변경사항을 푸시할 때는 Instant Run만 사용할 수 있습니다.
      • 이제 콜드 스왑(Run 을 클릭하여 실행 중인 앱에 강제 실행할 수 있음)의 안정성이 개선되었습니다. 콜드 스왑을 강제 실행하면 알림 및 위젯 UI 변경사항이 대상 기기에 업데이트되지 않는 문제가 해결됩니다.
      • 앱을 훨씬 더 빠르게 시작하는 최적화가 포함되어 있습니다. 이러한 최적화는 프로파일링에 영향을 줄 수 있으므로 앱을 프로파일링할 때는 항상 일시적으로 Instant Run을 사용 중지해야 합니다.
    • AVD Manager SDK Manager 버튼이 이제 전체 툴바뿐 아니라 간편 탐색 메뉴에도 포함되어 있습니다. 간편 탐색 메뉴를 사용하려면 View를 클릭하여 View 메뉴를 연 후 Navigation Bar가 선택되어 있고 Toolbar가 선택되어 있지 않은 상태인지 확인합니다.

    • 'Hybrid' 디버거의 이름이 'Dual' 디버거로 변경되었습니다.
    • Run/Debug Configurations 대화상자의 왼쪽 창에 있는 Defaults의 다음 실행 구성 이름이 변경되었으나 동작은 변경되지 않았습니다.
      • JUnit 이름이 Android JUnit으로 변경되었습니다. JUnit 실행 구성을 사용하는 프로젝트가 있는 경우 Android 스튜디오로 프로젝트를 처음 열 때 이러한 구성이 Android JUnit 실행 구성으로 변환됩니다. 이름 변경을 알려주는 대화상자가 표시됩니다.
      • Android Tests 이름이 Android Instrumented Tests로 변경되었습니다.
    • GPU 디버거가 버전 2.3부터 Android 스튜디오에서 삭제되었습니다. 이제 도구의 오픈소스 독립형 버전을 GitHub에서 사용할 수 있습니다.
    • *.gradle build 스크립트를 마우스 오른쪽 버튼으로 클릭했을 때 Run/Debug 옵션이 더 이상 제공되지 않습니다.
    • 이제 모든 템플릿이 ConstraintLayout을 기본 레이아웃으로 사용합니다.
    • Layout Editor의 Widgets 팔레트 디자인이 변경되었습니다.

    이번 출시에는 여러 가지 버그 수정도 포함되어 있습니다. 2.3.0의 모든 버그 수정을 참조하세요.

    알려진 문제: 일부 기기 제조업체는 앱이 기기에 설치된 후 자동으로 실행되는 것을 차단합니다. Android 스튜디오 2.3을 사용하는 실제 기기에 앱을 배포할 때 이 제한으로 인해 Instant Run의 의도된 동작이 중단되며 Error: Not found; no service started 메시지와 함께 오류가 발생합니다. 이 문제를 방지하려면 에뮬레이터를 사용하거나 기기 설정에서 앱 자동 실행을 사용 설정합니다. 이 절차는 기기마다 다르므로 제조업체에서 제공하는 안내를 확인하세요. 예를 들어 영향을 받는 일부 Asus 기기에서는 자동 시작 관리자를 사용하여 앱을 허용 목록에 추가해야 합니다. 이 문제를 자세히 알아보려면 문제 #235879를 참조하세요.

    2.2(2016년 9월)

    2.2.3(2016년 12월)

    Android 스튜디오 2.2의 소규모 업데이트입니다. Gradle, 코어 IDE, Lint를 중심으로 한 버그 수정이 포함되어 있습니다.

    주요 빌드 변경사항은 다음과 같습니다.

    • ProGuard 버전 롤백. ProGuard 5.3.1에서 발견된 정확성 문제로 인해 ProGuard 5.2.1로 롤백했습니다. ProGuard팀과 신속한 해결을 위해 노력하고 있으며 Android 스튜디오 2.3 Canary 3에서 ProGuard 5.3.2를 출시할 것으로 예상됩니다.
    • aaptOptions IgnoreAssetsPattern이 제대로 작동하지 않는 버그 수정(문제 224167)
    • Constraint Layout 라이브러리에서 Gradle 자동 다운로드 버그 수정(문제 212128)
    • JDK8/Kotlin 컴파일러 + dx 문제 버그 수정(문제 227729)

    2.2.3의 모든 버그 수정을 참조하세요.

    2.2.2(2016년 10월)

    Android 스튜디오 2.2의 소규모 업데이트입니다. 다음을 포함한 여러 변경사항 및 버그 수정이 포함되었습니다.

    • IDE를 통해 Instant Run 문제를 신고할 때 보고서에는 이제 InstantRun 이벤트의 logcat 출력도 포함됩니다. Instant Run을 개선할 수 있도록 추가 로깅을 사용 설정하고 모든 문제를 신고해 주세요.
    • Gradle에 대한 여러 가지 소규모 버그 수정이 포함되었습니다.
    • 여러 APK 생성과 관련된 문제가 해결되었습니다.

    2.2.1(2016년 10월)

    Android 스튜디오 2.2의 소규모 업데이트입니다. Instant Run 문제를 해결하는 데 도움이 되는 여러 가지 버그 수정 및 추가 로깅을 사용하는 새로운 기능이 포함되었습니다. Instant Run을 개선할 수 있도록 추가 로깅을 사용 설정하고 모든 문제를 신고해 주세요.

    새로운 기능

    • Layout Editor가 완전히 새로워졌으며 ConstraintLayout을 지원하는 맞춤 빌드 도구가 제공됩니다.
    • 새로운 Layout Inspector를 사용하여 에뮬레이터나 기기에서 앱이 실행 중일 때 레이아웃 계층의 스냅샷을 검사할 수 있습니다.
    • 새로운 Assistant 창을 통해 Firebase 서비스를 앱에 통합할 수 있습니다.
    • 새로운 APK Analyzer 도구에서 패키지 앱의 콘텐츠를 검사할 수 있습니다.
    • 새로운 Espresso Test Recorder 도구(현재 베타 상태)를 통해 자체 상호작용을 기록하여 UI 테스트를 생성할 수 있습니다.
    • 새로운 빌드 캐시(현재 실험 단계)를 사용하여 빌드 성능을 향상할 수 있습니다.
    • C/C++ 빌드가 CMake 및 ndk-build와 새롭게 통합되었습니다. APK에 패키징된 새로운 네이티브 코드 또는 기존 네이티브 코드를 컴파일 및 빌드하고 lldb를 사용하여 디버그하세요. 새 프로젝트의 경우 Android 스튜디오가 CMake를 기본적으로 사용하지만, 기존 프로젝트에는 ndk-build도 지원합니다. Android 애플리케이션에 네이티브 코드를 포함하는 방법을 알아보려면 프로젝트에 C 및 C++ 코드 추가를 참조하세요. lldb로 네이티브 코드를 디버그하는 방법을 알아보려면 네이티브 코드 디버그를 참조하세요.
    • 새로운 샘플 브라우저를 통해 Android 스튜디오 내에서 Google Android 샘플 코드를 간편하게 찾아 앱 개발을 시작할 수 있습니다.
    • 새로운 병합된 매니페스트 뷰어를 통해 모든 프로젝트 빌드 변형에서 매니페스트 파일이 앱 종속 항목과 병합되는 방식을 진단할 수 있습니다.
    • 이제 Run 창에 현재 실행 중인 앱의 로그 메시지가 포함됩니다. 참고로 logcat Monitor 디스플레이는 구성할 수 있지만 Run 창은 구성할 수 없습니다.
    • 새로운 Android Emulator 기능이 다음과 같이 추가되었습니다.
      • Virtual SensorsCellular > Signal Strength 컨트롤이 새로 추가되었습니다.
      • Cellular > Network type 컨트롤에 LTE 옵션이 추가되었습니다.
      • 마우스 휠로 세로 메뉴를 스크롤하기 위한 시뮬레이션된 세로 스와이프가 추가되었습니다.
    • 새로운 실행/디버그 구성 기능이 다음과 같이 추가되었습니다.
      • 이제 Android App 및 Android Tests 템플릿의 Debugger 탭에 LLDB로 디버깅하기 위한 여러 가지 새로운 옵션이 포함되었습니다.
      • Android App 및 Android Tests 템플릿의 Profiling 탭에 GPU 추적을 활성화하기 위한 Capture GPU Commands 옵션이 포함되었습니다. GPU 디버거에 GPU 트레이스를 표시할 수 있습니다(베타 기능).
      • Android Tests 템플릿에 Deployment Target을 위한 Firebase Test Lab Device Matrix 옵션이 포함되었습니다.
      • Native Application 템플릿이 지원 중단되었습니다. 프로젝트에서 이 템플릿을 사용하면 Android 스튜디오가 Android App 템플릿으로 자동으로 변환합니다.
      • Android 애플리케이션 템플릿의 이름이 Android 앱으로 변경되었습니다.
    • GPU 디버거의 설치, 구성, 성능 및 UI 기능이 개선되었습니다(현재 베타 상태).
    • Android 스튜디오가 이제 OpenJDK 8과 함께 제공됩니다. 기존 프로젝트는 여전히 File > Project Structure > SDK Location에 지정된 JDK를 사용합니다. File > Project Structure > SDK Location을 클릭하고 Use embedded JDK 체크박스를 선택하여 새로운 번들 JDK를 사용하도록 전환할 수 있습니다.
    • UI에 새로운 도움말 메뉴 및 버튼이 추가되어 온라인 문서를 더 쉽게 찾을 수 있습니다.

    변경사항

    • IDE 코드베이스가 IntelliJ 15에서 IntelliJ 2016.1로 업데이트되었습니다.
    • 이제 Instant Run을 사용하려면 대상 기기 API 레벨에 상응하는 플랫폼 SDK가 설치되어 있어야 합니다.
    • 사용자가 직장 프로필에서 또는 보조 사용자로 앱을 실행하면 Instant Run이 자동으로 사용 중지됩니다.
    • 변경사항이 배포되지 않거나 앱이 비정상 종료되는 Instant Run의 여러 안정성 문제가 해결되었습니다.
      • 일부 앱 애셋이 실행 중인 앱에 배포되지 않았습니다. (버그: #213454)
      • Serializable 클래스에 정의된 serialVersionUID가 없으면 사용자가 Instant Run과 비 Instant Run 세션 간에 전환할 때 앱이 비정상 종료되었습니다. (버그: #209006)
      • 스타일 변경사항이 Instant Run에 반영되지 않았습니다. (버그: #210851)
      • Instant Run 세션이 불안정하고 FileNotFoundException을 유발했습니다. (버그: #213083)
      • KitKat에 전체 재구성이 실행될 때까지 드로어블 변경사항이 반영되지 않았습니다. (버그: #21530)
      • 맞춤 sourceSets에 중첩 경로가 포함되었을 때 리소스 변경사항이 Instant Run에 반영되지 않았습니다. (버그: #219145)
      • 변경된 클래스에 enum 값이 있는 주석이 포함되어 있을 때 핫 스왑과 웜 스왑이 작동하지 않았습니다. (버그: #209047)
      • 주석 데이터 변경사항이 Instant Run에 반영되지 않았습니다. (버그: #210089)
      • IDE 외부에서 변경 시 Instant Run이 코드 변경사항을 인식하지 못합니다. (버그: #213205)
      • 보안 토큰 불일치로 인해 Instant Run 세션이 불안정했습니다. (버그: #211989)
      • run-as를 올바르게 지원하지 않는 기기에서 콜드 스왑이 작동하지 않았습니다. (버그: #210875)
      • Instant Run을 다시 시작한 후 앱이 비정상 종료되었습니다. (버그: #219744)
      • Instant Run에서 Instant Debug로 전환하면 ClassNotFoundException이 발생했습니다. (버그: #215805)
    • 특히 대규모 프로젝트에서 IDE 내의 Gradle 동기화 성능이 향상되었습니다.
    • 새로운 앱 패키징 코드를 통해 전체 및 증분 빌드의 빌드 시간이 개선되었습니다.
    • 주석 프로세서 및 dexing in process 지원을 포함하여 Jack 컴파일러 성능 및 기능이 개선되었습니다. 자세히 알아보려면 Gradle용 Android 플러그인 2.2.0 출시 노트를 참조하세요.
    • AVD Manager에서 Scale AVD 속성이 삭제되었습니다.
    • 이제 Android Emulator -port-ports 명령줄 옵션에서 에뮬레이터 인스턴스가 사용 중인 포트와 일련번호를 보고하고 지정된 값에 문제가 있으면 경고를 표시합니다.
    • Create New Class 대화상자 및 상응하는 파일 템플릿이 개선되었습니다. 참고: 이전에 AnnotationType, Class, Enum, Interface 또는 Singleton 파일 템플릿을 맞춤설정했다면 새로운 템플릿에 맞춰 기존 템플릿을 수정해야 합니다. 수정하지 않으면 Create New Class 대화상자의 새 필드를 사용할 수 없습니다.
    • Vector Asset Studio 사용자 인터페이스가 개선되었으며 Adobe Photoshop Document(PSD) 파일 지원이 추가되었습니다.
    • Image Asset Studio 사용자 인터페이스가 개선되었습니다.
    • Theme Editor의 리소스 선택도구가 개선되었습니다.
    • Android 스튜디오의 메모리 누수 문제를 해결하고 전체 메모리 사용량을 줄였습니다.
    • SDK ManagerBackground 버튼이 추가되어 백그라운드에서 작업으로 돌아가고 패키지를 설치할 수 있습니다.
    • 스크린 리더 및 키보드 탐색 지원을 포함하여 접근성 기능이 개선되었습니다.
    • 향상된 코드 분석에 자바 8 언어 사용의 코드 품질 검사 및 더 많은 파일 간 분석이 포함되었습니다.
    • 여러 툴바 아이콘이 변경되었습니다.

    2.1(2016년 4월)

    이번 업데이트의 주요 변경사항으로 Android N Preview를 통한 개발을 지원합니다.

    2.1.3(2016년 8월)

    이 업데이트에는 Gradle 2.14.1과의 호환성이 추가되었으며 성능 개선, 새로운 기능, 중요한 보안 수정사항이 포함되어 있습니다. 자세한 내용은 Gradle 출시 노트를 참조하세요.

    기본적으로 Android 스튜디오 2.1.3의 프로젝트에서는 Gradle 2.14.1을 사용합니다. 기존 프로젝트의 경우 IDE에서 Gradle 2.14.1 및 Gradle용 Android 플러그인 2.1.3으로 업그레이드하라는 메시지를 표시하며, 이는 Gradle 2.14.1 이상을 사용할 때 필요합니다.

    2.1.2(2016년 6월)

    이 업데이트에는 다음과 같은 여러 소규모 변경사항 및 버그 수정이 포함되어 있습니다.

    • Instant Run 업데이트 및 버그 수정
    • LLDB 성능 및 비정상 종료 알림 개선
    • git rebase 오류를 일으키는 Android 스튜디오 2.1.1 보안 업데이트의 회귀 문제 수정

    2.1.1(2016년 5월)

    보안 버전 업데이트

    Android N 플랫폼에는 자바 8 언어 기능 지원이 추가되었으며 이 기능을 사용하려면 Jack이라는 새로운 실험용 컴파일러가 필요합니다. 현재는 Android 스튜디오 2.1에서만 최신 버전의 Jack이 지원됩니다. 따라서 자바 8 언어 기능을 사용하려면 Android 스튜디오 2.1을 사용하여 앱을 빌드해야 합니다.

    참고: 현재 호환성 문제로 인해 Jack 컴파일러를 사용 설정하면 Instant Run이 사용 중지됩니다.

    현재 Android 스튜디오 2.1이 안정적이지만 여전히 Jack 컴파일러가 실험 단계이므로 build.gradle 파일의 jackOptions 속성을 사용하여 Jack 컴파일러를 사용 설정해야 합니다.

    N Preview 지원 변경사항 외에도 Android 스튜디오 2.1에는 소규모 버그 수정 및 다음 개선사항이 포함되어 있습니다.

    • N 기기 또는 에뮬레이터를 사용하는 중에 Native 디버거 모드를 선택(실행/디버그 구성의 Debugger 탭에서)하면 자바 인식 C++ 디버거가 기본적으로 사용 설정됩니다.

    증분 자바 컴파일 및 dexing-in-process를 포함한 기타 빌드 개선사항을 이용하려면 Gradle용 Android 플러그인을 버전 2.1.0으로 업데이트하세요.

    2.0(2016년 4월)

    참고: N 개발자 프리뷰용으로 개발 중이라면 Android 스튜디오 2.1 미리보기를 사용해야 합니다. Android 스튜디오 2.0에서는 N Preview를 타겟팅하는 데 필요한 모든 기능을 지원하지 않습니다. 자세한 내용은 N Preview에 맞는 올바른 개발자 환경 설정 방법을 참조하세요.

    Instant Run:

    • Android 스튜디오에서는 이제 어느 때보다 빠르게 클린 빌드를 배포합니다. 또한 에뮬레이터나 실제 기기로 증분 코드 변경사항을 푸시하면 거의 즉시 반영됩니다. 새로운 디버그 빌드를 재배포하지 않고 또는 대부분의 상황에서 앱을 다시 시작하지 않고 업데이트를 검토할 수 있습니다.
    • Instant Run은 실행 중인 앱에 다음 변경사항을 푸시하도록 지원합니다.
      • 기존 인스턴스 메서드 또는 정적 메서드의 구현 변경사항
      • 기존 앱 리소스 변경사항
      • 메서드 서명 또는 정적 필드와 같은 구조적 코드 변경사항(API 수준 21 이상을 실행하는 대상 기기 필요)
    • 자세한 내용은 Instant Run 정보 문서를 참조하세요.

      참고: Instant Run은 디버그 빌드 변형을 배포하고 Gradle용 Android 플러그인 버전 2.0.0 이상을 사용하며 앱의 모듈 레벨 build.gradle 파일을 minSdkVersion 15 이상으로 구성한 때만 지원됩니다. 최상의 성능을 이용하려면 앱을 minSdkVersion 21 이상으로 구성해야 합니다.

    린트의 새로운 추가사항:

    • 모든 상수가 처리되도록 @IntDef 주석이 달린 정수를 사용하는 switch 구문을 검사합니다. 누락된 구문을 빠르게 추가하려면 의도 작업 드롭다운 메뉴를 사용하고 Add Missing @IntDef Constants를 선택합니다.
    • build.gradle 파일에 버전 번호를 삽입하기 위해 문자열 보간 유형을 사용하는 잘못된 시도에 플래그를 지정합니다.
    • Fragment 클래스를 확장하는 익명 클래스에 플래그를 지정합니다.
    • res/asset/ 폴더와 같이 안전하지 않은 위치의 네이티브 코드에 플래그를 지정합니다. 이 플래그는 libs/ 폴더에 네이티브 코드를 보관하도록 유도하며, 이렇게 하면 설치 시 애플리케이션의 data/app-lib/ 폴더로 안전하게 패키징됩니다. AOSP: #169950
    • Runtime.load()System.load()의 안전하지 않은 호출에 플래그를 지정합니다. AOSP: #179980
    • 메뉴 바에서 Refactor > Remove Unused Resources를 선택하여 사용하지 않는 리소스를 찾아 삭제합니다. 사용하지 않는 리소스 감지는 사용되지 않는 리소스에서 참조하는 리소스, .html 이미지 참조와 같은 원시 파일의 참조, Gradle 리소스 축소기에서 사용되는 tools:keeptools:discard 속성만 지원하며 비활성 소스 세트(예: 기타 빌드 버전에서 사용되는 리소스)를 고려하고 정적 필드 가져오기를 올바르게 처리합니다.
    • minSdkVersion에서 타겟팅하는 모든 플랫폼에서 암시적 API 참조가 지원되는지 확인합니다.
    • RecyclerViewParcelable의 부적절한 사용에 플래그를 지정합니다.
    • @IntDef, @IntRange@Size 검사에서는 이제 int 배열 및 varargs도 확인합니다.

    추가 개선사항:

    • 어느 때보다 빠르고, 광범위한 가상 기기를 지원하며 UI가 대폭 개선된 Android Emulator 2.0에 최적화되었습니다. 새로운 에뮬레이터에 관해 자세히 알아보려면 SDK 도구 출시 노트를 참조하세요.
    • Android Virtual Device Manager가 다음과 같이 개선되었습니다.
      • 이제 시스템 이미지가 Recommended, x86Other 탭으로 분류됩니다.
      • 고급 설정에서 멀티코어 지원을 사용 설정하고 에뮬레이터가 사용할 수 있는 코어 수를 지정할 수 있습니다.
      • 고급 설정에서 다음 옵션 중 하나를 선택하여 에뮬레이터에서 그래픽이 렌더링되는 방식을 결정할 수 있습니다.
        • Hardware: 컴퓨터 그래픽 카드를 사용하여 렌더링 속도를 높입니다.
        • Software: 소프트웨어 기반 렌더링을 사용합니다.
        • Auto: 에뮬레이터가 최적의 옵션을 선택하도록 합니다. 기본 설정입니다.
    • 앱이 빌드되기 전에 배포 타겟을 지정하여 AAPT 패키징 시간을 단축했습니다. 따라서 Android 스튜디오는 지정된 기기에 필요한 리소스만 효율적으로 패키징할 수 있습니다.
    • 클라우드 테스트 실험실 통합을 추가하여 클라우드 서비스의 편리함과 확장성을 갖춘 주문형 앱 테스트를 제공합니다. Android 스튜디오에서 클라우드 테스트 실험실을 사용하는 방법을 자세히 알아보세요.
    • 새로운 GPU 디버거의 미리보기가 추가되었습니다. 이제 그래픽 집약적인 애플리케이션을 위해 시각적으로 OpenGL ES 코드를 단계별로 점검하여 앱이나 게임을 최적화할 수 있습니다.
    • Google 앱 색인 생성 테스트가 추가되었습니다. 이에 따라 URL, 앱 색인 생성 및 검색 기능 지원을 앱에 추가하여 앱에 더 많은 트래픽을 유도하고 가장 많이 사용되는 앱 콘텐츠를 확인하고 신규 사용자를 확보할 수 있습니다. Android 스튜디오에서 앱의 URL을 모두 테스트하고 검사할 수 있습니다. Android 스튜디오에서 URL 및 앱 색인 생성 지원을 참조하세요.
    • 향상된 코드 분석과 성능을 포함하여 최신 IntelliJ 15 출시의 업그레이드가 적용되었습니다. 새로운 기능 및 개선사항에 관한 전체 설명은 IntelliJ의 새로운 기능을 참조하세요.
    • 이제 XML 편집기 자동 완성에서 속성을 완료할 때 따옴표를 추가합니다. 이 옵션이 사용 설정되어 있는지 확인하려면 Setting 또는 Preferences 대화상자를 열고 Editor > General > Smart Keys로 이동한 다음 Add quotes for attribute value on attribute completion 옆의 체크박스를 선택하세요. 문제: 195113
    • 이제 XML 편집기에서 데이터 결합 표현식을 위한 코드 완성을 지원합니다.

    이전 출시