问题
我需要弄清楚如何为我的Android应用程序获取或制作内部版本号。我需要在UI中显示内部版本号。
我是否必须使用AndroidManifest.xml
做点什么?
#1 热门回答(1770 赞)
使用:
try {
PackageInfo pInfo = this.getPackageManager().getPackageInfo(getPackageName(), 0);
String version = pInfo.versionName;
} catch (PackageManager.NameNotFoundException e) {
e.printStackTrace();
}
你可以使用此方法获取版本代码
int verCode = pInfo.versionCode;
#2 热门回答(1431 赞)
如果你使用的是Gradle插件/ Android Studio,as of version 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"
}
#3 热门回答(400 赞)
如果你只想要版本名称,则稍微缩短版本。
String versionName = context.getPackageManager()
.getPackageInfo(context.getPackageName(), 0).versionName;