Development Tip

코드에서 android : versionName 매니페스트 요소 가져 오기

yourdevel 2020. 11. 6. 20:40
반응형

코드에서 android : versionName 매니페스트 요소 가져 오기


코드를 통해 애플리케이션 버전 번호를 얻기 위해 AndroidManifest.xml 파일을 구문 분석하는 방법을 알고 싶습니다. android : versionName


이를 위해 AndroidManifest.xml파일 을 구문 분석 할 필요가 없습니다 .

다음을 사용하여 얻을 수 있습니다.

try
{
    String app_ver = this.getPackageManager().getPackageInfo(this.getPackageName(), 0).versionName;
}
catch (NameNotFoundException e)
{
    Log.e(tag, e.getMessage());
}

onCreate()방법 내에서 이것을 사용하십시오 .


다른 사람에게 도움이되는 경우 @string다른 xml 파일에서와 마찬가지로 AndroidManifest.xml의 리소스에 액세스 할 수도 있습니다 .

예를 들어 AndroidManifest.xml에서 :

android:versionName="@string/app_versionName"

그리고 코드에서 :

string versionName = getResources().getString(R.string.app_versionName);

이렇게하면 (성가신, imo) try / catch 문이 필요하지 않습니다. 이것이 승인 된 일을하는 방법인지는 잘 모르겠지만, 나에게는 의미가 있습니다.


Android 스튜디오를 사용하는 경우 BuildConfig 클래스에서 버전 이름을 사용할 수 있습니다 . 이 클래스는 컴파일 타임에 생성됩니다.

String versionName = BuildConfig.VERSION_NAME;

이것은 버전 이름을 검색하는 가장 깨끗한 방법입니다.


지금 까지이 기사 에서 아래 코드 스 니펫을 사용하여 성공적으로 버전 코드버전 이름얻었습니다.AndroidManifest.xml

/* Get android:versionName */
String versionName = getPackageManager().getPackageInfo(getPackageName(), 0).versionName;

/* Get android:versionCode */
int versionCode = getPackageManager().getPackageInfo(getPackageName(), 0).versionCode;

참고 URL : https://stackoverflow.com/questions/4956699/get-androidversionname-manifest-element-in-code

반응형