Android 바이너리 빌드(Build Type별 구분)
Pre Requirement
1. version 확인
build.gradle.kts(:app)
신규 버전 배포 시 versionCode, versionName를 올려주어야 합니다.
→ 바이너리 충돌 방지
android {
namespace = "com.android.com"
compileSdk = 34
defaultConfig {
applicationId = "com.android.com"
minSdk = 30
targetSdk = 34
versionCode = 1
versionName = "1.0.1"
testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
}
...
}2. build variants 확인
default로 debug와 release가 생성되어있습니다.

Debug Build
1. build variants
Pre Requirement의 build variants를 debug로 설정합니다.
2. APK build를 기준
Android Studio > Build > Build Bundle(s) / APK(s) > Build APK(s)

3. Output 확인
app > build > outputs > apk > debug > app-debug.apk

Release Build
1. build variants
Pre Requirement의 build variants를 release로 설정합니다.
2. AAB build를 기준
Android Studio > Build > Generate Signed Bundl / APK

3. Key store
(이미 있다면 사용하시고 아니라면 생성이 필요합니다) 지우시면 안됩니다!!!!!


4. Output 확인
app > release > app-release.aab

Build Type을 활용한 앱 빌드(debug, release) 구분
build.gradle.kts(:app)
공식문서에서 확인할 수 있듯 buildTypes에 따라 variables를 다르게 줄 수 있습니다.
buildTypes {
release {
isMinifyEnabled = false
proguardFiles(
getDefaultProguardFile("proguard-android-optimize.txt"),
"proguard-rules.pro"
)
manifestPlaceholders["appName"] = "@string/app_name"
}
debug {
manifestPlaceholders["appName"] = "@string/app_name_dev"
}
}AndroidMenifest.xml
manifestPlaceholders에서 선언한 key("appName")를 replace로 두고 변수를 선언할 수 있습니다.
<application
tools:replace="label"
android:label="${appName}"
...
>
...
</application>결과물

Last updated