协慌网

登录 贡献 社区

如何获取 Android 应用程序的构建版本号?

我需要弄清楚如何为我的 Android 应用程序获取或制作内部版本号。我需要在 UI 中显示内部版本号。

我是否必须使用AndroidManifest.xml做一些事情?

答案

使用:

try {
    PackageInfo pInfo = context.getPackageManager().getPackageInfo(getPackageName(), 0);
    String version = pInfo.versionName;
} catch (PackageManager.NameNotFoundException e) {
    e.printStackTrace();
}

您可以使用此方法获取版本代码

int verCode = pInfo.versionCode;

如果您使用的是 Gradle 插件 / Android Studio, 则从版本 0.7.0 开始 ,版本代码和版本名称在BuildConfig是静态可用的。 确保导入应用程序的包 ,而不是其他BuildConfig

import com.yourpackage.BuildConfig;
...
int versionCode = BuildConfig.VERSION_CODE;
String versionName = BuildConfig.VERSION_NAME;

不需要 Context 对象!

还要确保在build.gradle文件中指定它们而不是AndroidManifest.xml

defaultConfig {
    versionCode 1
    versionName "1.0"
}

如果您只想要版本名称,则稍微缩短版本。

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