Now in Android에 오신 것을 환영합니다. 이 가이드는 Android 개발 세계에서 새롭고 주목할 만한 소식들을 지속적으로 소개합니다. 이번 에디션에서는 Android 16, 데스크톱 환경, 적응형 앱, 테스트 영상, AndroidX 등을 다룰 예정입니다!
Android 16이 출시되어 지원되는 Pixel 기기에서 사용할 수 있으며, 이후 다른 기기들도 순차적으로 지원될 예정입니다. 소스 코드는 Android 오픈소스 프로젝트(Android Open Source Project) 에서 확인할 수 있습니다.
주요 업데이트 내용은 다음과 같습니다:
야간 모드 장면 감지, 하이브리드 자동 노출, 정밀한 색온도 조정 기능이 추가되었습니다. UltraHDR 이미지에 대한 지원이 강화되었으며, HEIC 인코딩과 내장된 사진 선택기(photo picker) 도 포함됩니다.
Android 16을 타겟팅하는 앱은 edge-to-edge(화면 끝까지 사용하는 전체 화면 모드)를 비활성화할 수 없습니다.
시스템이 방향(orientation), 크기 조정 가능성(resizability), 화면 비율 제한(aspect ratio restrictions)을 관리하는 방식이 변경되었습니다.
홈으로 돌아가기, 작업 간 전환, 액티비티 간 전환 등에 애니메이션이 적용됩니다. 예측 가능한 뒤로 가기(predictive back navigation) 기능이 세 개 버튼 내비게이션(three-button navigation)까지 확장되어, 사용자가 뒤로 가기 버튼을 길게 누르면 이전 화면이 미리 보이는 기능이 추가되었습니다.
Progress 스타일 알림 사용자 여정 중 단계와 이정표를 나타낼 수 있도록 점과 구간(segment)을 사용하여 진행 중심(progress-centric) 알림을 만들 수 있습니다.
RuntimeColorFilter 및 RuntimeXfermode AGSL(Android Graphics Shading Language)을 활용해 Threshold, Sepia, Hue Saturation 같은 복잡한 시각 효과를 작성하고 드로우 호출(draw calls)에 적용할 수 있습니다.
2025년 Google I/O에서는 Android와 관련된 여러 발전 사항이 발표되었습니다. 여기에는 Android 16의 공식 출시, 향상된 Android 데스크톱 환경을 위한 개발자 프리뷰(Developer Preview), 그리고 Google 앱 전반에 걸친 Android 사용자 대상 업데이트가 포함됩니다.
개발자를 위한 주요 발표 내용은 다음과 같습니다:
적응형 앱 (Adaptive Apps)
다양한 폼 팩터(스마트폰, 태블릿, 폴더블 등)에서 동작하는 단일 앱을 Jetpack Compose를 기반으로 개발할 수 있도록 지원합니다. Jetpack Compose Adaptive Libraries, Navigation 3 라이브러리, AndroidX.window 1.5의 Window Manager 라이브러리 업데이트.
성능 최적화 (Performance Optimization)
성능 개선을 위한 새로운 도구 및 API 제공: UiAutomator API 리디자인: 벤치마킹, 매크로 벤치마크, 앱 시작 시간 분석(App Startup Insights) 등에 활용 R8 최적화 기능 강화: 디버깅과 성능 최적화를 위한 분석 및 최적화 지원
향상된 미디어 경험 (Enhanced Media Experiences)
CameraX와 Media3Effects를 사용하여 고품질 영상 촬영 가능 Google Low-Light Boost 기능을 통해 저조도 환경에서 실시간으로 카메라 밝기 조정 가능 새로운 카메라 및 미디어 샘플 코드도 함께 제공되어 쉽게 활용 가능
Android 16 QPR1 Beta 2 버전이 출시되면서, 호환되는 Android 기기에서 외부 디스플레이 지원 기능을 사용할 수 있게 되었습니다. 이제 Android 기기에 외부 디스플레이를 연결하면, 작업용 워크스테이션처럼 활용할 수 있으며, 앱을 단일 화면을 넘어 여러 디스플레이로 확장시킬 수 있어 Android의 생산성 잠재력을 극대화할 수 있습니다. 또한 데스크톱 창 관리 기능(Desktop Windowing) 이 안정화(stable) 되었으며, Android 16에서는 다음과 같은 성능 및 기능 개선이 이루어졌습니다:
새로운 데스크톱 전용 기능 추가가 되었습니다. 이제 Android 기기에서도 데스크톱처럼 창을 자유롭게 다루고, 다중 작업 환경을 보다 효율적으로 구축할 수 있게 되었습니다.
유연한 창 타일링(Flexible Window Tiling)
여러 앱 창을 나란히 배치하거나 다양한 구성으로 정렬할 수 있어, 대화면에서 멀티태스킹 작업이 훨씬 쉬워졌습니다.
멀티 데스크톱(Multiple Desktops)
사용자가 다양한 작업 목적에 맞는 데스크톱 세션을 구성하고, 키보드 단축키, 트랙패드 제스처 또는 Overview 화면을 통해 데스크톱 간 전환할 수 있습니다.
앱 호환성 처리 향상(Enhanced App Compatibility Treatments)
레거시 앱들도 외부 디스플레이에서 더 나은 UI 품질과 예측 가능한 동작을 기본적으로 제공받도록 조정되었습니다.
멀티 인스턴스 관리(Multi-instance Management)
Chrome, Keep 등 멀티 인스턴스를 지원하는 앱은 앱 헤더 버튼 또는 작업 표시줄(taskbar)의 컨텍스트 메뉴를 통해 여러 개의 인스턴스를 손쉽게 관리할 수 있습니다.
데스크톱 상태 유지(Desktop Persistence)
Android는 이제 각 데스크톱의 창 크기, 위치, 상태를 더 정확하게 기억하고 유지할 수 있습니다.
Android 16에서는 적응형 앱(Adaptive Apps) 이 필수적입니다. 다양한 기기에서 일관된 사용자 경험을 제공하기 위해,
제품 관리자(Product Managers)는 폴더블, 태블릿, 크롬북, 그 외 여러 형태의 디바이스에 맞춰
적응형 디자인을 최우선 과제로 고려해야 합니다.
적응형 앱을 구축하면 얻을 수 있는 이점에는 사용자 참여(Engagement) 증가, Google Play에서의 앱 노출 향상, 장애가 있는 사용자들도 접근 가능한 앱 제공이 있습니다. 시작하려면 현재 앱이 큰 화면(예: 태블릿, 크롬북)에서 어떻게 보이는지 확인해보고 자주 발생하는 UI 문제를 해결, 화면 하나씩 차근차근 최적화를 진행하면 됩니다.
새로운 테스트 관련 영상이 몇 편 공개되었습니다! 한 번 확인해보세요
앱의 복잡성이 커짐에 따라 자동화된 테스트는 확장 가능하고 효율적인 품질 보증에 매우 중요합니다. 그러나 전통적인 테스트 피라미드는 최선의 접근 방식이 아닐 수도 있습니다.
아래는 테스트 범위(test scope)와 테스트 크기(test size)를 모두 고려하는 새로운 테스트 전략입니다. 이는 안정적인 결과와 빠른 실행 시간을 보장하는 데 도움이 됩니다. 이 전략에는 릴리즈 후보(release candidate), 애플리케이션(application), 기능(feature), 컴포넌트(component), 유닛(unit) 테스트의 5가지 테스트 카테고리가 있습니다.
안드로이드 앱 개발자는 시간 소모가 크고 오류가 발생하기 쉬운 수동 테스트를 대체하기 위해 자동화된 테스트(유닛, 스모크, 허메틱, 스크린샷)를 도입해야 합니다. 자동화는 다음과 같은 이점을 제공하며 앱 품질을 향상시킵니다 변경 사항에 대한 결과를 즉시 확인할 수 있습니다.개발 초기 단계에서 버그를 잡아냅니다. 새로운 코드 추가로 인해 기존 기능이 망가지는 것을 막아줍니다. 결과적으로, 자동화된 테스트는 개발자의 생산성을 높이고, 중요한 작업에 더 많은 시간을 할애할 수 있도록 돕습니다.
안드로이드 앱 개발자는 확장 가능한 앱 테스트에 사용되는 도구와 패턴을 반드시 알아야 합니다. 이 영상에서는 스크린샷 테스트, 로보일렉트릭, 기기 에뮬레이션, 불안정한 테스트 관리, 그리고 Gradle 관리 기기를 활용하는 방법에 대해 더 자세히 알아볼 수 있습니다.