본문 바로가기
📒 기술 또는 개념/🐘 Gradle

[Gradle] ProductFlavors에 대해

by DEV_DAON 2023. 10. 12.

오늘은 어제 팀장님께서 알아보라고 하신 build.gradle (app) 파일의 ProductFlavors 블록에 대해 알아보도록 하겠다!

 

Android Studio에서 Gradle을 사용하는 경우, ProductFlavors는 앱의 다양한 버전 또는 변형을 정의하고

관리하는데 사용되는 매우 중요한 개념이라고 한다.

 

ProductFlavors는 주로 앱을 다른 시장, 환경 또는 디바이스에 대응 시키는데 도움이 되고

사용 예로는 무료 | 유료 버전 나누기 / 다국어 지원 / 테스트 및 업데이트 개발 버전 관리 등에서 사용할 수 있겠다.

 

Product Flavor를 정의 하려면 앱 모듈의 'build.gradle' 파일에서 'productFlavors' 블록을 사용한다.

 

예를 들어서 무료 버전과 유료 버전을 나누기 위한 코드를 작성해보겠다.

 

Sample Code

위의 코드는 "free"와 "paid" 두 가지 ProductFlavors를 정의하고 있다.

각 ProductFlavors는 다른 'applicationId', 'versionCode', 'versionName'을 가질 수 있다.

이러한 값을 설정하여 각 버전을 구분하고 빌드할 때 Gradle은 ProductFlavors에 따라 적절한 값을 사용한다.

 

ProductFlavors를 사용하면 빌드된 앱의 다양한 변형을 쉽게 관리하고

서로 다른 설정, 리소스, 라이브러리 종속성 등을 적용할 수 있다.

 

이를 통해 마켓에서 릴리스할 다양한 앱 버전을 관리하기가 효과적이고, 코드 중복의 최소화가 가능하다.

 

그렇다면 여기서! 왜 여러 버전의 앱을 빌드하는 방법을 알아야하는지??

- 그 이유는 너무 간단하죠 ㅎㅎ 여러 목적으로 동일한 앱을 빌드해야 할 경우가 생긴다면?

매번 소스 코드를 수정하고 빌드하는 작업의 번거로움을 없애기 위해서입니다!