52

The AndroidManifest.xml contains the version name of the application, something like

android:versionName="1.0"

Now the question - is it somehow possible to access this version name in the source code, so that I can display it for example in an About Dialog?

Macarse
  • 91,829
  • 44
  • 175
  • 230
DonGru
  • 13,532
  • 8
  • 45
  • 55

2 Answers2

120

If you use ADT and Eclipse:

String version = getPackageManager().getPackageInfo(getPackageName(), 0).versionName;

If you use Gradle, there is an easier way, since it puts the data into BuildConfig for you:

String version = BuildConfig.VERSION_NAME;
Konstantin Burov
  • 68,980
  • 16
  • 115
  • 93
38

Konstantin's answer (above) is correct, but for what it's worth I found that I got a compiler error if I did not catch a NameNotFoundException , as follows:

import android.content.pm.PackageManager.NameNotFoundException;
try {
    String version = getPackageManager().getPackageInfo(getPackageName(), 0).versionName;
} catch (NameNotFoundException e) {
    Log.e("tag", e.getMessage());
}
DMH
  • 3,875
  • 2
  • 26
  • 25