Dev/Android

안드로이드 빌드 타입별로 나누는 방법 - BuildTypes

healthyryu 2021. 1. 29. 17:59

부끄럽게도 지금까지 빌드 타입별로 앱을 생성하는 작업을 자의로 혹은 의식해서 작업은 하지 않았던것 같습니다. 최근에 시간에 여유가 있어서 이것저것 알아보면서 공부하다보니 빌드 타입별로 나눌 수 있다는것을 인지했습니다 ^^;;;

 

참고로 안드로이드는 공식적으로 BuildTypes 은 debug, release 두가지가 있습니다. 그리고 추가적으로 빌드 타입을 만들 수 있습니다.

 

그리고 추가적으로 create() 라는 함수를 통해서 Stage, Alpha, Beta 등의 타입을 생성할 수 있습니다.

 

buildTypes {
  getByName("debug") {
    applicationIdSuffix = ".debug"
	
    // 아래는 제가 필요에 의해서 만든 추가 작업입니다.
    debuggable(true)
    isMinifyEnabled = false
    versionNameSuffix = "debug"
    firebaseCrashlytics {
      mappingFileUploadEnabled = false
    }
    manifestPlaceholders["applicationLabel"] = "@string/app_name_debug"
  }

  getByName("release") {
    isMinifyEnabled = true
    isShrinkResources = true
    debuggable(false)
    proguardFiles(getDefaultProguardFile("proguard-android-optimize.txt"), "proguard-rules.pro")

    firebaseCrashlytics {
      mappingFileUploadEnabled = true
    }

    manifestPlaceholders["applicationLabel"] = "@string/app_name"
  }

  create("stage") {
  	// initWith 는 debug 의 설정과 같이 한다는 의미입니다.
    initWith(buildTypes.getByName("debug"))

	applicationIdSuffix = ".stage"
    manifestPlaceholders["applicationLabel"] = "@string/app_name_stage"
  }
}

 

그리고 빌드 타입별로 나누기 위해서는 google-services.json 을 각 빌드 별로 폴더를 생성해서 넣어줘야합니다. 그리고 각 json 파일의 package_name 의 뒤에 빌드 타입에 맞게 .debug, .stage 등을 넣어줘야합니다.

 

 

 

위와같이 빌드 타입별로 나누고 빌드를 하면 다음과 같이 BuildTypes 이 생성된것을 확인할 수 있습니다.

 

반응형