본문 바로가기

카테고리 없음

안드로이드 빌드파일

안드로이드 빌드파일이란?


안드로이드 프로젝트에서는 Gradle이라는 빌드 도구를 사용해 앱을 빌드, 테스트, 패키징 합니다.

Gradle 설정은 프로젝트 내 build.gradle 파일을 통해 정의되며, 이 파일은 크게 두 가지로 나뉩니다:

  • Project-level build.gradle: 전체 프로젝트의 빌드 설정
  • Module-level build.gradle: 실제 앱 모듈의 세부 설정


Project-level build.gradle

// android/build.gradle
buildscript {
    ext.kotlin_version = '1.9.0'
    repositories {
        google()
        mavenCentral()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:8.1.1'
        classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
    }
}


이 파일은 전체 프로젝트에 영향을 주는 설정을 포함합니다. Kotlin, Android Gradle Plugin 등 주요 플러그인의 버전 및 저장소를 이곳에서 관리합니다.


Module-level build.gradle (예: app 모듈)

plugins {
    id 'com.android.application'
    id 'kotlin-android'
}

android {
    compileSdk 34

    defaultConfig {
        applicationId "com.example.myapp"
        minSdk 24
        targetSdk 34
        versionCode 1
        versionName "1.0"
    }

    buildTypes {
        release {
            minifyEnabled true
            proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
        }
    }
}

dependencies {
    implementation "androidx.core:core-ktx:1.12.0"
    implementation "androidx.appcompat:appcompat:1.6.1"
    implementation "com.google.android.material:material:1.10.0"
}

이곳은 앱 모듈에 실제로 적용되는 설정들입니다. 컴파일 SDK, 앱의 버전 정보, 빌드 타입 및 의존성 라이브러리들을 정의합니다.


자주 발생하는 빌드파일 관련 이슈

이슈 설명 및 해결 방법

  • Plugin with id 'com.android.application' not found plugins 블록이나 classpath 선언이 누락된 경우
  • Cannot resolve dependency 버전이 존재하지 않거나 저장소 선언 누락
  • Gradle sync failed Gradle 캐시 오류일 수 있으며, Invalidate Caches 후 재시작 추천


빌드 최적화 팁

  • 사용하지 않는 라이브러리는 제거하여 빌드 시간을 단축합니다.
  • Proguard나 R8 설정을 통해 앱 크기를 줄이고, 보안성을 높입니다.
  • 버전 번호를 ext로 따로 관리하여 유지보수를 간편하게 할 수 있습니다.