스마트기기개발관련/안드로이드 개발

안드로이드 개발 패키지정보를 가져와보자

AlrepondTech 2014. 4. 24. 10:08
반응형



////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////



출처: http://japanescape.tistory.com/38



어플 버전 정보는 2가지가 있다.

android:versionCode="1"

versionCode는 GooglePlay에 공개할때 사용 된다.


어플 갱신할때에는 한번지정한 버전보다 높은 숫자를 지정하지 않으면 안된다.

참고로 위의 정보는 일반 유저에게는 공개되지 않는다.


android:versionName="1.0"

VersionNameGooglePlay,단말에 인스톨하고 난뒤

유저가 확인할수 있는 정보이다.

이정보는 시스템에 영향이 없기 때문에 어플 갱신시 숫자를 올리지 않아도 된다.

그러나 어플 관리를 위해 변경 해주는 편이 좋다. 


회사마다 의미가 조금식 틀리다. 

내가 속한 현장에서는 아래와 같은 의미로 사용하였다.

android:versionName="1.0.0"


첫번째 자리 1 : 컨셉이나 어플이 지향하는 색깔이 바뀌었을때

두번째 자리 0 : 기능추가나 사양이 바뀌었을때

세번째 자리 0 : 버그수정, 디자인변경


위의것은 하나의 예제일뿐 개발사 또는 개발자 마다 조금씩 틀리다고 보면된다.


정리를 하면

VersionCodeGoogle관리를 위한 정보

VersionName는 어플 관리를 위한 정보

아마도 이처럼 인식해도 문제 없을것이다.


이번에 어플 버전관리를 위해 서버에 버전을 저장해두고 

매번 어플 버전명이랑 비교해서 갱신하는 사양이 필요 하였다.

그래서 찾아 보았다.


아래는 샘플이다.


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
//PackageInfo
PackageInfo packageInfo = getPackageManager().getPackageInfo(getPackageName(), PackageManager.GET_META_DATA);
//패키지 버전명
String versionName    = packageInfo.versionName;
//패키지 버전코드
int versionCode       = packageInfo.versionCode;
//처음 인스톨한 날짜
long firstInstallTime = packageInfo.firstInstallTime;
//마지막에 인스톨한 날짜
long lastUpdateTime   = packageInfo.lastUpdateTime;
//다른 어플과 공유할때 사용하는 LinuxID
String sharedUserId   = packageInfo.sharedUserId;
//출력
Log.i("","versionName = " + versionName);
Log.i("","versionCode = " + versionCode);
Log.i("","firstInstallTime = " + firstInstallTime);
Log.i("","lastUpdateTime = " + lastUpdateTime);
Log.i("","sharedUserId = " + sharedUserId);

실행결과




사람이 보기좋게 시간을 변경하기 위해서는 

1
2
Log.i("","firstInstallTime = " + new Date(firstInstallTime));
Log.i("","lastUpdateTime = " + new Date(lastUpdateTime));






/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

반응형