buildTypes를 활용한 base url 관리(디버그,릴리즈)

MSU·2024년 12월 23일

Android

목록 보기
27/36

https://www.youtube.com/shorts/c6aWSiaepAM
요 숏츠를 보고 깜짝 놀랐다!
나는 생각도 못한 방법이었는데...

아래와 같이 레트로핏을 사용하면서 개발용, 배포용 base url을 구분지어 사용해야 한다면


private const val IS_PRODUCTION = false

val retrofit by lazy {
	Retrofit.Builder()
    	.baseUrl(
        	if(IS_PRODUCTION){
            	"https://app.com"
            }else{
            	"https://test.app.com"
            }
        ).build()
}

직접 코드로 분기 처리를 할 필요없이 build.gradle의 buildTypes를 사용하면 된다고 한다.

// build.gradle.kts (app)
buildTypes {
    debug {
        buildConfigField("String", "BASE_URL", "\"https://test.app.com\"")
    }
    release {
        buildConfigField("String", "BASE_URL", "\"https://app.com\"")
    }
}

아래와 같이 수정해주면 된다!

val retrofit by lazy {
	Retrofit.Builder()
    	.baseUrl(BuildConfig.BASE_URL)
        .build()
}

부끄럽지만 요 방법을 몰랐다면 무식하게 하드코딩 했을 것이다.

profile
안드로이드공부

0개의 댓글