Android Studio 만나보기

Android 스튜디오는 Android 앱 개발을 위한 공식 통합 개발 환경(IDE)입니다. Android 스튜디오는 IntelliJ IDEA의 강력한 코드 편집기와 개발자 도구를 기반으로 Android 앱을 빌드할 때 생산성을 높여주는 다음과 같은 다양한 기능을 제공합니다.

  • 유연한 Gradle 기반 빌드 시스템
  • 빠르고 기능이 풍부한 에뮬레이터
  • 모든 Android 기기용으로 개발할 수 있는 통합 환경
  • 에뮬레이터와 실제 기기에서 구성 가능한 함수를 실시간으로 업데이트할 수 있는 실시간 편집
  • 일반적인 앱 기능을 빌드하고 샘플 코드를 가져오는 데 도움이 되는 코드 템플릿과 GitHub 통합
  • 광범위한 테스트 도구 및 프레임워크
  • 성능, 사용성, 버전 호환성 및 기타 문제를 파악하는 린트 도구
  • C++ 및 NDK 지원
  • Google 클라우드 메시징과 App Engine을 간편하게 통합하는 Google Cloud Platform을 기본적으로 지원

이 페이지에서는 Android 스튜디오의 기본 기능을 소개합니다. 최신 변경사항의 요약 내용은 Android 스튜디오 출시 노트를 참고하세요.

프로젝트 구조

그림 1. Android 프로젝트 뷰의 프로젝트 파일

Android 스튜디오의 각 프로젝트에는 소스 코드 파일 및 리소스 파일과 함께 모듈이 하나 이상 포함됩니다. 모듈 유형에는 다음이 포함됩니다.

  • Android 앱 모듈
  • 라이브러리 모듈
  • Google App Engine 모듈

Android 스튜디오는 기본적으로 Android 프로젝트 뷰에 프로젝트 파일을 표시합니다(그림 1 참고). 프로젝트의 주요 소스 파일에 신속하게 액세스할 수 있도록 이 뷰는 모듈별로 구성됩니다. 모든 빌드 파일은 최상위의 Gradle Scripts에 표시됩니다.

각 앱 모듈에는 다음 폴더가 포함됩니다.

  • manifests: AndroidManifest.xml 파일을 포함합니다.
  • java: JUnit 테스트 코드를 비롯한 Kotlin 및 자바 소스 코드 파일을 포함합니다.
  • res: 코드가 아닌 모든 리소스를 포함합니다(UI 문자열, 비트맵 이미지 등).

디스크의 Android 프로젝트 구조는 이 평면화된 표현과 다릅니다. 프로젝트의 실제 파일 구조를 보려면 Project 메뉴에서 Android 대신 Project를 선택합니다.

자세한 내용은 프로젝트 개요를 참고하세요.

Gradle 빌드 시스템

Android 스튜디오는 빌드 시스템의 기반으로 Gradle을 사용하며, 더 많은 Android 전용 기능이 Android Gradle 플러그인을 통해 제공됩니다. 이 빌드 시스템은 Android 스튜디오 메뉴에서는 통합 도구로 실행되고, 명령줄에서는 독립적으로 실행됩니다. 이 빌드 시스템의 기능을 사용하여 다음 작업을 실행할 수 있습니다.

  • 빌드 프로세스 맞춤설정, 구성 및 확장
  • 동일한 프로젝트 및 모듈을 사용하여 다양한 기능을 갖춘 앱을 위한 여러 APK 생성
  • 전체 소스 세트에 걸쳐 코드 및 리소스 재사용

Gradle의 유연성을 활용하면 앱의 주요 소스 파일을 수정하지 않고도 이 모든 작업을 처리할 수 있습니다.

Android 스튜디오 빌드 파일은 Kotlin을 사용하는 경우(권장) build.gradle.kts로 명명되고 Groovy를 사용하는 경우 build.gradle로 명명됩니다. 이 빌드 파일은 Kotlin 또는 Groovy 구문을 사용하여 Android Gradle 플러그인이 제공하는 요소들로 빌드를 구성하는 일반 텍스트 파일입니다. 전체 프로젝트에서 각 프로젝트에는 하나의 최상위 빌드 파일이 있으며 모듈별로 별도의 모듈 수준 빌드 파일이 있습니다. 개발자가 기존 프로젝트를 가져오면 Android 스튜디오는 필요한 빌드 파일을 자동으로 생성합니다.

빌드 시스템 및 빌드 구성 방법에 관한 자세한 내용은 빌드 구성을 참고하세요.

빌드 변형

빌드 시스템을 사용하여 단일 프로젝트에서 동일한 앱의 다양한 버전을 만들 수 있습니다. 이 기능은 무료 버전 앱과 유료 버전 앱이 둘 다 있거나 Google Play에서 다른 기기 설정에 관해 여러 APK를 배포하려는 경우에 유용합니다.

빌드 변형 구성에 관한 자세한 내용은 빌드 변형 구성을 참고하세요.

다중 APK 지원

다중 APK 지원을 사용하면 화면 밀도 또는 ABI를 기반으로 여러 APK를 효율적으로 만들 수 있습니다. 예를 들어 hdpimdpi 화면 밀도에 맞게 앱의 개별 APK를 만드는 동시에 이들을 단일 변형으로 간주하여 테스트 APK, javac, dx 및 ProGuard 설정을 공유하도록 허용할 수 있습니다.

다중 APK 지원에 관한 자세한 내용은 다중 APK 빌드를 참고하세요.

리소스 축소

Android 스튜디오의 리소스 축소는 패키지 앱과 라이브러리 종속 항목으로부터 미사용 리소스를 자동으로 삭제합니다. 예를 들어, 앱에서 Google Play 서비스를 사용하여 Google Drive 기능에 액세스하고 현재 Google 로그인을 사용하고 있지 않은 경우 리소스 축소를 사용하면 SignInButton 버튼의 다양한 드로어블 애셋을 삭제할 수 있습니다.

참고: 리소스 축소는 ProGuard 등의 코드 축소 도구와 함께 사용됩니다.

코드 및 리소스 축소에 관한 자세한 내용은 앱 축소, 난독화 및 최적화를 참고하세요.

종속 항목 관리

프로젝트의 종속 항목은 모듈 수준 빌드 스크립트에서 이름으로 지정됩니다. Gradle은 종속 항목을 찾아 빌드에서 사용할 수 있게 합니다. 모듈 종속 항목, 원격 바이너리 종속 항목, 로컬 바이너리 종속 항목을 build.gradle.kts 파일에서 선언할 수 있습니다.

기본적으로 Android 스튜디오는 Maven Central Repository를 사용하도록 프로젝트를 구성합니다. 이 구성은 프로젝트의 최상위 빌드 파일에 포함됩니다.

종속 항목 구성에 관한 자세한 내용은 빌드 종속 항목 추가를 참고하세요.

디버그 및 프로파일링 도구

Android 스튜디오를 사용하면 인라인 디버깅 및 성능 분석 도구 등을 사용하여 코드를 디버그하고 코드 성능을 개선할 수 있습니다.

인라인 디버깅

참조, 표현식 및 변수 값의 인라인 확인 기능이 있는 디버거 뷰에서 인라인 디버깅을 사용하여 코드 검토 능률을 높입니다.

인라인 디버그 정보에는 다음과 같은 항목이 포함됩니다.

  • 인라인 변수 값
  • 선택한 객체를 참조하는 객체
  • 메서드 반환 값
  • 람다 및 연산자 표현식
  • 도움말 값

인라인 디버깅을 사용 설정하려면 Debug 창에서 Settings 를 클릭하고 Show Variable Values in Editor를 선택합니다.

성능 프로파일러

Android 스튜디오는 성능 프로파일러를 제공하며 이를 통해 앱의 메모리 및 CPU 사용량을 쉽게 추적하고, 할당 해제된 객체를 확인하고, 메모리 누수를 찾아내고, 그래픽 성능을 최적화하고, 네트워크 요청을 분석할 수 있습니다.

성능 프로파일러를 사용하려면 앱이 기기 또는 에뮬레이터에서 실행 중일 때 View > Tool Windows > Profiler를 선택하여 Android 프로파일러를 엽니다.

성능 프로파일러에 관한 자세한 내용은 앱 성능 프로파일링을 참고하세요.

힙 덤프

Android 스튜디오에서 메모리 사용량을 프로파일링 중인 경우, 동시에 가비지 컬렉션을 시작하고 자바 힙을 Android 전용 HPROF 바이너리 형식 파일로 힙 스냅샷에 덤프할 수 있습니다. HPROF 뷰어는 클래스, 각 클래스의 인스턴스, 참조 트리를 표시하므로 메모리 사용량을 추적하고 메모리 누수를 찾는 데 도움이 됩니다.

힙 덤프 작업에 관한 자세한 내용은 힙 덤프 캡처를 참고하세요.

메모리 프로파일러

메모리 프로파일러를 사용하면 메모리 할당을 추적하고 특정 작업을 실행할 때 객체가 어디에서 할당되는지 살펴볼 수 있습니다. 이러한 할당을 검토하면 작업과 관련된 메서드 호출을 조정하여 앱의 성능과 메모리 사용을 최적화할 수 있습니다.

할당의 추적 및 분석에 관한 자세한 내용은 메모리 할당 보기를 참고하세요.

데이터 파일 액세스

SystraceLogcat과 같은 Android SDK 도구는 자세한 앱 분석을 위해 성능 및 디버깅 데이터를 생성합니다.

사용 가능한 생성된 데이터 파일을 보려면 다음을 따르세요.

  1. Captures 도구 창을 엽니다.
  2. 생성된 파일 목록에서 파일을 더블클릭하여 데이터를 봅니다.
  3. HPROF 파일을 마우스 오른쪽 버튼으로 클릭하여 표준으로 변환합니다.
  4. RAM 사용량 파일 형식을 조사합니다.

코드 검사

개발자가 프로그램을 컴파일할 때마다 Android 스튜디오는 구성된 린트 및 기타 IDE 검사를 자동으로 실행하여 코드의 구조적 품질 문제를 쉽게 식별하고 수정하도록 도와줍니다.

린트 도구는 Android 프로젝트 소스 파일을 검사하여 잠재적 버그를 찾아내고 정확성, 보안, 성능, 사용성, 접근성, 국제화 등을 최적화합니다.

그림 2. Android 스튜디오에서 린트 검사의 결과

린트 검사 외에도, Android 스튜디오는 IntelliJ 코드 검사를 실행하고 주석의 유효성을 검사하여 코딩 워크플로를 능률화합니다.

자세한 내용은 린트 검사로 코드 개선을 참고하세요.

Android 스튜디오의 주석

Android 스튜디오는 변수, 매개변수 및 반환 값에 관한 주석을 지원하므로, 개발자는 null 포인터 예외 및 리소스 유형 충돌 등의 버그를 포착할 수 있습니다.

Android SDK Manager는 Android 스튜디오에서 사용할 수 있도록 Jetpack Annotations 라이브러리를 Android 지원 저장소에서 패키징합니다. Android 스튜디오는 코드를 검사하는 동안 구성된 주석의 유효성을 검사합니다.

Android 주석에 관한 자세한 내용은 주석으로 코드 검사 개선을 참고하세요.

로그 메시지

Android 스튜디오로 앱을 빌드 및 실행할 때 Logcat에서 adb 출력 및 기기 로그 메시지를 볼 수 있습니다.

개발자 계정에 로그인

Android 스튜디오에서 개발자 계정에 로그인하여 Firebase와 같이 인증이 필요한 추가 도구에 액세스합니다. 로그인하면 이러한 도구에 다양한 Google 서비스에서 내 데이터를 보고 관리할 권한을 부여하게 됩니다.

Android 스튜디오에서 프로젝트를 연 후에 다음과 같은 방법으로 개발자 계정에 로그인하거나 개발자 계정을 전환할 수 있습니다.

  1. 툴바 끝에 있는 프로필 아이콘 을 클릭합니다.

  2. 창이 열리면 다음 단계 중 하나를 따릅니다.

    • 아직 로그인하지 않았다면 Sign In을 클릭하여 표시된 서비스에 Android 스튜디오가 액세스할 수 있도록 허용합니다.
    • 이미 로그인했다면 Add Account를 클릭하여 다른 Google 계정으로 로그인합니다.

      또는 Sign Out을 클릭한 후 이전 단계를 반복하여 다른 계정에 로그인할 수 있습니다.