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}"
앱 아이콘의 경우 위와 같다.
✅ 참고
Build Type(debug, release)을 활용한 앱 빌드 구분하기
이번 포스팅은 Release/Debug 빌드 구분을 나누어서 관리 할 수 있도록 했습니다.
medium.com
[Android] buildTypes 를 이용한 운영/개발 빌드 분리
앱 개발을 하다보면 테스터들의 요청으로 앱을 분리 시켜야 할 때가 있습니다. 예를들면 ‘운영앱하고 개발앱하고 같이 설치할 수는 없나요?’같은 요청인데요. 개발하는 입장에서도 운영앱과
ldelight.tistory.com
debug <=> release 모드의 차이점과 배포
출처 : http://jiny2097.blog.me/30043517038 릴리즈 모드 (프로그램을 배포하기 위해 컴파일 하는 모드) - 초기화 하지 않습니다. - 같은 문자열 상수라도 서로 다른 공간에 할당됩니다. - 디버깅정보를 삽
killsia.tistory.com
'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 |