Android 스튜디오 4.1(2020년 8월)

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

4.1.3(2021년 3월)

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

4.1.2(2021년 1월)

<p>
  This minor update includes various bug fixes.
  To see a list of notable bug fixes, read the related post on the
  <a href="https://androidstudio.googleblog.com/2021/01/android-studio-412-available.html">
    Release Updates blog</a>.
</p>
<p><b>4.1.1 (November 2020)</b></p>

<p>
  This minor update includes various bug fixes.
  To see a list of notable bug fixes, read the related post on the
  <a href="https://androidstudio.googleblog.com/2020/11/android-studio-411-available.html">
    Release Updates blog</a>.
</p>

새 Database Inspector

Database Inspector를 사용하여 실행 중인 앱의 데이터베이스를 검사하고 쿼리 및 수정합니다. 시작하려면 API 수준 26 이상을 실행하는 기기에 앱을 배포하고 메뉴 바에서 View > Tool Windows > Database Inspector를 선택합니다.

자세한 내용은 Database Inspector로 데이터베이스 디버그를 참고하세요.

Android 스튜디오에서 직접 Android Emulator 실행

이제 Android 스튜디오에서 직접 Android Emulator를 실행할 수 있습니다. 이 기능을 통해 화면 공간을 절약하고 핫키를 사용하여 에뮬레이터와 편집기 창 간에 빠르게 이동하며 단일 애플리케이션 창에서 IDE 및 에뮬레이터 워크플로를 구성합니다.

Android 스튜디오의 도구 창에서 실행되는 에뮬레이터

자세한 내용은 Android Emulator 문서를 참고하세요.

TensorFlow Lite 모델 사용

ML 모델 바인딩을 사용하면 간편하게 .tflite 모델 파일을 직접 가져와 프로젝트에서 사용할 수 있습니다. Android 스튜디오에서는 사용하기 쉬운 클래스가 생성되므로, 코드를 적게 사용하고 유형 안전성을 높여 모델을 실행할 수 있습니다.

지원되는 모델

현재 ML 모델 바인딩의 구현은 메타데이터로 향상되는 경우 이미지 분류 및 스타일 전송 모델을 지원합니다. 시간이 지남에 따라 객체 감지, 이미지 세분화, 텍스트 분류와 같은 다른 문제 영역으로 지원이 확장됩니다.

메타데이터가 있는 선행 학습된 다양한 모델이 TensorFlow Hub에 제공됩니다. Adding metadata to TensorFlow Lite model(TensorFlow Lite 모델에 메타데이터 추가)에서 설명한 대로 TensorFlow Lite 모델에 메타데이터를 직접 추가할 수도 있습니다.

모델 파일 가져오기

지원되는 모델 파일을 가져오려면 다음 단계를 따르세요.

  1. File 메뉴에서(File > New > Other > TensorFlow Lite Model) TensorFlow Lite 모델 가져오기 대화상자를 엽니다.
  2. 이전에 다운로드했거나 만든 .tflite 모델 파일을 선택합니다.
  3. Finish를 클릭합니다.

그러면 모델 파일을 프로젝트로 가져와 ml/ 폴더에 배치합니다. 디렉터리가 존재하지 않으면 Android 스튜디오에서 자동으로 디렉터리가 만들어집니다.

TensorFlow Lite 모델 가져오기

모델 메타데이터 및 사용법 보기

가져온 모델의 세부정보를 확인하고 앱에서 모델을 사용하는 방법에 관한 안내를 보려면 프로젝트에서 모델 파일을 더블클릭하여 다음을 보여주는 모델 뷰어 페이지를 엽니다.

  • Model: 모델에 관한 대략적인 설명
  • Tensors: 입력 및 출력 텐서에 관한 설명
  • Sample code: 앱에서 모델과 상호작용하는 방법의 예

다음은 mobilenet_v1_0.25_160_quantized.tflite를 사용하는 예입니다.

예에서 알 수 있듯이 Android 스튜디오는 모델과 상호작용하기 위한 MobilenetV1025160Quantized라는 클래스를 만듭니다.

모델에 메타데이터가 없는 경우 이 화면은 최소한의 정보만 제공합니다.

알려진 문제 및 해결 방법

  • 이미지 분류 및 스타일 전송 이외의 문제 영역과 관련한 TensorFlow Lite 모델은 현재 제한적으로 지원됩니다. 가져오기는 잘 작동하지만 일부 모델 입력 및/또는 출력은 친숙한 유형이 아닌 TensorBuffers로 표현됩니다. 메타데이터가 없는 모델의 경우 모든 모델 입력 및 출력은 TensorBuffers입니다.
  • 입력 데이터 유형과 출력 데이터 유형이 DataType.UINT8 또는 DataType.FLOAT32가 아닌 모델은 지원되지 않습니다.

이 기능은 아직 개발 중이므로 의견을 보내거나 버그를 신고해 주세요.

네이티브 메모리 프로파일러

이제 Android 스튜디오 메모리 프로파일러에 Android 10 이상을 실행하는 실제 기기에 배포된 앱의 네이티브 메모리 프로파일러가 포함됩니다. 네이티브 메모리 프로파일러를 사용하면 네이티브 코드에서 메모리 할당 및 할당 해제를 기록하고 네이티브 객체에 관한 누적 통계를 검사할 수 있습니다.

네이티브 메모리 프로파일러의 기록

네이티브 메모리 프로파일러에 관한 자세한 내용은 메모리 프로파일러로 앱의 메모리 사용량 검사를 참고하세요.

알려진 문제 및 해결 방법

Android 스튜디오 4.1의 네이티브 메모리 프로파일러는 Android 11 기기에서 작동하지 않습니다. Android 11 기기 프로파일링 지원은 현재 4.2 미리보기 출시에서 제공됩니다.

최초 4.1 버전부터 앱 시작 프로파일링이 사용 중지되었습니다. 이 옵션은 향후 출시에서 사용 설정될 예정입니다.

이 문제를 해결하려면 Perfetto 독립형 명령줄 프로파일러를 사용하여 시작 프로필을 캡처하면 됩니다.

시스템 트레이스 UI: 간편한 선택, 새로운 분석 탭, 추가 프레임 렌더링 데이터

Android 스튜디오 프로파일러의 시스템 트레이스 UI에는 다음 개선사항이 포함되어 있습니다.

  • 박스 선택: 이제 Threads 섹션에서 마우스를 드래그하여 직사각형 영역의 박스 선택을 할 수 있고 이 영역은 오른쪽 상단의 Zoom to Selection 프로파일러의 Zoom to Selection 버튼 버튼을 클릭하거나 M 단축키를 사용하여 확대할 수 있습니다. 유사한 스레드를 드래그 앤 드롭하여 나란히 두면 여러 스레드를 선택하여 한 번에 모두 검사할 수 있습니다. 예를 들어 여러 작업자 스레드에서 분석을 실행할 수 있습니다.

  • 요약 탭: Analysis 패널의 새로운 Summary 탭은 다음 항목을 표시합니다.

    • 일치하는 항목 수 및 최소/최대 지속 시간 등 모든 일치하는 특정 이벤트 항목의 집계 통계

    • 선택된 일치하는 항목의 트레이스 이벤트 통계

    • 스레드 상태 배포에 관한 데이터

    • 선택된 트레이스 이벤트의 가장 오래 실행되는 일치하는 항목

    다른 일치하는 항목으로 이동하려면 표에서 다른 행을 선택합니다.

  • 데이터 표시: Display 섹션에서 SurfaceFlingerVSYNC의 새로운 타임라인으로 앱 UI에서 렌더링 문제를 조사할 수 있습니다.

시스템 트레이스를 기록하는 방법에 관한 기본 사용법 안내는 CPU 프로파일러로 CPU 활동 검사트레이스 기록 섹션을 참고하세요.

독립형 프로파일러 사용 가능

새 독립형 프로파일러를 사용하면 이제 전체 Android 스튜디오 IDE를 실행하지 않아도 앱을 프로파일링할 수 있습니다.

독립형 프로파일러 사용에 관한 안내는 독립형 프로파일러 실행을 참고하세요.

Dagger 이동 지원

Dagger 소비자 및 제공업체로 이동하는 IDE 거터 작업

Android 스튜디오를 사용하면 새 거터 작업을 제공하고 Find Usages 창에서 지원을 확장하여 Dagger 관련 코드 간에 더 쉽게 이동할 수 있습니다.

  • 새 거터 작업: Dagger를 사용하는 프로젝트의 경우 IDE에서 Dagger 주석이 달린 코드 간에 이동하는 데 도움이 되는 거터 작업을 제공합니다. 예를 들어 특정 유형을 사용하는 메서드 옆의 거터 작업을 클릭하면 이 유형의 제공업체로 이동합니다. 반대로 거터 작업을 클릭하면 유형이 종속 항목으로 사용되는 위치로 이동합니다.

  • 사용법 찾기 노드: 특정 유형의 제공업체에서 Find Usages를 호출하면 이제 Find 창에 그 유형의 소비자를 나열하는 Dependency consumer(s) 노드가 포함됩니다. 반대로 Dagger 삽입 종속 항목의 소비자에서 이 작업을 호출하면 Find 창에 종속 항목의 제공업체가 표시됩니다.

Material Design 구성요소: 새 프로젝트 템플릿의 업데이트된 테마 및 스타일

애니메이션: 새 Material Design 속성으로 Android 스튜디오에서 프로젝트 만들기

이제 Create New Project 대화상자의 Android 스튜디오 템플릿에서 Material Design 구성요소(MDC)를 사용하며 업데이트된 테마 및 스타일 안내를 기본적으로 따릅니다. 업데이트 항목:

  • MDC: 프로젝트는 build.gradlecom.google.android.material:material에 종속됩니다. 기본 앱 테마는 Theme.MaterialComponents.* 상위 요소를 사용하고 업데이트된 MDC 색상과 'on' 속성을 재정의합니다.

  • 색상 리소스: colors.xml의 색상 리소스는 리터럴 이름을 사용합니다(예: colorPrimary가 아닌 purple_500).

  • 테마 리소스: 테마 리소스는 styles.xml이 아닌 themes.xml에 있으며 Theme.<var><var> 이름을 사용합니다.

  • 어두운 테마: 기본 애플리케이션 테마는 DayNight 상위 요소를 사용하고 res/valuesres/values-night 간에 분할됩니다.

  • 테마 속성: 색상 리소스는 하드 코딩 색상을 피하기 위해 레이아웃과 스타일에서 테마 속성(예: ?attr/colorPrimary)으로 참조됩니다.

IntelliJ IDEA 2020.1

핵심 Android 스튜디오 IDE가 2020.1 출시를 통해 IntelliJ IDEA 개선사항과 함께 업데이트되었습니다. 여기에는 버전 제어 작업을 사용 설정하는 새 Commit 창과 View > Appearance > Enter Distraction Free Mode를 선택하여 전환할 수 있는 새 Zen 모드가 포함됩니다.

버전 2020.1의 개선사항에 관한 자세한 내용은 IDEA 2020.1을 참고하세요.

IDE 구성 디렉터리 변경사항

사용자 구성 디렉터리의 위치가 다음과 같이 변경되었습니다.

Windows

문법: %APPDATA%\Google&lt;product><version>

예: C:\Users\YourUserName\AppData\Roaming\Google\AndroidStudio4.1

macOS

문법: ~/Library/Application Support/Google/<product><version>

예: ~/Library/Application Support/Google/AndroidStudio4.1

Linux

문법: ~/.config/Google/<product><version>

예: ~/.config/Google/AndroidStudio4.1

이러한 새 디렉터리 위치는 Android 스튜디오가 기반하는 IDE인 IntelliJ IDEA의 최근 업데이트와 일치합니다.

업그레이드 후 스튜디오가 다시 시작되지 않는 경우 이전 스튜디오 버전에서 구성 디렉터리를 삭제해야 할 수 있습니다. 자세한 내용은 알려진 문제 페이지를 참고하세요.

Kotlin 1.3.72

Android 스튜디오 4.1에는 Kotlin 강조표시, 검사, 코드 완성을 개선하는 여러 수정사항이 포함되어 있는 Kotlin 1.3.72가 번들로 제공됩니다. 자세한 내용은 1.3.72 Kotlin 변경 로그를 참고하세요.

맞춤 뷰 미리보기

맞춤 뷰를 만들 때(예: View 또는 Button 클래스 확장) 이제 Android 스튜디오에 맞춤 뷰 미리보기가 표시됩니다. 툴바의 드롭다운 메뉴를 사용하여 여러 맞춤 뷰 간에 전환하거나 버튼을 클릭하여 콘텐츠에 세로로 또는 가로로 래핑합니다.

IDE에서 맞춤 뷰 미리보기

참고: 미리보기에 변경사항이 표시되지 않으면 메뉴 바에서 Build > Make Project를 선택합니다.

네이티브 비정상 종료 보고서 기호화

네이티브 코드에서 비정상 종료나 ANR이 발생하면 시스템은 스택 트레이스를 생성하는데 이 스택 트레이스는 비정상 종료가 발생한 시점까지 프로그램에서 호출된 일련의 중첩 함수를 스냅샷으로 보여줍니다. 이러한 스냅샷은 소스의 문제를 식별하고 수정하는 데 도움이 될 수 있지만 먼저 기호화하여 머신 주소를 다시 사람이 읽을 수 있는 함수 이름으로 변환해야 합니다.

C++와 같은 네이티브 코드를 사용하여 앱이나 게임을 개발하는 경우 이제 각 앱 버전의 디버그 기호 파일을 Play Console에 업로드할 수 있습니다. Play Console에서는 이러한 디버그 기호 파일을 사용하여 앱의 스택 트레이스를 기호화하므로 비정상 종료와 ANR을 쉽게 분석할 수 있습니다. 디버그 기호 파일을 업로드하는 방법을 알아보려면 네이티브 충돌 지원을 참고하세요.

Apply Changes

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

빠른 배포 속도

애플리케이션을 설치하지 않고 기기에 변경사항을 배포하고 유지하는 방법을 개발하여 반복 속도를 최적화하는 데 집중적으로 투자했습니다. 초기 배포 후 Apply Code Changes Apply Code Changes 아이콘 또는 Apply Changes and Restart Activity Apply Changes and Restart Activity 아이콘를 사용하여 Android 11 기기에 후속 배포하는 속도가 이제 훨씬 빨라졌습니다.

이 두 작업의 차이점에 관해 자세히 알아보려면 Apply Changes를 참고하세요.

추가 코드 변경사항 지원

Android 11 개발자 프리뷰 3 이상을 실행하는 기기에서는 이제 메서드를 추가하고 Apply Code Changes Apply Code Changes 아이콘Apply Changes and Restart Activity Apply Changes and Restart Activity 아이콘를 클릭하여 이러한 변경사항을 실행 중인 앱에 배포할 수 있습니다.