본문 바로가기

Android/Function

[안드로이드] module(또는 library)에서 flavors 지정하는 법

728x90
반응형

 

클린 아키텍처 사용으로

presentation(app)은 data, domain 모듈을 의존하고 있습니다. 

그런데 data 모듈에서만 flavor를 나누고 싶었는데, presentation이 의존하고 있으므로, 같이 변화가 필요했습니다.

다음과 같이 사용하면 됩니다.

  • data module(gradle)
android{
    flavorDimensions "mode"
    productFlavors{
        cardreader{
            dimension "mode"
            manifestPlaceholders = [
                    thingsRequired: "true"
            ]
            buildConfigField "Boolean","IS_CARD", "true"
        }
        nocardreader{
            dimension "mode"
            manifestPlaceholders = [
                    thingsRequired: "false"
            ]
            buildConfigField "Boolean","IS_CARD", "false"
        }
    }
}

위와 같이 "mode" 라는 이름의 flavorDimensions을 지정하였습니다.

 

  • app module(gradle)
android{	
    flavorDimensions "mode"
    productFlavors {
        cardreader {
            dimension "mode"
        }
        nocardreader {
            dimension "mode"
        }
    }
}

이제 내 presentation(app)에서 위와 같이 적은 뒤,

dependecy에 implementation하면 됩니다.

dependencies{
   implementation project(':data')
   ...
}

 

그럼 Build Variants에서 다음과 같이 성공적으로 된것을 확인할 수 있습니다.!

 

다음 글을 참고하였음.

https://stackoverflow.com/questions/24860659/multi-flavor-app-based-on-multi-flavor-library-in-android-gradle

 

 

 

 

728x90
반응형