안드로이드 스튜디오

**안드로이드 스튜디오**()는 안드로이드 소프트웨어를 작성하기 위한 공식 IDE이다. IntelliJ IDEA 기반의 소스 코드 편집기, Gradle 빌드 도구, Android SDK를 묶어 놓았다. 이는 Windows, MacOS 및 Linux 기반 운영 체제에서 다운로드할 수 있다. 안드로이드 스튜디오에 제공되는 각 구성 요소는 자체 약관에 따라 라이선스가 부여된다. SDK 외에 대부분의 구성 요소는 Apache License에 따라 배포된다.

안드로이드 스튜디오는 2013년 5월 16일 구글 I/O 컨퍼런스에서 발표되었다. 2013년 5월 버전 0.1부터 초기 액세스 미리보기 단계에 있었고, 2014년 6월에 출시된 버전 0.8부터 베타 단계에 진입했다. 첫 번째 안정 빌드는 2014년 12월 버전 1.0부터 출시되었다. 2015년 말, Eclipse ADT에 대한 지원을 중단하고 안드로이드 스튜디오를 안드로이드 개발을 위한 유일한 공식 지원 IDE로 만들었다.

2019년 5월 7일, Kotlin이 Java를 대체하여 구글이 선호하는 안드로이드 앱 개발 언어가 되었다. Java는 여전히 지원되며, C++도 지원된다.

## 기능

**플러그인 생태계 및 확장성**

안드로이드 스튜디오의 아키텍처는 높은 확장성을 가지도록 설계되어, 개발자들이 강력한 플러그인 생태계를 통해 IDE를 특정 요구 사항에 맞춰 조정할 수 있도록 한다. 플러그인은 새로운 기능을 도입하고, 외부 도구를 통합하며, 기존 기능을 향상시켜 개발 프로세스를 간소화한다.

**내장 플러그인**: 안드로이드 지원, 코틀린 지원, Git 통합과 같이 안드로이드 스튜디오에 통합된 필수 도구.

**타사 플러그인**: Firebase Assistant, ButterKnife Zelezny, SQLDelight와 같이 기능을 확장하는 인기 있는 커뮤니티 기반 확장 기능.

**사용자 지정 플러그인 개발**: IntelliJ 플랫폼 SDK와 자동화 및 사용자 정의를 위한 Gradle 플러그인을 사용하여 새로운 플러그인을 구축하는 과정.

**플러그인 관리**: 성능 및 호환성을 유지하기 위해 플러그인을 설치, 업데이트 및 최적화하는 모범 사례.

### 내장 플러그인
안드로이드 스튜디오는 기본적으로 필수 개발 작업을 지원하는 일련의 내장 플러그인을 포함하고 있다.

* **안드로이드 지원**: 프로젝트 템플릿, 마법사, 안드로이드 SDK 관리자를 포함하여 안드로이드 개발에 특화된 도구 및 통합을 제공한다.
* **코틀린 지원**: Kotlin이 2019년 구글의 선호 안드로이드 앱 개발 언어가 된 이후, 안드로이드 스튜디오는 Kotlin에 대한 포괄적인 지원을 통합하여 원활한 개발 경험을 제공한다.
* **Git 통합**: 버전 관리 지원을 제공하여 개발자가 IDE 내에서 직접 코드 저장소를 관리할 수 있도록 한다.

### 타사 플러그인
내장 옵션 외에도 개발자는 안드로이드 스튜디오의 기능을 확장하기 위해 방대한 타사 플러그인을 이용할 수 있다.

* **Firebase Assistant**: 분석, 인증, 클라우드 메시징과 같은 Firebase 서비스를 앱에 추가하는 과정을 간소화한다.
* **ButterKnife Zelezny**: 안드로이드의 ButterKnife 라이브러리를 위한 뷰 바인딩 생성을 자동화하여 상용구 코드를 줄인다.
* **SQLDelight**: SQL 문에서 타입 안전 API를 생성하는 데 도움을 주어 안드로이드 애플리케이션 내에서 데이터베이스 상호 작용을 간소화한다.

이러한 플러그인들은 다른 많은 플러그인들과 함께 JetBrains Plugin Repository를 통해 이용할 수 있으며, 안드로이드 스튜디오의 플러그인 관리자를 통해 쉽게 설치할 수 있다.

### 사용자 지정 플러그인 개발
특정 요구 사항의 경우, 개발자는 사용자 지정 플러그인을 생성할 수 있는 옵션이 있다.

* **IntelliJ Platform SDK**: 안드로이드 스튜디오는 JetBrains의 IntelliJ IDEA를 기반으로 하며, 개발자는 IntelliJ Platform SDK를 활용하여 IDE의 기능을 확장하는 플러그인을 개발할 수 있다.
* **Gradle 플러그인**: 사용자 지정 Gradle 플러그인은 빌드 프로세스를 자동화하고, 종속성을 관리하며, 기타 빌드 관련 작업을 수행하여 프로젝트 워크플로의 효율성을 높일 수 있다.

종합적인 문서와 커뮤니티 리소스가 개발자들이 플러그인 개발 과정을 안내하여 복잡한 확장 기능도 효과적으로 구현될 수 있도록 한다.

### 플러그인 관리
플러그인을 효과적으로 관리하는 것은 최적의 개발 환경을 유지하는 데 중요하다.

* **설치 및 업데이트**: 플러그인은 설정 메뉴를 통해 접근할 수 있는 안드로이드 스튜디오의 플러그인 관리자를 통해 직접 설치하고 업데이트할 수 있다.
* **호환성 고려 사항**: 잠재적인 충돌이나 문제를 방지하기 위해 플러그인이 사용 중인 안드로이드 스튜디오의 특정 버전과 호환되는지 확인하는 것이 중요하다.
* **성능 영향**: 플러그인이 유용한 기능을 추가하지만, 과도한 수의 플러그인은 리소스 소비를 증가시킬 수 있다. 불필요한 플러그인을 정기적으로 검토하고 비활성화하면 IDE 성능을 유지하는 데 도움이 된다.

플러그인 생태계를 활용하여 개발자는 안드로이드 스튜디오를 자신의 워크플로에 맞춰 사용자 정의하고, 선호하는 도구를 통합하며, 생산성을 향상시켜 안드로이드 애플리케이션 개발을 위한 다재다능한 환경을 만들 수 있다.

현재 안정 버전에서 제공되는 기능은 다음과 같다:

* Gradle 기반 빌드 지원
* 안드로이드 전용 리팩토링 및 빠른 수정
* 성능, 유용성, 버전 호환성 및 기타 문제를 포착하는 Lint 도구
* ProGuard 통합 및 앱 서명 기능
* 일반적인 안드로이드 디자인 및 구성 요소를 생성하는 템플릿 기반 마법사
* 사용자가 UI 구성 요소를 끌어다 놓을 수 있는 풍부한 레이아웃 편집기, 여러 화면 구성에서 레이아웃 미리보기 옵션
* Android Wear 앱 빌드 지원
* Firebase 클라우드 메시징(이전의 '구글 클라우드 메시징') 및 Google App Engine과의 통합을 가능하게 하는 Google Cloud 플랫폼 내장 지원
* 안드로이드 스튜디오에서 앱을 실행하고 디버깅하기 위한 안드로이드 가상 장치 (에뮬레이터)

안드로이드 스튜디오는 IntelliJ (및 CLion)의 모든 동일한 프로그래밍 언어를 지원한다. 예를 들어 Java, C++, 그리고 Go와 같은 더 많은 확장 기능을 지원한다. 안드로이드 스튜디오 3.0 이상은 Kotlin을 지원하며, "안드로이드 스튜디오는 앱에 최소 API 수준을 요구하지 않고도 여러 Java 11+ API를 사용하는 것을 지원한다." 외부 프로젝트는 일부 Java 9 기능을 백포트한다. IntelliJ는 Android 스튜디오가 모든 출시된 Java 버전과 Java 12를 지원한다고 명시하고 있지만, Android 스튜디오가 Java 12까지의 Java 버전을 어느 수준으로 지원하는지는 명확하지 않다 (문서에는 부분적인 Java 8 지원이 언급되어 있다). 적어도 Java 12까지의 일부 새로운 언어 기능은 Android에서도 사용할 수 있다.

앱이 안드로이드 스튜디오로 컴파일되면 Google Play 스토어에 게시할 수 있다. 애플리케이션은 Google Play 스토어 개발자 콘텐츠 정책에 따라야 한다.

## 버전 역사
다음은 안드로이드 스튜디오의 주요 릴리스 목록이다.

## 시스템 요구사항

이러한 기능에는 IDE + 안드로이드 SDK + 안드로이드 에뮬레이터에 대한 요구 사항이 포함된다.

* Windows: x86_64 CPU 아키텍처; 2세대 인텔 코어 이상, 또는 Windows 하이퍼바이저를 지원하는 AMD CPU;
* Mac OS: ARM 기반 칩 또는 Hypervisor.Framework를 지원하는 2세대 인텔 코어 이상;
* Linux: x86_64 CPU 아키텍처; 2세대 인텔 코어 이상, 또는 AMD 가상화(AMD-V) 및 SSSE3을 지원하는 AMD 프로세서;
* Windows: UG(무제한 게스트) 지원 CPU;
* Intel Hardware Accelerated Execution Manager (**HAXM**) 6.2.1 이상 (HAXM 7.2.0 이상 권장).

하드웨어 가속 사용에는 Windows 및 Linux에서 추가 요구 사항이 있다.

* Windows 또는 Linux의 Intel 프로세서: Intel VT-x, Intel EM64T (Intel 64) 및 Execute Disable (XD) Bit 기능을 지원하는 Intel 프로세서;
* Linux의 AMD 프로세서: AMD 가상화(AMD-V) 및 Supplemental Streaming SIMD Extensions 3 (SSSE3)을 지원하는 AMD 프로세서;
* Windows의 AMD 프로세서: Android Studio 3.2 이상 및 Windows 10 April 2018 릴리스 이상에서 Windows Hypervisor Platform (WHPX) 기능 사용.

안드로이드 8.1(API 레벨 27) 이상 시스템 이미지와 함께 작동하는 웹캠은 720p 프레임을 캡처할 수 있는 기능을 가지고 있어야 한다.

## 같이 보기
* 타이젠 스튜디오

## 각주

## 외부 링크

* 공식 웹사이트

분류:안드로이드 개발 소프트웨어
분류:구글의 소프트웨어
분류:아파치 라이선스 소프트웨어
분류:자유 통합 개발 환경
분류:소프트웨어 개발 키트