App/Android
Multiple flavorDimensions 정리
selfstarter
2020. 9. 28. 15:29
Multiple flavorDimensions
https://developer.android.com/studio/build/build-variants.html#flavor-dimensions
flavorDimensions 으로 여러 조합을 만들어 낼 수 있음.
아래에는 server가 개발서버인지, 상용서버인지에 따라서 dev, prod로 나누고
api 수준에 따라서 minApi24, minApi23, minApi21 로 나눔
즉 server 버전과 api버전을 각 한개씩 골라서 환경을 구성할 수 있음.
아래 조합으로 나올 수 있는 버전은 다음과 같음
devMinApi21Debug : 개발 서버의 최소 API21 디버그 APK
devMinApi21Release : 개발 서버의 최소 API21 릴리즈 APK
...
devMinApi24Debug : 개발 서버의 최소 API24 디버그 APK
devMinApi24Release : 개발 서버의 최소 API24 릴리즈 APK
prodMinApi21Debug : 상용 서버의 최소 API21 디버그 APK
prodMinApi21Release : 사용 서버의 최소 API21 릴리즈 APK
...
devMinApi24Debug : 사용 서버의 최소 API24 디버그 APK
devMinApi24Release : 사용 서버의 최소 API24 릴리즈 APK
즉 서버타입(2개) * api(3개) * debug or release(2개) = 총 12개의 다른 BuildConfig가 나온다.
flavorDimensions "server","api"
productFlavors {
dev {
dimension "server"
buildConfigField("String", "TYPE", '"DEV"')
}
prod {
dimension "server"
buildConfigField("String", "TYPE", '"https"')
}
minApi24 {
dimension "api"
minSdkVersion 24
versionCode 30000 + android.defaultConfig.versionCode
versionNameSuffix "-minApi24"
}
minApi23 {
dimension "api"
minSdkVersion 23
versionCode 20000
versionNameSuffix "-minApi23"
}
minApi21 {
dimension "api"
minSdkVersion 21
versionCode 10000
versionNameSuffix "-minApi21"
}
}