시작

Android Studio

작성일 2026.07.03 수정일 2026.07.03 조회 6

기본 정보

  • 명칭: Android Studio
  • 개발사: Google
  • 분류: 통합 개발 환경 IDE
  • 주요 용도: Android 앱 개발
  • 지원 언어: Kotlin, Java, C++
  • 빌드 도구: Gradle
  • 관련 기술: Android, Kotlin, Java, Gradle, Jetpack Compose

개요

Android Studio는 Google에서 제공하는 Android 공식 개발 도구이다.

Android 앱을 만들고, 실행하고, 디버깅하고, 빌드하고, Google Play에 배포하기 위한 기능을 제공한다.

Android 앱 개발을 하려면 대부분 Android Studio를 기준으로 작업하게 되며, Kotlin, Java, XML Layout, Jetpack Compose, Gradle 등을 함께 사용한다.


Android Studio 구조

개발자

↓

Android Studio

↓

Kotlin / Java 코드 작성

↓

Gradle 빌드

↓

Android Emulator 또는 실제 기기 실행

↓

APK / AAB 생성

주요 역할

  • Android 프로젝트 생성
  • Kotlin / Java 코드 작성
  • UI 화면 구성
  • 앱 실행 및 디버깅
  • 에뮬레이터 실행
  • Gradle 빌드 관리
  • APK / AAB 생성
  • Google Play 배포 준비
  • 성능 분석
  • 로그 확인

Android Studio 화면 구성

Android Studio

├── Project
├── Editor
├── Logcat
├── Terminal
├── Run
├── Debug
├── Gradle
└── Device Manager

주요 구성 요소

Project 창

프로젝트의 파일 구조를 확인하는 영역이다.

주요 폴더:

  • app
  • src
  • main
  • java
  • res
  • drawable
  • layout
  • mipmap
  • values

Editor

Kotlin, Java, XML, Gradle 파일을 작성하는 영역이다.

fun main() {
    println("Hello Android Studio")
}

Logcat

앱 실행 중 발생하는 로그를 확인하는 도구이다.

앱 실행

↓

Logcat 출력

↓

오류 확인

↓

문제 수정

Kotlin 로그 예시:

Log.d("MainActivity", "앱이 실행되었습니다.")

Device Manager

Android 에뮬레이터를 만들고 실행하는 도구이다.

Device Manager

↓

Create Device

↓

Pixel 선택

↓

Android System Image 선택

↓

Emulator 실행

Terminal

Android Studio 안에서 명령어를 실행할 수 있는 터미널이다.

./gradlew build

Windows에서는 다음처럼 실행할 수 있다.

gradlew build

Android 프로젝트 구조

MyApp/

├── app/
│   ├── build.gradle
│   └── src/
│       └── main/
│           ├── AndroidManifest.xml
│           ├── java/
│           └── res/
│               ├── drawable/
│               ├── layout/
│               ├── mipmap/
│               └── values/
│
├── build.gradle
├── settings.gradle
└── gradle/

주요 파일 설명

파일설명
AndroidManifest.xml앱 권한, Activity, Service 설정
MainActivity.kt앱의 기본 실행 화면
build.gradle빌드 설정
settings.gradle프로젝트 모듈 설정
res/layoutXML 화면 파일
res/drawable이미지 리소스
res/values문자열, 색상, 스타일 설정

AndroidManifest.xml

Android 앱의 핵심 설정 파일이다.

앱 이름, 권한, Activity, Service 등을 등록한다.

<manifest xmlns:android="http://schemas.android.com/apk/res/android">

    <uses-permission android:name="android.permission.INTERNET" />

    <application
        android:theme="@style/Theme.MyApp"
        android:label="MyApp">

        <activity android:name=".MainActivity" />

    </application>

</manifest>

MainActivity

Android 앱에서 기본 화면 역할을 하는 클래스이다.

Kotlin 예시:

class MainActivity : AppCompatActivity() {
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
    }
}

Jetpack Compose 예시:

class MainActivity : ComponentActivity() {
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)

        setContent {
            Text("Hello Android")
        }
    }
}

Gradle

Gradle은 Android 프로젝트의 빌드 도구이다.

라이브러리 설치, SDK 버전 설정, 앱 버전 설정, 빌드 타입 설정 등을 담당한다.

plugins {
    id 'com.android.application'
    id 'org.jetbrains.kotlin.android'
}

android {
    namespace 'com.example.myapp'
    compileSdk 35

    defaultConfig {
        applicationId 'com.example.myapp'
        minSdk 23
        targetSdk 35
        versionCode 1
        versionName '1.0'
    }
}

Kotlin

Kotlin은 Android 공식 권장 개발 언어이다.

val appName = "MyApp"

fun showMessage() {
    println("Hello Kotlin")
}

Java

기존 Android 프로젝트에서는 Java도 많이 사용된다.

public class MainActivity extends AppCompatActivity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
    }
}

UI 개발 방식

Android Studio에서 UI를 만드는 방식은 크게 두 가지이다.

방식설명
XML LayoutXML 파일로 화면 구성
Jetpack ComposeKotlin 코드로 선언형 UI 구성

XML Layout 예시

<TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="Hello Android" />

Jetpack Compose 예시

@Composable
fun Greeting(name: String) {
    Text(text = "Hello $name")
}

XML Layout과 Jetpack Compose 비교

XML LayoutJetpack Compose
기존 방식최신 선언형 UI
XML 파일 사용Kotlin 코드 사용
오래된 프로젝트에서 많이 사용신규 프로젝트에서 많이 사용
구조가 분리됨UI와 상태 관리가 직관적
유지보수 시 파일이 많아질 수 있음코드 중심으로 관리 가능

앱 실행 과정

코드 작성

↓

Run 클릭

↓

Gradle 빌드

↓

에뮬레이터 또는 실제 기기 설치

↓

앱 실행

디버깅 과정

오류 발생

↓

Logcat 확인

↓

Breakpoint 설정

↓

Debug 실행

↓

변수 상태 확인

↓

코드 수정

에뮬레이터

Android Emulator는 PC에서 Android 기기를 가상으로 실행하는 기능이다.

활용 예시:

  • 앱 실행 테스트
  • 화면 크기 테스트
  • Android 버전별 테스트
  • 위치 정보 테스트
  • 네트워크 상태 테스트

실제 기기 테스트

실제 Android 스마트폰에서 앱을 테스트할 수 있다.

기본 흐름:

스마트폰 개발자 옵션 활성화

↓

USB 디버깅 활성화

↓

PC와 USB 연결

↓

Android Studio에서 기기 선택

↓

앱 실행

APK와 AAB

형식설명
APKAndroid 앱 설치 파일
AABGoogle Play 배포용 앱 번들
Debug APK개발 테스트용
Release APK실제 배포용

Google Play 배포에는 일반적으로 AAB를 사용한다.


빌드 과정

Kotlin / Java 코드

↓

Resource

↓

Gradle

↓

Compile

↓

Package

↓

APK 또는 AAB 생성

자주 사용하는 Gradle 명령어

./gradlew clean
./gradlew build
./gradlew assembleDebug
./gradlew assembleRelease

Android Studio와 VSCode 비교

Android StudioVSCode
Android 공식 IDE범용 코드 에디터
에뮬레이터 통합확장 설치 필요
Gradle 통합수동 설정 필요
UI 미리보기 지원제한적
무거운 편가벼운 편
Android 앱 개발에 최적화다양한 언어 작업에 적합

Android Studio와 Xcode 비교

Android StudioXcode
Android 앱 개발iOS 앱 개발
Google 제공Apple 제공
Kotlin, Java 사용Swift, Objective-C 사용
Gradle 빌드Xcode Build System
Emulator 사용Simulator 사용
Google Play 배포App Store 배포

대표 활용 분야

  • Android 앱 개발
  • Android 게임 개발
  • WebView 앱 개발
  • Kotlin 학습
  • Java Android 유지보수
  • Jetpack Compose 앱 개발
  • Firebase 연동 앱
  • Google Play 배포
  • 사내 업무용 앱 제작
  • IoT 제어 앱 개발

장점

  • Android 공식 개발 도구
  • 에뮬레이터 내장
  • Kotlin 지원 우수
  • Gradle 빌드 통합
  • UI 미리보기 지원
  • 디버깅 기능 제공
  • Logcat으로 오류 확인 가능
  • Google Play 배포 준비 가능

단점

  • 프로그램이 무거운 편
  • 초기 설정이 복잡할 수 있음
  • Gradle 오류가 자주 발생할 수 있음
  • 에뮬레이터가 느릴 수 있음
  • SDK와 버전 관리가 필요함
  • 초보자는 프로젝트 구조가 어렵게 느껴질 수 있음

자주 발생하는 문제

문제원인
Gradle Sync FailedGradle 설정 오류, 네트워크 문제
Emulator 실행 안 됨가상화 설정 문제
SDK not foundAndroid SDK 경로 문제
Manifest merger failedManifest 설정 충돌
앱 설치 실패패키지명, 서명, 기기 호환성 문제
Build failed의존성 또는 코드 오류

실무 메모

  • 신규 Android 개발은 Kotlin을 기준으로 학습하는 것이 좋다.
  • 기존 프로젝트 유지보수에서는 Java와 XML Layout도 알아야 한다.
  • Gradle 오류는 메시지를 자세히 읽는 것이 중요하다.
  • 에뮬레이터보다 실제 기기 테스트가 더 정확하다.
  • 앱 배포 전 Release 빌드와 서명 설정을 확인해야 한다.
  • AndroidManifest.xml 권한 설정을 반드시 점검한다.
  • Logcat을 자주 확인하면 오류 추적이 쉬워진다.
  • 이미지 리소스는 해상도별 관리가 필요하다.
  • 네트워크 기능은 INTERNET 권한을 확인해야 한다.
  • WebView 앱은 JavaScript, 파일 업로드, 뒤로가기 처리를 별도로 구현해야 한다.
  • Google Play 배포 시 개인정보 처리방침과 권한 사용 목적을 준비해야 한다.
  • 프로젝트를 시작하기 전에 최소 SDK와 대상 SDK를 정해야 한다.

학습 순서

Android 기본 개념

↓

Android Studio 설치

↓

Kotlin 기초

↓

Activity

↓

Layout 또는 Compose

↓

Intent

↓

Permission

↓

Network

↓

Local DB

↓

APK / AAB 빌드

↓

Google Play 배포

Android Studio와 함께 사용하는 기술


대표 활용 사례

  • 모바일 앱 개발
  • Android 게임 개발
  • 쇼핑몰 앱 제작
  • WebView 기반 하이브리드 앱
  • Firebase 로그인 앱
  • 위치 기반 앱
  • 푸시 알림 앱
  • 사내 업무용 앱
  • IoT 제어 앱
  • Google Play 출시 앱

관련 문서


출처

  • Android Studio 공식 문서
  • Android Developers
  • Kotlin 공식 문서