[Android] 빌드 변형 (Build Variants) 사용하기
안드로이드 앱 개발 시, 다양한 이유로 여러 가지 빌드 변형(build variants)을 만들어야 할 필요가 있습니다. 예를 들어, 개발 중인 버전과 출시 버전을 구분하거나, 다양한 API 엔드포인트를 사용하는 버전을 만들어야 할 때입니다. 안드로이드 스튜디오와 Gradle을 사용하면 이러한 빌드 변형을 쉽게 관리할 수 있습니다. 여기서는 기본적인 빌드 변형 나누는 방법을 안내합니다.
1. Build Types 설정하기
빌드 타입은 일반적으로 개발(debug)과 출시(release) 두 가지가 기본적으로 설정되어 있습니다. 이를 기반으로 추가적인 설정을 할 수 있습니다.
build.gradle 파일에서 android 섹션을 찾아 buildTypes 블록 안에 새로운 빌드 타입을 정의할 수 있습니다.
android {
...
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
}
debug {
applicationIdSuffix ".debug"
versionNameSuffix "-DEBUG"
}
// 새로운 빌드 타입 추가
staging {
initWith(buildTypes.debug)
applicationIdSuffix ".staging"
versionNameSuffix "-STAGING"
}
}
}
2. Product Flavors 설정하기
빌드 타입 외에도, 제품 변형(product flavors)을 통해 더 세분화된 설정을 할 수 있습니다. 예를 들어, 무료 버전과 유료 버전을 구분하거나, 서버의 개발 환경과 실제 환경을 구분할 때 유용합니다.
build.gradle 파일에서 android 섹션을 찾아 productFlavors 블록 안에 제품 변형을 정의할 수 있습니다.
android {
...
productFlavors {
free {
applicationId "com.example.myapp.free"
versionName "1.0-free"
}
paid {
applicationId "com.example.myapp.paid"
versionName "1.0-paid"
}
}
}
3. 빌드 변형 조합하기
빌드 타입과 제품 변형을 조합하면, 다양한 빌드 변형을 생성할 수 있습니다. 예를 들어, debug와 release 빌드 타입에 free와 paid 제품 변형을 조합하면, 총 4가지의 빌드 변형(freeDebug, freeRelease, paidDebug, paidRelease)이 생성됩니다.
4. 빌드 변형 사용하기
빌드 변형을 정의한 후에는, 안드로이드 스튜디오의 Build Variants 창에서 원하는 빌드 변형을 선택하여 빌드하고 실행할 수 있습니다. 또한, 커맨드 라인에서도 Gradle 명령어를 통해 특정 빌드 변형을 빌드할 수 있습니다.
예를 들어, freeDebug 변형을 빌드하려면 다음과 같은 Gradle 명령어를 사용할 수 있습니다.
./gradlew assembleFreeDebug
이렇게 안드로이드 앱 개발 시 다양한 요구 사항에 맞춰 빌드 변형을 설정하고 관리할 수 있습니다.