Android 스튜디오 4.2(2021년 4월)

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

4.2.2(2021년 6월)

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

4.2.1(2021년 5월)

이번 소규모 업데이트는 Kotlin 플러그인 1.5.0을 번들로 제공하며 다양한 버그 수정을 포함합니다. 중요한 버그 수정 목록을 보려면 업데이트 출시 블로그에서 관련 게시물을 읽어보세요.

Android Gradle 플러그인 4.2.0

최신 버전의 Android Gradle 플러그인에는 많은 업데이트가 포함되어 있습니다. 자세한 내용은 전체 Android Gradle 플러그인 출시 노트를 참고하세요.

Gradle 호환성 및 구성 변경사항

Android 스튜디오에서 실행될 때 Gradle 빌드 도구는 스튜디오의 번들 JDK를 사용합니다. 이전 출시에서는 JDK 8이 스튜디오와 함께 번들로 제공되었습니다. 그러나 4.2에서는 이제 JDK 11이 대신 번들로 제공됩니다. 새 번들 JDK를 사용하여 Gradle을 실행하면 비호환성이 발생하거나 가비지 컬렉터의 변경사항으로 인해 JVM 성능에 영향을 미칠 수 있습니다. 이러한 문제는 AGP 출시 노트에 설명되어 있습니다.

Gradle 동기화 시간 최적화 옵션

Gradle 동기화 성능을 향상하기 위해 Android 스튜디오는 동기화 중에 작업 목록 빌드를 건너뜁니다. 이렇게 하면 대규모 프로젝트에서 Gradle 동기화를 더 빠르게 완료하고 UI 응답을 향상할 수 있습니다. 이 옵션은 Android 스튜디오 4.2에서 기본적으로 사용 설정되어 있습니다. 이 기능을 사용 중지하려면 File > Settings > Experimental(Mac의 경우 Preferences > Experimental)로 이동하여 Do not build Gradle task list during Gradle sync를 선택 해제하세요.

Database Inspector

쿼리 편집기 개선사항

Database Inspector에는 맞춤 SQL 문을 작성하고 실행하는 데 도움이 되는 개선사항이 포함되어 있습니다. Database Inspector를 열고 New query 탭을 열면 아래와 같이 크기 조절이 가능한 큰 편집기 노출 영역이 나타나며 여기서 쿼리를 작성하고 형식을 지정합니다.

DB Inspector 편집기

또한 Google에서는 이제 이전 쿼리 기록을 제공합니다. Show query history Show query history 버튼{: .inline-icon} 버튼을 클릭하면 현재 선택한 데이터베이스에 관해 이전에 실행한 쿼리 목록이 표시됩니다. 목록에서 쿼리를 클릭하여 편집기에서 전체 쿼리 미리보기를 확인하고 Enter 키를 눌러 편집기에 복사합니다. 그런 다음 Run을 클릭하여 문을 실행합니다.

쿼리 편집기에서 명령어 실행

오프라인 모드

이전 버전의 Android 스튜디오에서는 Database Inspector를 사용하는 동안 앱 프로세스에서 연결을 해제하면 검사기 및 데이터가 닫혔습니다. Android 스튜디오 4.2에서는 프로세스 연결이 해제된 후에도 앱의 데이터베이스를 계속 검사하는 기능을 추가하여 비정상 종료 후 앱을 더 쉽게 디버그할 수 있습니다.

연결이 해제되면 Database Inspector가 데이터베이스를 다운로드하여 오프라인 모드로 데이터베이스를 사용할 수 있게 만듭니다. 오프라인 상태에서 테이블을 열고 쿼리를 실행할 수 있습니다.

실시간 앱 프로세스에 다시 연결하면 Database Inspector가 라이브 모드로 되돌아가고 기기에 있는 데이터만 표시됩니다. 즉, 오프라인 모드에서 표시된 데이터는 앱 프로세스에 다시 연결해도 지속되지 않습니다. 이 때문에 Database Inspector에서 오프라인 모드로 수정 문을 수정하거나 실행할 수 없습니다.

AGP용 업그레이드 어시스턴트

새로운 Android Gradle 플러그인용 업그레이드 어시스턴트를 사용하면 프로젝트의 AGP 버전을 업데이트할 수 있습니다.

Android Gradle 플러그인 업그레이드 어시스턴트 대화상자

기존의 AGP 업그레이드 기능을 기반으로 빌드된 이 도구는 프로젝트 전체의 업데이트/리팩터링을 안내하고 AGP 업그레이드를 실행하기 전의 잠재적인 브레이킹 체인지를 방지하기 위해 업데이트 미리보기를 포함합니다.

업그레이드 어시스턴트에서 처리될 변경사항 미리보기

시스템 트레이스: 메모리 및 그래픽의 측정항목 개선

CPU 프로파일러에서 시스템 트레이스 기능에 이제 앱 성능을 분석하는 새 측정항목과 함께 다음 항목도 포함됩니다.

  • 이벤트 테이블. 현재 선택된 스레드의 모든 트레이스 이벤트가 나열됩니다.

  • BufferQueue. 디스플레이 섹션에서 이 새 트랙에는 앱의 노출 영역 BufferQueue의 버퍼 수(0이나 1, 2)가 표시되므로 이미지 버퍼가 Android 그래픽 구성요소 간에 이동할 때 이미지 버퍼의 상태를 파악할 수 있습니다.

    시스템 트레이스 버퍼 큐

  • CPU 주파수. CPU 코어 섹션에서 이 새 트랙에는 코어별 CPU 주파수가 표시되어 각 코어의 작동 강도를 나타냅니다.

    시스템 트레이스 CPU 주파수

  • Process Memory(RSS). 이 새 창에는 앱에서 현재 사용 중인 실제 메모리의 양이 표시됩니다.

    시스템 트레이스 Process Memory(RSS)

자세한 내용은 CPU 프로파일러로 CPU 활동 검사를 참고하세요.

새로운 Layout Inspector 새로고침 작업

Android 스튜디오 4.0에 도입된 Layout Inspector는 실행 중인 앱의 UI 스택을 실시간으로 검사하도록 설계되었습니다. 그러나 특정 시점에 앱 레이아웃의 스냅샷을 검사하거나 앱의 실시간 업데이트가 미치는 성능 영향을 최소화해야 할 수도 있으므로 Layout Inspector가 앱에서 발생하는 상황을 즉시 반영할 필요가 없을 수 있습니다.

앱에서 UI 데이터의 스냅샷을 수동으로 로드하려면 먼저 Live updates 옵션을 사용 중지합니다. 그런 다음 Refresh {:.inline-icon} 버튼을 클릭하여 검사할 UI 스택의 새 스냅샷을 만들 수 있습니다. Layout Inspector는 이제 세션 간에 Live updates를 사용 설정된 상태나 사용 중지된 상태로 유지하려는 선택을 기억합니다.

Safe Args 지원

Safe Args는 유형 안전성을 갖춰 관련 인수를 탐색하고 액세스하기 위한 간단한 객체 및 빌더 클래스를 생성하는 Gradle 플러그인입니다. 이제 Android 스튜디오에는 Safe Args를 사용할 때 다음과 같이 더 풍부한 지원이 포함됩니다.

  • Directions, Args 및 다양한 빌더 클래스의 자동 완성
  • 자바 및 Kotlin Safe Args 플러그인 지원
  • 소스에서 XML로 이동

이제 명령줄 도구에서 R8 retrace 사용 가능

명령줄 도구 버전 4.0에서 사용할 수 있는 R8 retrace는 난독화된 스택 트레이스에서 원래 스택 트레이스를 가져오는 독립형 도구입니다.

android_sdk/cmdline-tools에 R8 retrace를 설치하는 SDK Manager를 사용하여 이 패키지를 다운로드할 수 있습니다. 또는 독립형 명령줄 도구 패키지를 다운로드할 수 있습니다.

사용 정보는 사용자 가이드의 R8 retrace를 참고하세요.

여러 기기에 배포

여러 기기 및 API 수준에서 앱 테스트를 간소화하기 위해 이제 다음 단계를 따라 여러 기기 또는 에뮬레이터에 앱을 동시 배포할 수 있습니다.

  1. 대상 기기 드롭다운 메뉴(IDE 상단 중앙)에서 Select Multiple Devices를 선택합니다.

    대상 기기 드롭다운 메뉴

  2. 대상 기기를 선택하고 OK를 클릭합니다.

    기기 세트 수정 대화상자

  3. 앱을 실행합니다.

기능 모듈의 새로운 removable 설정

Android Gradle 플러그인 4.2는 bundletool 1.0.0을 사용하여 기능 모듈을 활용하는 앱의 동작 변경을 도입합니다. 즉, 명시적으로 dist:removable로 표시되지 않은 dist:install-time으로 지정된 기능 모듈은 기본적으로 삭제가 불가능합니다. 이 새로운 설정은 설치 시 모듈과 기본 모듈의 융합을 최적화하여 일부 앱의 앱 성능을 개선할 수 있습니다.

기능 모듈을 삭제 가능한 상태로 유지하려면 제거하려는 모듈에서 dist:removable="true"를 설정합니다.

이 새로운 설정에 관한 자세한 내용은 기능 모듈 매니페스트 문서에서 dist:removable 태그에 관한 문서를 참고하세요.

Apply Changes

앱에서 반복할 때 생산성을 높일 수 있도록 Android 11 이상을 실행하는 기기의 Apply Changes를 다음과 같이 개선했습니다.

추가 코드 변경사항 지원

Android 11 이상을 실행하는 기기의 경우 이제 정적 최종 기본 필드를 추가한 후 Apply Code Changes Apply Code Changes 아이콘 또는 Apply Changes and Restart Activity Apply Changes and Restart Activity 아이콘를 클릭하여 변경사항을 실행 중인 앱에 배포할 수 있습니다.

이제 리소스를 추가하고 Apply Changes and Restart Activity Apply Changes and Restart Activity 아이콘를 클릭하여 Android 11 기기에서 실행 중인 앱에 변경사항을 배포할 수도 있습니다.

업데이트된 새 프로젝트 및 새 모듈 마법사

New ProjectNew Module 마법사가 업데이트되어 더 쉽게 탐색하고 템플릿을 선택하며 새 프로젝트나 모듈에 관한 정보를 입력할 수 있습니다.

New Module 마법사에서 Import .JAR/.AAR Package 옵션도 삭제되었습니다. JAR이나 AAR을 프로젝트로 가져오려면 대신 Project Structure 대화상자를 사용하세요.

Kotlin 1.4.31

Android 스튜디오 4.2에는 Kotlin 1.4.31이 번들로 제공됩니다. Kotlin 1.4.0 변경 로그를 확인하여 주요 변경사항을 검토하세요.

ANDROID_SDK_HOME 환경 변수 지원 중단됨

ANDROID_SDK_HOME 환경 변수가 지원 중단되고 ANDROID_PREFS_ROOT로 대체되었습니다. 자세한 내용은 에뮬레이터 환경 변수를 참고하세요.

Android 스튜디오 4.2의 알려진 문제

이 섹션에서는 Android 스튜디오 4.2에 있는 알려진 문제를 설명합니다. 전체 목록은 알려진 문제 페이지로 이동하세요.

Android 스튜디오 4.2.0에서 잘못된 Kotlin 버전('1.5.0-release-764')의 프로젝트 생성

Android 스튜디오 4.2.0을 사용하고 있고 Kotlin 플러그인 1.5.0으로 업그레이드했다면 스튜디오에서 생성한 새 Kotlin 프로젝트는 다음과 같은 Gradle 동기화 오류로 인해 빌드되지 않습니다.

Could not find org.jetbrains.kotlin:kotlin-gradle-plugin:1.5.0-release-764.

이 문제를 해결하려면 프로젝트의 build.gradle 파일에서 1.5.0-release-7641.5.0으로 바꿉니다.

키와 키 저장소에 다른 비밀번호를 사용할 때 발생하는 오류

버전 4.2부터는 이제 Android 스튜디오가 JDK 11에서 실행됩니다. 이 업데이트로 인해 서명 키와 관련된 기본 동작이 변경됩니다.

Build > Generate Signed Bundle / APK로 이동하여 App Bundle이나 APK의 앱 서명을 구성하려고 할 때 키와 키 저장소에 다른 비밀번호를 입력하면 다음 오류가 발생할 수 있습니다.

Key was created with errors:
Warning: Different store and Key passwords not supported for PKCS12 Key stores

이 문제를 해결하려면 키와 키 저장소에 모두 같은 비밀번호를 입력하세요.

4.2 버전을 설치한 후 Android 스튜디오가 시작되지 않음

스튜디오는 이전 .vmoptions를 가져와 JDK 11에서 사용하는 가비지 컬렉터와 함께 작동하도록 정리하려고 합니다. 이 프로세스가 실패하면 .vmoptions 파일에서 맞춤 VM 옵션을 설정한 특정 사용자에게 IDE가 시작되지 않을 수 있습니다.

이 문제를 해결하려면 .vmoptions에서 맞춤 옵션을 주석 처리하는 것이 좋습니다(# 문자 사용). .vmoptions 파일은 다음 위치에서 찾을 수 있습니다.

Windows

C:\Users\YourUserName\AppData\<var>[Local|Roaming]</var>\Google\AndroidStudio4.2\studio64.exe.vmoptions

macOS

~/Library/Application Support/Google/AndroidStudio4.2/studio.vmoptions

Linux

~/.config/Google/AndroidStudio4.2/studio64.vmoptions

이 해결 방법을 시도한 후에도 스튜디오가 시작되지 않으면 아래에서 업그레이드 후 스튜디오가 시작되지 않음을 참고하세요.