2012-05-22 2 views

답변

2
PackageManager m = getPackageManager(); 
String app_ver = ""; 
try { 
    app_ver = m.getPackageInfo(this.getPackageName(), 0).versionName; 
} 
catch (NameNotFoundException e) { 
    // Exception won't be thrown as the current package name is 
    // safe to exist on the system. 
    throw new AssertionError(); 
} 
+0

"this"라는 클래스가 확장되어야하는 클래스는 무엇입니까? 이 앱의 버전을 반환해야하는 간단한 관리자입니다. – dragda

+0

그래서, 내 클래스는 이제 "getPackagemanager()"를 얻을 수 있도록 ContextWrapper를 확장합니다. 팁은 thx입니다. – dragda

+3

이 기능은 자체 콘텍스트가없고 Android Manifest에 자체 버전 코드가있는 독립 실행 형 라이브러리에서 어떻게 작동합니까? – bianca

1

당신이 특정 라이브러리의 버전 (그리고 그 라이브러리를 사용하여 응용 프로그램)을 사용하려면 다음

BuildConfig.VERSION_NAME 
BuildConfig.VERSION_CODE 

그냥 말 그대로 모든으로 (라이브러리의 BuildConfig를 가져올 수 있는지 확인 안드로이드 라이브러리/응용 프로그램은 패키지 경로에 자체 BuildConfig가 있습니다.) Android Studio의 Gradle Build 시스템은이 버전이 항상 버전 0.7.0에서 생성됨을 나타냅니다 (changelog 참조). 이것은 생성 된 클래스로서 호스팅 앱/라이브러리에 계속 존재합니다.

+0

정답이어야합니다. – Sascha

관련 문제