代码中AndroidManifest.xml的用户versionName值

时间:2010-09-03 16:23:51

标签: android android-manifest

AndroidManifest.xml包含应用程序的版本名称,如

android:versionName="1.0"

现在的问题是 - 在某种程度上可以在源代码中访问此版本名称,以便我可以在例如约Dialog中显示它吗?

2 个答案:

答案 0 :(得分:119)

如果您使用ADT和Eclipse:

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

如果您使用Gradle,则有一种更简单的方法,因为它会将数据放入BuildConfig中:

String version = BuildConfig.VERSION_NAME;

答案 1 :(得分:38)

Konstantin的回答(上图)是正确的,但是对于我的价值,我发现如果我没有捕获NameNotFoundException,我会遇到编译器错误,如下所示:

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