안드로이드 개발 앱 버전관리

Purang·2025년 2월 18일

직접 개발한 앱을 구글 플레이 스토어에 배포하기 전 비공개테스트 및 내부테스트 등을 진행할 때 관리할 버전에 대해 작성해보자한다

defaultConfig {
        applicationId = ""
        minSdk = 26
        targetSdk = 34
        versionCode = 6
        versionName = "1.0.5"

        testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
        vectorDrawables {
            useSupportLibrary = true
        }
    }

build gradle app 에서 확인할 수 있는 versionCode와 versionName이 존재하는데 이걸로 보통 관리를 한다

시맨틱 버저닝이라는 관리 기법이라고 한다 이때 위 코드를 예를 들면
현재 code = 6, name = "1.0.5"일 때

versionCode는 앱의 버전 코드를 나타내며 앱 업데이트 검사 용도 + 1씩 증가하며 구글 플레이 스토어에서 버전이 변경되었다는 것을 확인하기 위해 쓰이며 사용자들에게는 공개되지 않는다 또한 번호가 높을수록 최신 버전임을 나타낸다, 이 방식으로 versionCode가 현재 기기에 다운되어 있는 앱의 버전보다 낮은 APK를 사용자가 설치하지 못하는 방식으로 다운그레이드를 방지한다 - 구글플레이스토에서 versionCode로 허용하는 값은 2100000000까지이다 또한 이미 사용된 versionCode는 다시 사용할 수 없다

versionName은 앱의 배포 버전을 나타내며 구글 플레이 스토어에 아무 앱의 정보를 살펴보면 알 수 있는 정보이며 개발자들이 서로 이해하기 쉽게 관리법을 정해놓고 수정할 수 있도록하면 좋다

시맨틱 버저닝에 따라 1.0.5에 대해 표현해보자면
1 -> MAJOR 부분으로 기존 버전과 호환되지 않게 API가 바뀌거나 정말 대격변의 업데이트를 진행하였으면 MAJOR의 버전을 올린다

0 -> MINOR 부분으로 기존 버전과 호환되면서 새로운 기능을 추가할 때는 MINOR 부분의 버전을 올린다

5 -> PATCH 부분으로 기존 버전과 호환되면서 버그를 수정한 것이면 PATCH 부분의 버전을 올린다

위 형식으로 버전 관리를 진행한다

더욱 세부적으로 버전을 나누는 방법으로 demo와 full 버전을 정의가 가능한데 이 방식은 참고자료에서 확인할 수 있도록 하자...

참고
안드로이드 developer

올리브영 테크블로그

profile
몰입의 즐거움

0개의 댓글