티스토리 뷰

안드로이드 앱 개발 시, 다양한 이유로 여러 가지 빌드 변형(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. 빌드 변형 조합하기

빌드 타입과 제품 변형을 조합하면, 다양한 빌드 변형을 생성할 수 있습니다. 예를 들어, debugrelease 빌드 타입에 freepaid 제품 변형을 조합하면, 총 4가지의 빌드 변형(freeDebug, freeRelease, paidDebug, paidRelease)이 생성됩니다.

 

4. 빌드 변형 사용하기

빌드 변형을 정의한 후에는, 안드로이드 스튜디오의 Build Variants 창에서 원하는 빌드 변형을 선택하여 빌드하고 실행할 수 있습니다. 또한, 커맨드 라인에서도 Gradle 명령어를 통해 특정 빌드 변형을 빌드할 수 있습니다.

예를 들어, freeDebug 변형을 빌드하려면 다음과 같은 Gradle 명령어를 사용할 수 있습니다.

./gradlew assembleFreeDebug

 

이렇게 안드로이드 앱 개발 시 다양한 요구 사항에 맞춰 빌드 변형을 설정하고 관리할 수 있습니다.