다음은 Android 스튜디오 Flamingo의 새로운 기능입니다.
패치 출시
다음은 Android 스튜디오 Flamingo 패치 출시 목록입니다.
Android 스튜디오 Flamingo | 2022.2.1 패치 2(2023년 5월)
이번 소규모 업데이트는 이러한 버그 수정을 포함합니다.
Android 스튜디오 Flamingo | 2022.2.1 패치 1(2023년 5월)
이번 소규모 업데이트는 이러한 Android Gradle 플러그인 버그 수정을 포함합니다.
테마 앱 아이콘 및 동적 색상
Material 3의 동적 색상과 Android 13의 테마 앱 아이콘이 도입됨에 따라 이제 사용자가 선택한 배경화면의 색상을 상속하도록 색조가 조정된 레이아웃 또는 런처 아이콘을 만들 수 있습니다. 이 기능은 Android 스튜디오 Flamingo 베타 1부터 사용할 수 있습니다.
테마 앱 아이콘 미리보기 지원
launcher.xml
파일의 경우, 이제 툴바의 새로운 시스템 UI 모드 선택기로 배경화면을 전환하여 사용자가 선택한 여러 배경화면에 따라 테마 앱 아이콘이 어떻게 달라지는지 볼 수 있습니다.
동적 색상 미리보기
Compose 미리보기: 컴포저블 미리보기 주석에 새 속성 wallpaper
가 추가되었습니다. 앱에서 동적 색상을 사용 설정한 경우 이 새로운 속성으로 배경화면을 전환하여 사용자가 선택한 여러 배경화면에 따라 UI가 어떻게 달라지는지 볼 수 있습니다. 이 기능을 사용하려면 Compose 1.4.0-alpha03 및 이후 버전을 사용해야 합니다.
Android XML: 앱에서 동적 색상을 사용 설정한 경우 이제 툴바의 새로운 시스템 UI 모드 선택기로 배경화면을 전환하여 사용자가 선택한 여러 배경화면에 따라 레이아웃이 어떻게 달라지는지 볼 수 있습니다. 먼저 테마를 Material 동적 색상 테마로 변경한 후에 배경화면을 변경해야 합니다.
실시간 편집 업데이트
이제 실시간 편집에 수동과 자동의 두 가지 모드가 있습니다. 수동 모드에서는 Ctrl
+ S
(macOS의 경우 Command
+S
)를 사용하여 수동으로 저장할 때마다 코드 변경사항이 적용됩니다. 자동 모드에서는 구성 가능한 함수를 업데이트하면 내용을 변경할 때 변경사항이 기기 또는 에뮬레이터에 적용됩니다. 실시간 편집을 실행할 모드를 선택하려면 메뉴 바에서 File > Settings(macOS에서는 Android Studio > Preferences)로 이동하고 Editor > Live Edit을 클릭한 다음 Push Edits Manually 또는 Push Edits Automatically 체크박스를 선택합니다.
Compose 추적
시스템 추적 유틸리티는 기기 활동을 트레이스 파일에 저장하여 일정 기간 동안 앱의 시스템 프로세스에 관한 전반적인 상황을 제공하는 Android 도구입니다. Android 스튜디오 Flamingo부터는 Compose 추적을 사용하여 시스템 추적 프로파일러에서 Compose 함수를 볼 수 있습니다. Compose 추적은 시스템 추적의 낮은 오버헤드와 메서드 트레이스 수준의 컴포지션 세부 정보라는 두 가지 이점을 바탕으로 어느 Compose 함수가 재구성되고 있는지 알려 줍니다.
재구성 추적을 시작하려면 다음 버전 이상으로 업데이트해야 합니다.
- Android 스튜디오 Flamingo Canary 5
- Compose UI: 1.3.0-beta01
- Compose Compiler: 1.3.0
- 추적을 실행하는 기기 또는 에뮬레이터도 API 수준 30 및 이후 버전이어야 합니다.
또한 Compose 런타임 추적에 다음 종속 항목을 추가해야 합니다.
implementation("androidx.compose.runtime:runtime-tracing:1.0.0-alpha01")
재구성 트레이스를 보려면 Android 스튜디오 프로파일러를 열고 CPU 프로파일러를 선택합니다. 앱에서 트레이스하려는 UI로 이동한 다음 System Trace를 선택하고 Record를 선택합니다. 녹화 중에는 앱을 사용하여 재구성을 유발합니다. 기록 및 트레이스 프로세스를 중지하면 Threads 타임라인에서 재구성 트레이스의 Compose 함수를 볼 수 있습니다. Analysis 창의 Flame Chart, Top Down, Bottom Up, Events 탭에서도 Compose 함수를 볼 수 있습니다.
현재 개발 중인 실험용 기능이므로 의견을 제공해 주세요. 자세한 내용은 Compose 추적을 참고하세요.
프로젝트 템플릿 업데이트
Android 스튜디오 Flamingo Canary 6에는 프로젝트 또는 모듈을 만들기 위한 새로운 템플릿이 추가되었습니다. 템플릿은 뷰 템플릿으로 지정되지 않는 한 기본적으로 Compose Material 3을 사용합니다. Android 앱을 만들 때는 Compose Material 3 템플릿(예: Empty Activity)을 사용하는 것이 좋습니다. 자세한 내용은 Compose Material 3 참조를 참고하세요.
템플릿을 보려면 기본 메뉴에서 File > New > New Project 또는 New Module을 선택하여 New Project 또는 Create New Module을 엽니다.
기기 미러링
기기 디스플레이를 Android 스튜디오에 직접 스트리밍하여 개발할 때 중단 수를 최소화합니다. 기기 미러링을 사용하면 스튜디오에서 Running Devices 창을 사용하여 실제 기기와 상호작용할 수 있습니다. 이 기능을 사용 설정하려면 File > Settings > Tools > Device Mirroring으로 이동하여 Enable mirroring of physical Android devices 옆의 체크박스를 선택합니다. 사용 설정되면 기기를 연결하고 앱을 배포하거나 Running Devices 창을 열어 기기 디스플레이를 스트리밍하고 IDE에서 상호작용합니다.
시작하려면 기기에 연결되어 있는지 확인하세요. 연결된 모든 기기는 View > Tool Windows > Running Devices로 이동하여 열 수 있는 Running Devices 창의 탭에 미러링됩니다. 연결된 기기에 앱 또는 테스트를 배포하면 Running Devices 창이 자동으로 나타나고 미러링된 기기가 표시됩니다.
개인정보처리방침
기기 미러링이 사용 설정되면 Android 스튜디오는 연결되고 페어링된 모든 기기의 기기 미러링을 자동으로 시작합니다. 따라서 adb tcpip
명령어로 연결된 기기의 정보가 공개될 수 있습니다. 미러링 정보와 명령어가 암호화되지 않은 채널을 통해 전달되기 때문입니다. 또한 Android 스튜디오는 암호화되지 않은 채널을 사용하여 adb 서버와 통신하므로 미러링 정보를 호스트 머신의 다른 사용자가 가로챌 수 있습니다.
Network Inspector 트래픽 가로채기
Android 스튜디오 Flamingo Canary 1부터 Network Inspector에 전체 타임라인의 모든 트래픽 데이터가 기본적으로 표시됩니다. 타임라인 내에서 특정 범위를 선택하여 해당 범위의 트래픽만 볼 수 있습니다.
상태 코드, 응답 헤더, 본문과 같은 여러 응답이 발생했을 때 앱이 어떻게 동작하는지 테스트하는 데 도움이 되는 규칙을 만들고 관리할 수도 있습니다. 규칙은 어느 항목이 가로채기에 응답하는지와 가로채기가 앱에 도달하기 전에 이러한 응답을 수정하는 방법을 정합니다. 각 규칙 옆의 Active 체크박스를 선택하여 사용 설정하거나 중지할 규칙을 선택할 수 있습니다. 규칙은 수정할 때마다 자동으로 저장됩니다.
시작하려면 Network Inspector의 Rules 탭으로 이동하고 +를 클릭하여 새 규칙을 만듭니다. Rule Details 창에서 새 규칙의 이름을 지정하고 가로채려는 응답의 출처에 관한 정보를 Origin 하위 섹션에 포함합니다. Rules 테이블의 URL은 응답의 출처에 적용되는 변경사항에 따라 업데이트됩니다. 이 하위 섹션의 모든 필드는 선택사항입니다.
Response 하위 섹션에서 응답이 앱으로 전송되기 전에 수정할 수 있습니다. 예를 들어 특정 상태 코드를 갖는 응답에서 실행되도록 규칙을 설정하고 해당 상태 코드를 수정할 수 있습니다.
헤더 수정
Header Rule 하위 섹션에서 응답에 헤더를 추가하거나 수정하는 여러 하위 규칙을 만들 수 있습니다. 헤더 규칙을 여러 개 만드는 경우 Rules 테이블 상단의 위쪽 및 아래쪽 화살표 를 사용하여 헤더 규칙의 순서를 변경하세요. 헤더 규칙은 나열된 순서대로 적용되므로 이 순서는 수정된 응답의 헤더에 영향을 미칩니다.
시작하려면 Header Rule 섹션에서 +를 클릭합니다.
헤더를 추가하려면 Add new header 섹션에 헤더의 이름과 값을 입력합니다.
헤더를 수정하려면 Edit existing header 탭으로 이동하여 찾을 헤더 이름 또는 값을 지정합니다. 대체하려는 헤더 이름 또는 값을 입력합니다.
응답 본문 수정
응답 본문을 수정하는 하위 규칙을 만들 수도 있습니다. 본문에서 첫 번째 인스턴스가 바뀌도록 본문의 특정 섹션을 찾아서 바꾸거나 Replace entire body를 선택하여 본문의 전체 콘텐츠를 바꿀 수 있습니다.
헤더 규칙과 마찬가지로, 표에 나열된 순서대로 적용되는 본문 규칙을 여러 개 만들 수 있습니다.
Layout Inspector에서 포그라운드 프로세스에 자동 연결
Layout Inspector는 이제 가상 기기 또는 실제 기기의 앱에 자동으로 연결됩니다. 구체적으로, Layout Inspector는 연결된 기기의 포그라운드에서 실행되는 디버그 가능한 프로세스에 자동으로 연결됩니다. 이 기능에 관한 의견이 있으면 버그를 신고해 주세요.
앱 품질 통계 업데이트
Android 스튜디오 Flamingo Canary 5 및 이후 버전에는 우선순위가 높은 문제에 집중하고 개발팀과 공동작업하는 데 도움이 되는 여러 새로운 앱 품질 통계 기능이 도입되었습니다.
새로운 필터 및 필터 검색
가장 중요한 문제를 식별할 수 있도록, 이제 다음 속성을 기준으로 필터링할 수 있습니다. 각 필터는 이벤트 수를 기준으로 정렬되므로 많은 이벤트가 발생한 위치를 확인할 수 있습니다.
- Android 플랫폼 버전
- 기기 제조업체 및 모델
Crashlytics 신호: Issues 패널의 관련 문제 옆에 신호 아이콘이 표시되므로 개수와 신호를 나란히 확인할 수 있습니다. 전에 종료된 문제가 앱의 새 버전에서 다시 발생하면 회귀된 것으로 간주됩니다.
앱 버전: 이 필터에는 이제 프로덕션, 공개, 비공개 또는 내부 테스트 트랙에서 버전을 자동으로 선택하는 데 사용할 수 있는 상위 수준의 Play 트랙 필터가 포함되어 있습니다. 트랙
또한 이제 여러 옵션이 있는 필터를 검색할 수 있으므로 모든 메뉴 옵션을 스크롤하지 않고도 뷰를 더 빠르게 맞춤설정할 수 있습니다.
Android 스튜디오에서 직접 문제를 주석 처리하고 종료
팀원들과 더욱 쉽게 공동작업할 수 있도록 이제 App Quality Insights 도구 창에서 직접 다음 작업을 할 수 있습니다.
문제를 종료합니다. 문제를 종료하려면 기본 스택 트레이스 패널에서 Close 버튼을 클릭합니다. 최근에 종료한 문제는 Issues 패널에 취소선이 그어진 상태로 표시됩니다. 버튼을 다시 클릭하면 최근에 종료된 문제를 다시 열 수 있습니다. 하지만 App Quality Insights 도구 창을 새로고침하면 종료된 문제가 더 이상 표시되지 않습니다.
Firebase Console에 표시되고 팀원들이 확인할 수 있도록 메모를 읽고 문제에 첨부합니다. 문제에 관한 메모를 작성하려면 문제를 선택하고 Notes 패널을 엽니다. 메모를 작성하려면 Crashlytics 프로젝트에 쓰기 권한이 있어야 합니다. 메모가 있는 문제는 Issues 패널에 '메모' 아이콘 과 함께 표시됩니다.
앱 품질 통계를 사용하는 것이 처음이어서 자세히 알아보고 싶다면 이전 출시 노트를 참고하세요.
오프라인에서 제한된 기능을 사용하여 조사
Android 스튜디오 Flamingo Canary 8부터는 오프라인 상태에서 App Quality Insights 도구 창에서 일부 작업을 실행할 수 있습니다. 예를 들어 Refresh를 클릭하여 새로 요청했는데 Android 스튜디오가 Crashlytics와 통신할 수 없는 경우 App Quality Insights 창에서 오프라인 모드로 진입할 수 있습니다.
이 모드에서는 캐시된 데이터의 문제 및 최근 이벤트를 계속 조사할 수 있습니다. 일부 필터 옵션 변경이나 문제 종료와 같은 특정 기능은 사용할 수 없습니다. Crashlytics 연결을 다시 시도하고 온라인 상태로 돌아가려면 Reconnect를 클릭합니다.
자동화된 원클릭 프로파일링 가능 빌드 및 실행
Android 스튜디오 Flamingo 및 AGP 7.3에는 쉽게 프로파일링 가능한 앱을 구성하고 프로파일링할 수 있도록 지원하는 자동화된 원클릭 프로파일링 가능 빌드가 도입되었습니다. 이 기능을 사용하려면 API 수준 29 및 이후 버전을 실행하는 가상 또는 실제 테스트 기기가 필요합니다. 이 기능을 사용하려면 프로필 앱 아이콘 옆의 화살표를 클릭하고 다음 두 옵션 중 하나를 선택합니다.
Profile 'app' with low overhead는 CPU 프로파일러와 메모리 프로파일러를 시작합니다. 메모리 프로파일러에서는 Record Native Allocations만 사용 설정됩니다.
Profile 'app' with complete data를 선택하면 CPU, 메모리, 에너지 프로파일러가 시작됩니다.
최소 성능 비용으로 앱을 테스트하는 방법에 관한 자세한 내용은 프로파일링 가능한 애플리케이션을 참고하세요.
SDK 확장 프로그램의 린트 지원
Android 스튜디오 Flamingo는 SDK 확장 프로그램의 린트 지원을 제공합니다. 이 기능을 사용하면 린트 도구의 API 검사를 업데이트하여 API 백포트가 있는 경우 및 Android 개인 정보 보호 샌드박스와 같은 새로운 API 노출 영역에 API 액세스를 올바르게 적용할 수 있습니다.
린트 도구의 API 검사는 코드에서 minSdkVersion
또는 SDK_INT
검사로 게이트되는 API만 사용하는지 확인합니다. SDK 확장 프로그램을 사용하면 API가 여러 SDK에 존재할 수 있습니다. 예를 들어 Android U에 도입된 API를 Android R, S, T 백포트 확장 프로그램에도 추가할 수 있습니다. 또한 앱은 매니페스트를 사용하여 필요에 따라 여러 API를 지정할 수 있으며, 개별 확장 프로그램을 사용할 수 있는지 확인하기 위한 새로운 API가 있습니다. 이제 린트 도구에서 필요한 항목과 존재하는 것으로 알려진 항목 사이에 겹치는 부분이 있는지 확인하는 로직을 처리합니다.
마지막으로, API 검사와 관련된 스튜디오 IDE 기능이 있습니다. 이제 이 기능을 통해 새로운 API 노출 영역의 API 위반을 처리하고, 필요한 검사를 수행하고, 사용 가능한 API 노출 영역당 하나씩 빠른 수정을 등록할 수 있습니다.
IntelliJ IDEA 2022.2 플랫폼 업데이트
Android 스튜디오 Flamingo Canary 1에는 IDE 환경을 개선하는 IntelliJ IDEA 2022.2 업데이트가 포함되어 있습니다. 변경사항에 관한 자세한 내용은 IntelliJ IDEA 2022.2 출시 노트를 참고하세요.
JDK 17과 함께 번들로 제공되는 Android 스튜디오
Android 스튜디오 Flamingo Canary 3부터 스튜디오 IDE가 JDK 17과 함께 번들로 제공됩니다. Android 스튜디오가 삽입된 JDK를 사용하도록 구성된 경우 새 프로젝트는 Android Gradle 플러그인 및 JDK 17의 최신 안정화 버전을 사용합니다. 단, 기존 프로젝트가 손상될 수 있으며 JDK를 호환되는 버전으로 수동으로 설정해야 할 수 있습니다.
자세한 내용은 JDK 버전 설정을 참고하세요.