728x90
android {
...
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
}
}
...
}
보통 안드로이드 프로젝트를 생성해서 개발하면 build.gradle (:app) 파일에 위처럼 release 버전만 있게 된다. 그런데 운영앱과 개발앱이 따로 필요한 경우가 있기 때문에 debug 버전을 따로 두는 경우가 있다고 한다.
✅ release와 debug 버전 분리하는 이유
- 운영앱과 개발앱을 분리해서 사용해야 할 경우 (테스터의 요청, 개발과정에서 필요)
- Release에서는 최적화가 되어 있어 실행 속도가 빠르고, 메모리 사용량이 적다. 코드 난독화(Obfuscation) 및 최적화 도구(ProGuard 또는 R8)를 사용해서 코드 크기를 줄이고 성능을 향상시킨다.
- Debug에서는 최적화는 덜 되어 있지만, 디버깅을 위한 추가 정보가 포함된다. 개발자가 문제를 쉽게 파악할 수 있도록 상세한 디버깅 정보과 로그가 포함된다.
✅ release와 debug 버전 분리하는 방법
android {
...
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
manifestPlaceholders = [
appName : "@string/app_name"
]
}
debug {
applicationIdSuffix '.dev'
manifestPlaceholders = [
appName : "@string/app_name_dev"
]
}
}
...
}
위처럼 release 버전 말고 debug 버전을 추가해주면 된다.
manifestPlaceholders의 내용은 운영앱과 개발앱을 사용할 때 앱 아이콘이나 앱 이름을 다르게 해서 구분하기 위한 부분이다. 아직 앱 아이콘 안 만들어져서 앱 이름만 따로 두었다.
appIcon : "@mipmap/ic_icon_dev"
앱 아이콘도 따로 두고 싶다면 위와 같은 내용을 추가하면 된다.
android:label="${appName}"
그리고 AndroidManifest.xml 파일에서 label 내용을 위처럼 바꿔주면, 앱 이름이 manifestPlaceholders의 내용대로 설치된다.
android:icon="${appIcon}"
앱 아이콘의 경우 위와 같다.
✅ 참고
728x90
'Programming > Android' 카테고리의 다른 글
[Android/Kotlin] Image URL을 Bitmap으로 변환해서 보여주는 방법 (0) | 2024.06.28 |
---|---|
[Android] minifyEnabled란? (0) | 2024.06.08 |
[Android] DI(종속성 주입) Hilt 공부 (0) | 2024.05.25 |
[Android] Toast 나타나는 위치 변경 / setGravity() / API30 이상 (0) | 2024.05.09 |
[Android] 안드로이드 프로젝트 minSDK 버전 (1) | 2024.04.29 |