안드로이드 빌드파일이란?
안드로이드 프로젝트에서는 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로 따로 관리하여 유지보수를 간편하게 할 수 있습니다.