[go: up one dir, main page]

이 글의 원문은 여기서 확인하실 수 있으며 블로그 리뷰에는 엄재웅(GDE)님이 참여해주셨습니다. 

작성자: Paris Hsu(Product & Design, Android), Takeshi Hagikura(Developer Relations Engineer)

오늘 Android 애플리케이션 개발용 공식 IDE인 Android Studio Chipmunk🐿의 안정적인 버전을 발표하게 되어 매우 기쁩니다! 이번 버전은 작은 규모의 기능 버전이지만 저희는 이번 버전에 최신 IntelliJ 업데이트를 포함시키고 품질과 안정성에 더 많은 시간을 할애했습니다. 이번 버전에서만 175개 이상의 품질 문제를 해결했습니다.

Android Studio의 최신 안정적 버전을 사용하고 싶으면 오늘 바로 다운로드할 수 있습니다!


Android Studio Chipmunk의 기능

아래에 Android Studio Chipmunk의 모든 새로운 기능을 정리해 두었습니다.

Compose Animation Preview

이전에 실험용으로 개발했던 이 기능은 이제 Jetpack Compose 개발자가 Compose로 제작한 애니메이션을 검사하고 디버그하는 데 사용할 수 있습니다. 애니메이션이 구성 가능한 미리보기로 설명되어 있는 경우 지정된 시간에 각각 애니메이션으로 표시되는 값의 정확한 값을 검사하거나 애니메이션을 일시 중지하거나 루프로 반복하거나 빨리 감거나 느리게 할 수 있습니다. 애니메이션을 프레임 단위로 디자인 사양과 비교하는 기능이 특히 유용합니다.

Compose Animation Preview는 현재 AnimatedVisibilityupdateTransition을 지원합니다. 앞으로 더 많은 애니메이션 유형을 지원하게 됩니다.

Compose Animation Shrine Cart

Compose Animation Shrine Cart

CPU 프로파일러

Android Studio Chipmunk는 이제 버벅거림(Jank) 유형을 비롯하여 업데이트된 버벅거림 정보와 버벅거림의 실제 원인을 찾는 데 도움이 되는 예상 기한과 실제 기한을 보여줍니다. 이 버벅거림 정보는 Android Emulator 또는 API 레벨 31(Android 12) 이상의 실제 기기를 사용할 때 제공됩니다. 자세한 내용은 여기를 참조하세요.

CPU 프로파일러에 버벅거림 정보 표시 

CPU 프로파일러에 버벅거림 정보 표시

CPU 프로파일러에 버벅거림 정보 표시

빌드 분석 도구: Jetifier 검사

Chipmunk에서는 빌드 분석 도구에 새로운 Jetifier 검사 기능을 도입했는데, 이 기능은 개발 중 성능 향상을 위해 Jetifier 플래그를 제거할 수 있는지 알려줍니다.

Jetifier 플래그는 AndroidX를 사용하기 위해 타사 라이브러리를 자동으로 마이그레이션하도록 설계되었으며, 대다수의 Android Studio 프로젝트에서는 여전히 이 플래그를 사용할 수 있습니다. 하지만 라이브러리 생태계는 대부분 기본적으로 AndroidX를 지원하는 방향으로 이동했으며, 이제는 플래그가 있으면 대체로 불필요한 빌드 오버헤드가 발생됩니다. 플래그를 비활성화하면 일반적으로 개발 시간이 5~10% 절약됩니다.

빌드 분석 도구의 Jetifier 검사 기능을 보여주는 이미지

빌드 분석 도구의 Jetifier 검사 기능을 보여주는 이미지

IntelliJ 플랫폼 업데이트

Android Studio Chipmunk의 경우 Android 관련 기능의 수가 적은 편이지만, 여기에는 IntelliJ 2021.2 플랫폼 주요 버전이 포함되며😎, 프로젝트 전반의 분석, 새롭고 강력한 패키지 검색 UI, 워크플로 속도 향상을 위한 IDE 작업 기능 향상과 같은 새로운 기능이 많습니다. 자세히 알아보세요.


시작하기

Android Studio Chipmunk 🐿는 놓치면 안 될 업데이트입니다! 비록 IntelliJ용 새 버전과 IDE의 품질, 성능, 안정성 개선을 위한 저희의 지속적인 노력과 앞서 언급한 기능이 담긴 짧은 버전이지만, 오늘 바로 다운로드해 사용해 보시기 바랍니다!

언제나처럼 어떤 점이 마음에 드는지, 혹은 어떤 문제나 기능에 대해 알고 싶은지 의견을 보내주시면 감사하겠습니다. 버그나 문제를 발견하면 여기서 알려 주세요. TwitterMedium에서 Android Studio 개발팀을 팔로우하시면 최신 기능에 대한 정보를 계속 받으실 수 있습니다.

작성자: Dave Burke (VP of Engineering) 

이 글의 원문은 여기서 확인하실 수 있으며 블로그 리뷰에는 양찬석(Google)님이 참여해주셨습니다. 

 

Android13 Logo 

 

저희는 이번에 Android 13 베타 3을 출시하면서 품질 및 성능 향상이라는 마지막 단계에 돌입했습니다. Android 13은 개인정보 보호 및 보안, 개발자 생산성, 태블릿 및 대화면 지원이라는 핵심 테마에 초점을 맞추고 있습니다. 

 

Android 13에는 다양한 기능이 있습니다. 새 알림 권한 설정, 사진 선택 도구와 같은 개인정보 보호 기능부터 테마형 앱 아이콘, 앱별 언어 지원과 같은 생산성 기능, 그리고 HDR 영상, Bluetooth LE 오디오, USB를 통한 MIDI 2.0 등 최신 규격을 지원합니다. 또한 12L의 변경 사항을 더욱 확장하여 현재 사용 중인 2억 7천만 대 이상의 태블릿 및 대화면 기기를 더 잘 활용할 수 있는 방법을 제공합니다. 

 

베타 3에 이르러 Android 13은 플랫폼 안정성에 도달했습니다. 즉, 개발자 API와 모든 앱 지향 동작은 이제 최종 단계로 진입합니다. 여러분의 피드백 덕분에 여기까지 올 수 있었습니다. 감사합니다! 올해 말 여러분의 앱이 Android 13의 정식 출시에 맞게 준비되는 동안, 저희는 개발자들을 위한 호환성 테스트와 품질에 초점을 맞출 것입니다.  

 

Pixel 기기에 베타 3을 설치하려면 여기를 눌러 등록 후 무선 업데이트를 받아 보세요. 만약 이미 등록했다면, 이번 업데이트 내용을 자동으로 확인할 수 있습니다. 또한 Android 13 베타를 저희 파트너사의 여러 기기에서 사용할 수도 있습니다. 자세한 내용은 android.com/beta에서 확인하시기 바랍니다. 앱을 어떻게 준비할지 간단히 알아보려면 이번 업데이트를 끝까지 확인하고 Android 13 개발자 사이트를 방문해 보세요. 

 

플랫폼 안정성 

베타 3과 함께 Android 13은 플랫폼 안정성에 도달했습니다. 즉, 모든 앱 지향 동작과 API(공식 API Level 33 SDK 및 NDK API 포함)가 최종 단계에 진입합니다. 따라서 베타 3부터는 플랫폼이 바뀌지 않으리라는 확신을 가지고 개발 및 호환성 업데이트 출시를 할 수 있습니다. 

 

모든 앱 및 게임 개발자는 지금부터 최종 호환성 테스트를 시작하고 최종 출시에 앞서 호환성 업데이트를 최대한 빠르게 완료해 주시기 바랍니다. 

 

특히 모든 SDK, 라이브러리, 도구, 게임 엔진 개발자는 지금부터 테스트를 시작하고 최대한 빨리 호환성 업데이트를 실시해야 합니다. SDK, 라이브러리, 게임 엔진이 업데이트 되지 않으면, 이를 사용하는  앱 및 게임 개발자가 업데이트를 진행하지 못할  수 있으므로, 호환성 업데이트를 출시했다면 개발자에게 최대한 빨리 알려 주세요! 

 

앱 호환성 

 

앱 호환성은 새 버전의 플랫폼에서 앱이 의도대로 잘 동작하는지 판단하는 지표입니다. 새 플랫폼 출시 때마다 저희는 개인정보 보호 및 보안과 OS상의 전반적인 사용자 경험 향상에 필수적인 변화를 주었습니다. 이러한 변화는 앱에 영향을 줄 수 있으므로 지금 앱을 테스트하고, 필요한 업데이트를 진행하고, 최종 출시에 앞서 호환성 업데이트를 실시하시기 바랍니다. Android 13을 새롭게 접할 사용자들에게 높은 품질 수준을 제공하는 것은 매우 당연하고도 중요한 일입니다. 

 

앱 호환성을 테스트하려면 Android 13 베타 3을 사용하는 기기에 Google Play 또는 다른 경로를 통해 제품 앱을 설치한 후, 앱 흐름 전반에 걸쳐 기능 또는 UI 문제가 없는지 확인하고 동작 변경사항을 참고하시기 바랍니다. 주의할 변경사항은 아래와 같습니다. 


  • 알림 런타임 권한 - Android 13에는 새로운 런타임 알림 권한이 도입되었습니다. 새로운 권한이 어떻게 작동하는지 확인하고 가급적 빠른 시일 내에 Android 13(API 33)을 타겟팅하세요. 여기에서 더 자세히 알아보세요. 
  • 클립보드 프리뷰 - 앱이 Android 13의 클립보드 프리뷰에서 비밀번호 또는 신용카드 정보 등 민감한 정보를 숨기도록 설정하세요. 여기에서 더 자세히 알아보세요. 
  • JobScheduler를 통한 미리 가져오기 - JobScheduler는 다음번에 앱이 실행될 시점을 예측하고 앱 실행전에 관련 작업을 미리 수행합니다. 이 기능을 사용한다면 예상한 대로 작동하는지 확인하세요. 여기에서 더 자세히 알아보세요. 

또한 앱의 라이브러리 및 SDK의 호환성을 테스트하고, 문제가 발견되면 라이브러리 또는 SDK를 최신 버전으로 업데이트하거나 개발자에게 도움을 요청하시기 바랍니다. 

 

호환되는 버전의 앱을 출시했다면 앱의 targetSdkVersion을 업데이트하는 과정을 시작할 수 있습니다. Android 13을 타겟팅하는 앱에 영향을 주는 동작 변경사항을 확인하고 호환성 프레임워크를 활용하면 문제를 빠르게 찾아낼 수 있습니다. 테스트가 필요한 변경사항은 아래와 같습니다. (targetSdkVersion API 33 이상인 앱에만 적용) 


  • 근처 Wi-Fi 기기 권한 - 기기 위치 정보 액세스 없이 Wi-Fi를 통한 스캐닝 등 근처 액세스 포인트로의 기기 연결을 관리하는 앱은 새로운 NEARBY_WIFI_DEVICES 런타임 권한을 사용해야 합니다. 일부 Wi-Fi API에서는 앱에 이 새로운 권한이 필요합니다. 여기에서 더 자세히 알아보세요. 
  • 미디어 권한 세부 설정 - 앱이 Android 13을 타겟팅하고 공동 데이터 저장소에서 미디어 파일을 읽어올 경우, 반드시 READ_EXTERNAL_STORAGE 권한이 아닌 하나 이상의 새로운 세부 권한 설정이 필요합니다. 여기에서 더 자세히 알아보세요. 
  • 생체 신호 센서 사용 권한 변경 - Android 13에서는 생체 신호 센서에 ‘사용 중인 동안’ 액세스라는 개념이 도입됐습니다. 앱이 백그라운드에서 생체 신호 센서 정보에 액세스해야 하는 경우, 새로운 BODY_SENSORS_BACKGROUND 권한을 선언해야 합니다. 여기에서 더 자세히 알아보세요. 
  • 인텐트 필터가 일치하지 않는 인텐트를 차단 - 앱이 Android 13(API 33) 이상을 타겟팅하는 다른 앱의 내보낸(Exported) 구성요소로 인텐트를 보낼 경우, 받는 앱의 인텐트 필터와 일치하는 인텐트만 전송됩니다. 여기에서 더 자세히 알아보세요. 
  • PlaybackState에서 파생된 미디어 컨트롤 - Android 13은 다양한 폼팩터에서 일관되고 풍부한 미디어 컨트롤 경험을 제공하기 위해 PlaybackState 액션에서 이전 보다 더 많은 미디어 컨트롤을 가져옵니다. 앱이 이 변화에도 잘 작동할지 확인하세요. 여기에서 더 자세히 알아보세요. 

 

태블릿 및 대화면 지원 

 

Android 13은 12L에서 소개된 태블릿 최적화를 바탕으로 만들어졌습니다. 따라서 테스트 시, 앱이 태블릿과 다른 대화면 기기에서도 잘 실행되는지 확인해야 합니다. 대화면 기능은 Android 스튜디오에서 Android Emulator 설정을 통해 테스트할 수 있으며, Android 13 베타 파트너의 대화면 기기를 사용해도 됩니다. 확인해야 할 부분은 아래와 같습니다. 


  • 상태 표시줄 상호작용 - 대화면에서 새로운 상태 표시줄 사용 시 앱이 어떻게 반응하는지 확인하세요. 앱의 UI가 잘리거나 가려지지 않아야 합니다. 여기에서 더 자세히 알아보세요. 
  • 멀티 윈도우 모드 - 이제 모든 앱에서 앱 설정과 관계없이 멀티 윈도우 모드가 기본적으로 적용됩니다. 따라서 앱이 분할 화면에서 잘 작동하는지 확인하세요. 앱을 드래그 앤 드롭하여 화면 분할 모드를 시작하고 창 크기를 조절하여 테스트할 수 있습니다. 여기에서 더 자세히 알아보세요. 
  • 향상된 호환성 경험 - 아직 앱이 방향 고정이나 크기 조절 등으로 태블릿에 최적화되지 않았다면, 레터박스 등의 호환성 모드에서 앱이 어떻게 반응하는지 확인하세요. 여기에서 더 자세히 알아보세요. 
  • 미디어 프로젝션 - 앱이 미디어 프로젝션을 사용한다면, 플레이백, 스트리밍, 대화면 캐스팅 시 앱이 어떻게 반응하는지 확인하세요. 폴더블 기기의 화면 변경에도 잘 대응해야 합니다. 여기에서 더 자세히 알아보세요. 
  • 카메라 미리보기 - 카메라 앱의 경우, 앱이 멀티 윈도우 또는 분할 화면 모드에 들어갔을 때 카메라 미리보기 UI가 대화면에서 어떻게 반응하는지 확인하세요. 폴더블 기기의 화면 변경에도 잘 대응해야 합니다. 여기에서 더 자세히 알아보세요. 

여기에서 Android 13의 태블릿 기능과 테스트할 부분에 관해 더 자세히 알아보세요. 

 

Android 13 시작하기 

 

이번에 출시된 베타 3에는 앱을 테스트하고 Android 13 기능을 확인하는 데 필요한 모든 것이 포함되어 있습니다. 여기에서 Pixel 기기를 등록하고 무선 업데이트를 받아 보세요. 시작하려면 Android 13 SDK를 설정하시기 바랍니다. 

 

또한 저희의 다양한 파트너 기기에서도 Android 13 베타를 이용해 앱을 테스트할 수 있습니다. android.com/beta에서 전체 파트너 목록과 지원 기기 및 베타 1부터 시작된 베타 빌드 정보가 있는 링크를 확인해 보세요. 각 파트너는 독자적으로 등록 및 지원을 관리하며 직접 베타 업데이트를 제공합니다. 더 광범위한 테스트를 원한다면 Android GSI 이미지에서 Android 13 베타 3을 사용하시고, 기기가 없다면 Android Emulator에서 테스트해보세요.

 

Android 13에 관한 더 자세한 정보를 확인하려면 Android 13 개발자 사이트를 방문하시기 바랍니다.

작성자: Kseniia Shumelchyk (Developer Relations Engineer), John Nichol (Tech Lead of Compose for Wear OS) 

원문은 여기서 확인하실 수 있으며, 블로그 리뷰에는 노현석(GDE)님이 참여해주셨습니다. 

 

Wear OS watch with blue background  

 

드디어 Wear OS용 Compose 베타 버전이 출시되었습니다. 이 최신 선언적 UI 툴킷을 통해 개발자는 사용자에게 훌륭한 Wear OS 경험을 제공할 수 있게 됩니다. 

 

Wear OS용 Compose는 최신 Wear OS용 머티리얼 디자인을 포함한 시계 최적화 구성 요소를 지원합니다. 이 구성 요소는 Compose의 핵심 라이브러리에 기반을 두며, 툴킷은 Modern Android Development를 활용하여 개발 과정 전반을 가속화합니다. 

 

Wear OS용 Compose의 이번 베타 버전은 올해 중 출시되는 1.0의 기능을 전부 갖추고 있어 프로덕션 환경에서 즉시 사용 가능한 앱을 구축할 수 있습니다. 정식 버전 API를 출시했으니 앞으로는 성능과 1.0 버전에 해당하는 기존 기능을 다듬는 데 중점을 둘 것입니다.  



 

달라진 베타 버전 

 

저희는 지난 I/O 이후 Jetpack Compose의 장점을 Wear OS에 담기 위해 노력했습니다. Slack을 통해 커뮤니티와 교류하고 API, 구성 요소, 도구에 관한 개발자 피드백을 수집하여 탐색, 지연 목록 크기 조정, 입력 및 동작 지원 등 다양한 구성 요소를 개선했습니다. 

 

첫 베타 버전은 알파 버전 21에 뒤이어 출시되었습니다. 개발자 프리뷰 발표 이후의 주요 변화는 다음과 같습니다.  

 

🆕 입력 방법 구성 요소 

 

사용자 입력 방법 구성 요소에 관한 개발자 여러분의 요청을 반영하여, 각 시계 앱에 맞춰 사용할 수 있는 다양한 컴포저블을 추가했습니다.  

 

  • 사용자는 Picker로 스크롤 목록에서 항목을 선택할 수 있습니다. 기본적으로 선택 가능한 항목 목록은 회전하는 원통을 측면에서 보는 것처럼 양방향으로 ‘무한' 반복됩니다. Picker는 내부에서 ScalingLazyColumn 구현을 사용하고 있어 여러 가지 고급 ScalingLazyColumn 기능을 개발하고 다듬을 수 있습니다.  

  • 사용자는 Slider로 범위 내에서 값을 선택하여 글꼴 크기나 밝기와 같은 설정을 조정할 수 있습니다. 

  • 사용자는 전체 화면 컨트롤 구성 요소인 Stepper로 범위 내에서 값을 선택하여 헤드폰 음량 등을 조절할 수 있습니다. 

 

🆕 대화 상자 

 

탐색 대상이나 기존의 전체 화면 대화 상자처럼 활용할 수 있는 전체 화면 알림 및 확인 컴포저블이 추가되었습니다. 대화 상자는 다른 콘텐츠 위에 표시되며 스와이프하여 닫기를 지원합니다. 스와이프 동작을 진행하는 동안 백그라운드에 상위 항목 콘텐츠를 표시합니다. 

 

Scaffold와의 일관성을 위해 전체 화면 대화 상자는 PositionIndicator Vignette을 표시합니다. 

 

🆕 Progress Indicator

 

시계 화면에 최적화한 Progress Indicator인 CircularProgressIndicator가 추가되었습니다. Indicator는 원형 트랙을 따라 시계 방향으로 움직이면서 진행 상태를 표시합니다. 

 

 

​​CircularProgressIndicator를 활용하는 몇 가지 방법이 있습니다. 정해지지 않은 진행 상태를 보여 주거나 진행 중인 작업의 완료 비율을 나타낼 수 있으며, Progress Indicators의 원형 트랙에는 다른 콘텐츠(예: 전체 화면의 TimeText)를 표시할 공간이 주어집니다. 

 

🆕 Page Indicator 

 

페이지로 나누기를 구현할 수 있도록, UI 툴킷에서 전체 페이지 수와 선택한 페이지를 나타내는 HorizontalPageIndicator 구성 요소를 제공합니다. 

 

 

HorizontalPageIndicator는 화면 모양에 따라 활성화한 페이지와 남은 페이지를 폼 팩터에 적합하게 시각화하여 표시합니다. 

 

개선 사항 

 

  • ScalingLazyColumn: 기본 동작을 개선하여 Wear OS용 머티리얼 디자인과 일관성을 유지합니다. 예를 들어, 계측 매개변수를 업데이트하고 추가 패딩을 기본값으로 설정했으며, 콘텐츠 크기로 크기를 측정하도록 했습니다. 

  • Scaffold: PageIndicator 슬롯을 추가하여 원형 기기에 항목을 올바르게 표시합니다. 

  • Navigation: Compose Navigation과 동일한 기능을 보장하고, 전체 화면 전환과 페이지 스크롤 시 가장자리 스와이프를 지원합니다. 

  • 곡선 요소: CurvedModifier와 새 DSL을 추가하여 방사형, 각도, 훑기, (반)시계 방향, 원내/원외와 같은 곡선 영역에 적절한 구성을 사용할 수 있습니다. CurvedLayout으로는 직선과 곡선 영역을 연결하고, curvedComposable을 사용하여 기존의 컴포저블 구성 요소를 도입하는 데 활용할 수 있습니다. 

 

최근 추가한 사항들 덕분에 Wear OS용 Compose 머티리얼 카탈로그의 구성 요소가 View 기반 레이아웃보다 더 다양해져 새로운 Wear OS 디자인 가이드라인을 독창적으로 구현할 수 있습니다.  

 

도구 

 

Android Studio Electric Eel에서 제공하는 최신 기능으로 Wear OS용 Compose와 함께하는 개발의 편리함을 느껴 보세요.  

 

  • 자동 완성과 편집기 작업을 개선하는 편집기와 도구 지원 

  • Wear OS용 컴포저블 미리보기 

  • 🆕 실시간 디버깅을 지원하는 Live Edit 

  • 🆕 Wear OS 프로젝트 템플릿용 Compose 

  

Horologist 

 

드디어 Horologist를 출시했습니다. 이는 Google의 오픈소스 프로젝트로 Wear OS용 Compose와 기타 Wear OS API의 기능을 보충해 주는 Wear 라이브러리 세트를 제공합니다. 

Gears of a watch 

 시계학에 관해 읽어 보세요 

 

Horologist에서는 유용한 Compose 확장 프로그램을 제공합니다. 

 

  • 재생 컨트롤과 음량 화면 등 미디어 UI 구성 요소 

  • 머티리얼의 날짜 및 시간 선택 도구 

  • 스크롤과 탐색 화면 변화를 동기화하는 TimeText 및 PositionIndicator를 동반한 Navigation 인식 Scaffold 

 

저희는 개발자가 다양한 경험을 제공하는 훌륭한 Wear OS 앱을 구축할 수 있도록 Horologist를 계속 개발하여 추가 도구를 제공하겠습니다. Github의 Horologist를 확인하여 피드백을 주시고 Wear 개발자가 유용하게 사용할 보편적인 기능을 만드는 데 기여해 보세요. 이후 출시할 버전도 많은 기대 바랍니다! 

 

시작하기 

 

모바일 Compose의 개발 원칙 중 다수가 Wear OS용 Compose에 적용되니, UI 툴킷에 익숙하지 않다면 Jetpack Compose 기본 과정부터 시작하는 걸 추천드립니다. 

 

Wear OS용 Compose를 시작하는 데 도움이 될 자료를 몇 가지 준비했습니다. 

 

 

Wear OS용 Compose 베타 버전이 출시되었으니 이제 Compose로 앱을 생동감 있게 구현하고 기존 UI를 새롭게 업데이트해 보세요. Wear OS 앱 구축에 관한 자세한 내용은 개발자 사이트를 참고하시기 바랍니다. 

 

Wear OS용 Compose로 앱을 구축한 여러분의 경험에 귀 기울이고자 합니다! Kotlin Slack #compose-wear 채널에서 이야기를 나누고 Issue Tracker에 피드백을 제출해 주세요.  

 

Compose와 함께라면 개발이 즐거워집니다!