C.E/Java

[android] 안드로이드 스튜디오 앱 버전 설정하기 (android studio set versioncode versionname)

숨[Breath] 2019. 3. 18. 09:32

관련 이미지가 없길래 테스트용 하나 만들어서 캡쳐 따왔어요.



안드로이드 앱 버전 설정은 android/build.gradle 에서 설정해준다.


1
2
3
4
5
6
7
8
9
10
11
12
13
android {
 
    defaultConfig {
 
    //version code 설정
        versionCode 1
    //version name 설정
        versionName "1.0.0"
 
        multiDexEnabled true //add
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
    }
}
cs

안드로이드 스튜디오 시험 있으면 딱 내기 좋은 듯..? (쭈글)


Version Code

1. version code는 '정수' 값이어야 한다. 값이 높을 수록 최신 버전이다. 

2. version code 최대 값은 2100000000 이다. (21억임. 정수형, int 딱 오지 않는가? 사실 구글스토어에서 허용하는 값이란다.)

3. android studio version code는 기본 값이 1로 설정되어 있다.

4. version code는 내부 버전 번호다. 하지만 각 후속 앱 릴리즈release시에 더 큰 값을 사용해야 한다.

5. 사용자에게 표시되는 번호는 Version Code가 아니라 Version Name 이다.

6. version name과 유사할 필요는 없으며, 릴리즈 시 마다 순차적으로 값을 증가시켜야 한다.


Version Name

1. 사용자에게 표시되는 버전 번호. 사용자에게 표시되는 것 이외에 다른 용도로 사용되지 않는다. (강제로 설정할 필요는 없다.)

2. 대부분은 앱 버전 표기법을 따르고 있는데, <1.0.0>을 예로 들었을 때 <major . minor . point> 로 구분한다.

3. 이전 버전과 UI 또는 기능이 크게 바뀌었을 때 major 값을 1 증가시킨다.

4. 새로운 기능이나 앱 내의 컨텐츠가 변경되었을 경우 minor 값을 증가 시킨다.

5. 버그 수정 및 간단한 업데이트의 경우 point 값을 증가시킨다.


정도로 정리할 수 있습니다.

이상입니다. :)



+ version 값을 java code로 가져와야 하는 경우


1
2
3
4
import com.패키지명.BuildConfig;
 
int versionCode = BuildConfig.VERSION_CODE;
String versionName = BuildConfig.VERSION_NAME;
cs


+ versioncode와 versionname을 AndroidManifest 메니페스트에서도 설정할 수 있지만 여기서 하지 않는 이유는 예전 이클립스 eclipse로 안드로이드를 코딩하던 시절 하던 행위였고, 지금은 매니페스트에서 설정한 것을 gradle이 재정의 해버리기 때문에 gradle에서 정의 하는 것이다.

Reference - google android developers .