게시자: Jamal Eason, Android 제품 관리자
Google I/O 2017에서 안드로이드 스튜디오 3.0 맛보기 버전이 공개되었습니다. 아직 정식 출시된 제품은 아니지만, Canary 채널에서
다운로드할 수 있습니다. 안드로이드 스튜디오는 안드로이드 앱 개발을 위해 고안된 공식 IDE 입니다. 안드로이드 스튜디오는 개발자 여러분이 보다 쉽고 효율적으로 더 훌륭한 안드로이드 앱을 만들 수 있도록 지속적으로 발전하고 있습니다.
안드로이는 3.0에서는 새로운 앱 성능 프로파일링 도구 모음이 추가되며, Kotlin 프로그래밍 언어가 지원 되고, 대형 앱 프로젝트를 위한 Gradle 빌드 속도 개선이 이루어졌습니다. 추가로, 안드로이드 인스턴트 앱 개발을 위한 도구, Google Play Store가 포함된 에뮬레이터 시스템 이미지, 안드로이드 O 개발을 위한 새로운 마법사등 안드로이드 플랫폼과 더욱 긴밀하게 통합된 기능들도 포함되었습니다. 전체적으로, 이번 첫 Canary 릴리스에는 20가지 이상의 새로운 기능이 추가되었습니다.
특히나 확장성 및 빌드 시간을 개선하기 위해 Android Gradle Plugin에 주요한 변경 사항을 도입할 필요가 있었고, 때문에 안드로이드 스튜디오 버전을 3.0으로 판올림 하게 되었습니다.
Android DevByte - Android Studio 3.0 Canary 1의 새로운 기능
안드로이드 스튜디오 3.0의 새로운 기능에 대한 보다 자세한 내용은 아래 목록을 참조하세요.
개발
- Kotlin 프로그래밍 언어 - 수 많은 개발자분들의 요청에 따라 정식으로 Kotlin 지원이 포함되었습니다. Kotlin 코드를 기존 Android 앱 코드와 함께 사용할 수 있고, 동시에 문제없이 안드로이드 스튜디오의 모든 개발 도구를 활용할 수 있습니다. Code → Convert Java File to Kotlin File 메뉴에서 기본 제공되는 전환 도구를 사용하여 Kotlin을 프로젝트에 추가하거나 New Project 마법사를 사용하여 Kotlin 지원 프로젝트를 만들 수 있습니다. 안드로이드 및 안드로이드 스튜디오에서 지원되는 Kotlin 언어에 대해 자세히 알아보세요.
Android Studio에서 Kotlin 언어 전환
- Java 8 언어 기능 - Java 8 언어 기능과 API에 대한 지원을 계속 강화하고 있습니다. 최근 Jack 툴체인 지원 중단과 javac 기반 툴체인으로의 마이그레이션을 통해 안드로이드 스튜디오의 Java 8 언어 기능을 사용하는 프로젝트에서도 Instant Run 기능을 활용할 수 있습니다. 새 Java 8 언어 툴체인을 지원하도록 프로젝트를 업데이트하려면, Project Structure 대화상자에서 Source 및 Target 호환성 레벨을 1.8로 업데이트하면 됩니다. 자세히 알아보기.
Java 8 언어에 대한 Project Structure 대화상자 업데이트
- Layout Editor - Layout Editor의 추가적인 개선 사항을 확인할 수 있습니다. 더욱 향상된 드래그 앤 드롭 뷰 삽입 기능이 추가되었고, 새로운 오류 패널로 구성 요소 트리가 개선되었습니다. 자세히 알아보기.
Layout Editor 구성 요소 트리 및 경고 패널
- Adaptive Icon 마법사 - 안드로이드 O에는 특정 마스크에 따라 다양한 모양으로 표시할 수 있는 어댑티브 런처 아이콘이 도입되었습니다. 새로운 Adaptive Launcher Icon 마법사에서 새 런처 아이콘과 기존 런처 아이콘을 만들고, 어댑티브 아이콘이 어떻게 표시되는지 미리 볼 수 있습니다. 프로젝트에서 /res 폴더를 마우스 오른쪽 버튼으로 클릭하여 New → Image Asset → Launcher Icons (Adaptive and Legacy)메뉴를 확인해 보세요. 자세히 알아보기.
Adaptive Icon 마법사
- XML 글꼴 및 다운로드 가능한 글꼴 - 안드로이드 스튜디오의 XML 글꼴 미리보기 및 글꼴 선택 도구를 사용하여 훨씬 쉽게 맞춤 글꼴을 앱에 추가할 수 있습니다(안드로이드 O를 타겟팅할 때 사용 가능). 자신의 앱에 다운로드 가능한 글꼴 리소스를 만들 수도 있습니다. 다운로드 가능한 글꼴을 사용하면 글꼴 리소스를 APK에 번들할 필요 없이 앱에서 맞춤 글꼴을 사용할 수 있습니다. 다운로드 가능한 글꼴을 사용하려면 기기 또는 에뮬레이터가 Google Play 서비스 v11.2.63 이상을 실행 중인지 확인하세요. 자세히 알아보기.
다운로드 가능한 글꼴 리소스 선택기
XML 글꼴 미리보기
- Android Things 지원 - 안드로이드 스튜디오 3.0을 사용하면 New Project 마법사 및 New Module 마법사의 새로운 템플릿 세트를 통해 Android Things를 위한 개발을 시작할 수 있습니다. Android Things를 사용하면 안드로이드 개발 지식을 사물인터넷(IoT) 기기 범주로 확장할 수 있습니다. 자세히 알아보기.
Android Things New Module 마법사
- IntelliJ 플랫폼 업데이트: 안드로이드 스튜디오 3.0 Canary 1에는 Java 8 언어 리팩터링, 매개변수 힌트, 시맨틱 강조표시, 드래그 가능한 중단점, 향상된 버전 제어 검색 등과 같은 기능을 지원하는 IntelliJ 2017.1 릴리스가 포함되어 있습니다. 자세히 알아보기.
빌드
- 인스턴트 앱 지원 - 모든 개발자분들이 인스턴트 앱을 만들 수 있습니다. 인스턴트 앱은 사용자가 설치하지 않고 즉시 실행할 수 있는 간단한 안드로이드 앱입니다. 이를 지원하기 위해 Instant App과 Feature Module라는 두 가지 새로운 모듈 유형을 도입했습니다. 새로운 'Modularize' 리팩터링 액션과 App Links Assistant를 사용하면, 기존 앱을 인스턴트 앱으로 확장하는 데 도움이 될 수 있습니다. 이 기능을 사용하려면 New Module 마법사를 사용하거나 클래스를 마우스 오른쪽 버튼으로 클릭하고 Refactor → Modularize로 이동하세요. 자세히 알아보기.
인스턴트 앱 모듈 마법사
- 빌드 속도 개선 - 안드로이드 앱 빌드 속도를 더욱 빠르게 만들기 위해 계속적인 투자가 이루어지고 있습니다. 이 릴리스에서는 모듈 수가 많은 프로젝트의 속도 향상에 중점을 두었습니다. 이러한 속도 향상을 달성하고 향후 개선을 뒷받침하기 위해 안드로이드 스튜디오에서 사용하는 Android Gradle 플러그인의 API가 획기적으로 변경되었습니다. 이전 플러그인에서 제공하는 API에 의존했다면 새 플러그인과의 호환성을 확인하고 해당 API를 마이그레이션해야 합니다. 테스트하려면
build.gradle
파일에서 플러그인 버전을 업데이트하세요. 자세히 알아보기.
dependencies {
classpath 'com.android.tools.build:gradle:3.0.0-alpha1'
}
- Google의 Maven 저장소 - 새 Maven 저장소에서 Android SDK Manager 이외의 안드로이드 지원 라이브러리 maven 종속성을 배포하고 있습니다. CI(Continuous Integration) 시스템을 사용하여 개발하는 경우 이를 통해 Maven 종속성 관리가 더 쉬워집니다. 최신 명령줄 SDK Manager 도구 및 Gradle과 함께 사용하면 Google의 Maven 저장소를 통해 CI 빌드를 보다 쉽게 관리할 수 있습니다. 새로운 Maven 위치를 사용하려면 앱 모듈의
build.gradle
파일에 다음 URL을 추가하세요. 자세히 알아보기.
repositories {
maven {
url "https://maven.google.com"
}
}
테스트 및 디버그
- Google Play 시스템 이미지 - 안드로이드 O 베타 버전에 대한 업데이트와 함께 Google Play Store를 포함 한 안드로이드 에뮬레이터 시스템 이미지가 추가되었습니다. Google Play Store에 번들링하면 Google Play에서 앱을 완벽하게 테스트할 수 있으며, Android Virtual Device(AVD)에서 Google Play 서비스를 편리하게 최신 상태로 유지할 수 있습니다. 실제 기기에서 Google Play 서비스 업데이트와 마찬가지로 AVD에서 동일한 업데이트를 실행할 수 있습니다.
Android Emulator의 Google Play Store
Android Emulator에서 Google Play 서비스 업데이트
앱 보안과 물리적 기기와의 일관성 있는 환경을 보장하기 위해, Google Play Store가 포함된 에뮬레이터 시스템 이미지는 릴리스 키로 서명됩니다. 이는 승격된 권한을 얻을 수 없음을 의미합니다. 앱 문제해결을 돕기 위해 승격된 권한(루트)이 필요한 경우, Google 앱 또는 서비스가 포함되지 않은 안드로이드 오픈소스 프로젝트(AOSP) 에뮬레이터 시스템 이미지를 사용할 수 있습니다. 시작하려면 안드로이드 에뮬레이터 v26.1 이상, 최신 시스템 이미지 API 24 이상을 사용하고 있는지 확인한 다음 기기 정의 옆에 Google Play 아이콘이 있는 새로운 AVD를 만드세요.
자세히 알아보기.
Google Play Store 지원이 포함된 Android Virtual Device Manager
- 안드로이드 에뮬레이터에서 OpenGL ES 3.0 지원 - 안드로이드 에뮬레이터의 최신 버전에서는 OpenGL ES 2.0 그래픽 성능이 획기적인 향상 되었고, 가능한 겨OpenGL ES 3.0을 지원합니다. 모든 운영체제의 최신 그래픽 카드는 OpenGL ES 2.0 가속을 지원합니다. 안드로이드 에뮬레이터에서 OpenGL ES 3.0을 사용하려면 개발 컴퓨터에 Microsoft® Windows® 또는 Linux에서 OpenGL 3.2 이상을 지원하는 호스트 GPU 그래픽 카드가 필요합니다(향후 Apple MacOS® 지원 예정). 자세히 알아보기.
Android Emulator의 OpenGL ES 3.0
- 안드로이드 에뮬레이터의 App Bug Reporter- 앱의 버그 기록에 도움이 되도록, 필요한 모든 구성 설정과 재현 단계를 캡처할 공간이 있는 버그 신고를 생성하는 손쉬운 방법이 추가되었습니다. 또한, 특정 에뮬레이터 버그를 안드로이드 팀과 공유하려는 경우, Android Issue Tracker에서 신속하게 버그를 생성하기 위한 링크를 추가했습니다. 이 기능을 사용하려면 Emulator Tool Bar → Extended Controls → Help → Emulator Help → File a Bug로 이동하세요. 자세히 알아보기.
Android Emulator의 앱 버그 신고
- 안드로이드 프록시 지원 - 인터넷에 액세스하기 위해 HTTP 프록시를 사용해야 하는 사용자를 위해, 에뮬레이터에서 사용하는 프록시 설정을 관리하기 위한 사용자 인터페이스가 추가되었습니다. 기본적으로 안드로이드 에뮬레이터는 안드로이드 스튜디오의 설정을 사용하지만, 네트워크 설정에 대해 이 설정을 재정의할 수 있습니다. 구성하려면 Extended Controls → Settings → Proxy로 이동하세요.
- 안드로이드 에뮬레이터의 안드로이드 웨어 회전 컨트롤 - 안드로이드 에뮬레이터에서는 이제 안드로이드 웨어 2.0 에뮬레이터 시스템 이미지용 회전 컨트롤을 지원합니다. 따라서 회전 입력 스크롤을 포함한 안드로이드 웨어 기기를 타겟팅하는 앱의 테스트가 더 쉬워졌습니다. 안드로이드 웨어를 대상으로 하는 에뮬레이터 AVD를 만들고, Extended 컨트롤 아래 Rotary Input 패널을 확인해보세요. 자세히 알아보기.
Android Emulator의 회전 입력
- APK 디버깅 - 안드로이드 스튜디오에서 프로젝트를 빌드하지 않고 APK만 디버깅하려는 사용자를 위해, 이제 임의의 APK를 디버깅할 수 있는 기능이 추가되었습니다. 이 기능은 특히 다른 개발 환경에서 안드로이드 C++ 코드를 개발했지만 안드로이드 스튜디오의 컨텍스트에서 APK를 디버그하고 분석하려는 사용자에게 유용합니다. 디버그 가능한 APK 버전을 보유하고 있다면 새로운 APK 디버깅 기능을 사용하여 APK를 분석, 프로파일링 및 디버그할 수 있습니다. 또한, APK 소스에 액세스 권한이 있는 경우 소스를 APK 디버깅 흐름에 링크하여 더욱 효과적으로 디버깅을 수행할 수 있습니다. Android Studio Welcome 화면이나 File → Profile or debug APK에서 Profile or debug APK를 선택하여 간단히 시작할 수 있습니다. 자세히 알아보기.
APK 프로파일링 또는 디버그
APK 디버깅
- Layout Inspector - Layout Inspector에는 앱 레이아웃의 문제를 더 쉽게 디버깅할 수 있는 몇 가지 추가 기능이 있습니다. 두 가지 향상된 기능에는 속성을 공통 범주로 그룹화하는 기능의 개선과 뷰 트리 및 속성 패널의 검색 기능이 포함됩니다. 애플리케이션이 실행되는 동안 Tools → Android → Layout Inspector를 통해 Layout Inspector에 액세스하세요. 자세히 알아보기.
Layout Inspector
- Device File Explorer - DDMS에서 안드로이드 스튜디오로 이식된 새로운 Device File Explorer는 안드로이드 기기 또는 에뮬레이터의 파일과 디렉토리 구조를 볼 수 있는 기능을 제공합니다. 이제 앱을 테스트하면서 안드로이드 스튜디오에서 직접 앱 데이터 파일을 빠르게 미리 보고 수정할 수 있습니다.
Device File Explorer
최적화
- Android Profiler - 앱의 성능 문제를 디버깅하는 데 도움이 되는 새로운 도구 세트가 포함되어 있습니다. 이전 Android Monitor 도구 모음을 완전히 다시 작성하고, Android Profiler로 대체했습니다. 이제 실행 중인 기기 또는 에뮬레이터에 앱을 배포한 후 Android Profiler 탭을 클릭하면, 앱의 CPU, 메모리 및 네트워크 액티비티에 대한 실시간 통합 뷰를 볼 수 있습니다. 각 성능 이벤트는 터치 이벤트, 키 누름 및 액티비티 변경을 강조표시하는 UI 이벤트 타임라인에 매핑되므로, 특정 이벤트가 언제 어떻게 발생했는지 더 잘 파악할 수 있습니다. 각 타임라인을 클릭하여 앱의 각 성능 지표를 분석하세요. 자세히 알아보기.
Android Profiler - 결합된 타임라인 뷰.
- CPU 프로파일러 - 불필요한 CPU 프로세싱 및 부하 스파이크는 앱 성능 저하의 증상입니다. CPU 프로파일러를 사용하면 샘플 또는 계측된 CPU 추적을 실행하여 애플리케이션의 CPU 스레드 사용을 분석할 수 있습니다. 이 시점에서 CPU 프로파일러에 내장된 다양한 데이터 뷰 및 필터를 사용하여 CPU 성능 문제를 해결할 수 있습니다. 자세히 알아보기.
CPU 프로파일러
- 메모리 프로파일러 - 메모리를 비효율적으로 사용하면 버벅거리는 UI부터 메모리 부족 상황까지 다양한 기기 문제가 발생할 수 있습니다. 메모리 프로파일러는 이전 Heap Viewer 및 Allocation Tracker의 기능을 하나의 리치 인터페이스에 결합하여 앱의 메모리 사용 문제 디버그에 도움을 줍니다. 메모리 할당, 힙 덤프 등을 분석하여 다양한 메모리 문제를 진단할 수 있습니다. 자세히 알아보기.
- 네트워크 프로파일러 - 앱에서 포그라운드 및 백그라운드 네트워크 사용을 최적화하면 앱 성능이 향상되고 앱 데이터 사용량을 줄일 수 있습니다. 네트워크 프로파일러를 사용하면 앱의 네트워크 활동을 모니터링하고 각 네트워크 요청의 페이로드를 검사한 다음 네트워크 요청을 생성한 소스 코드 줄에 다시 링크할 수 있습니다. 현재, 네트워크 프로파일러는 HttpURLConnection, OkHttp 및 Volley 네트워크 라이브러리와 함께 작동합니다. 네트워크 프로파일러는 Run Configuration 상자의 Profiling 탭에서 Enable Advanced Profiling을 선택하여 안드로이드 O 이전 기기 및 에뮬레이터에서 사용할 수 있는 고급 분석 기능입니다. 네트워크 요청 및 페이로드 분석 사용 설정 외에도 이 확인란을 선택하면 최상위 레벨에서 이벤트 수집, 메모리 객체 카운트 및 메모리 가비지 수집을 사용 설정할 수 있습니다. 안드로이드 O 기반 기기 및 에뮬레이터의 경우, 앱을 배포하기만 하면 됩니다. 자세히 알아보기.
네트워크 프로파일러
Android O 이전 기기용 네트워크 프로파일러 설정
- APK Analyzer 개선 사항 - APK 크기를 더욱 최적화할 수 있도록 APK Analyzer에 몇 가지 개선된 기능을 추가했습니다. 이 기능 업데이트를 통해 이제 인스턴트 앱 zip 파일 및 AAR을 분석하고 클래스 및 메소드의 dex 바이트코드를 볼 수 있습니다. 또한, Proguard 구성 규칙을 생성하고 Proguard 매핑 파일을 dex 뷰어에 로드할 수도 있습니다. 자세히 알아보기.
APK Analyzer
요약하자면, 안드로이드 스튜디오 3.0 Canary 1에는 다음과 같은 새로운 주요 기능이 포함되어 있습니다.
자세한 내용은
출시 노트를 참조하세요.
시작하기
다운로드
이전 버전의 안드로이드 스튜디오를 사용하는 경우
안정적인 버전과 함께 안드로이드 스튜디오 3.0 Canary 1을 설치할 수 있습니다. 이 업데이트는 공식 Android Studio Preview
다운로드 페이지에서 다운로드할 수 있습니다. 이 블로그에서 언급했듯이, IDE의 새로운 기능을 지원하기 위해 Gradle Plugin API가 일부 변경되었습니다. 따라서 현재 프로젝트에서 Android Gradle 플러그인 버전을 3.0.0-alpha1로 업데이트하여 앱 프로젝트 설정을 테스트하고 유효성을 검사해야 합니다.
어떤 점이 마음에 드는지, 어떤 문제나 기능에 대해 알고 싶은지 피드백을 보내주시면 감사하겠습니다. 버그나 문제를 발견하면 언제든지
문제를 제기해 주세요.
Google+ 페이지나
Twitter에서 저희 안드로이드 스튜디오 개발 팀과 계속 소통하시기 바랍니다.