Flavors
각상황(Dev, Stage, Product) 별로 패키지명과 리소스/API주소등을 달리하고 싶을때
앱빌드시에 테스터에게 전달할 파일따로/ 리리스용 파일따로 분리해서 리소스도 다르게 해서 패키징 하고 싶을때가 있다.
이떄 Gradle 의 Android속성중에 productFlavors 라는걸 이용하면 각 상활별로 APK 를 만드는게 가능하다.
사용예
flavorDimensions "environment"
productFlavors {
dev {
dimension "environment"
applicationIdSuffix ".free"
manifestPlaceholders = [ appLabel: "Dev" ]
resConfigs "ko"
minSdkVersion 23
}
stage {
dimension "environment"
applicationIdSuffix ".stage"
manifestPlaceholders = [ appLabel: "Stage" ]
resConfigs "en", "ko"
minSdkVersion 19
}
product {
dimension "environment"
applicationIdSuffix ".product"
manifestPlaceholders = [ appLabel: "Product" ]
resConfigs "en", "ko", "ja"
minSdkVersion 19
}
}
어플리케이션고유아이디, 앱이름, 첨부될 리소스구분, 그밖의 android 관련 설정을 각각 할수 있다.또한 설정파일은 앱소스코드에서 BuildConfig를 통해 설정값을 읽어 올수도 있다.
dimension "whichBuild"
gcpProductDebug
public final class BuildConfig {
...
public static final String BUILD_TYPE = "debug";
public static final String FLAVOR = "amazonDev";
public static final String FLAVOR_serverSet = "amazon";
public static final String FLAVOR_gcp = "dev";
}
0 comments:
댓글 쓰기