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