android-如何获取我的应用程序版本
谁能告诉我如何在Android中获取应用程序版本?
nileshbirhade asked 2020-01-16T14:07:32Z
10个解决方案
136 votes
该页面提供了有关如何通过Java进行操作的提示:
PackageManager manager = context.getPackageManager();
PackageInfo info = manager.getPackageInfo(
context.getPackageName(), 0);
String version = info.versionName;
另外,此链接包含有关如何正确设置应用程序版本控制的官方信息。
Merlyn Morgan-Graham answered 2020-01-16T14:08:06Z
68 votes
我正在使用Android Studio,我意识到我可以使用一行代码来实现这一目标。
/*version name*/
BuildConfig.VERSION_NAME
/*version code*/
BuildConfig.VERSION_CODE
编辑:
如果您使用的是其他Android库,请确保从应用程序包中导入BuildConfig。 这类似于自动生成的用于标识资源的R类。
Jimmy Ilenloa answered 2020-01-16T14:08:35Z
13 votes
public int getVersion(Context context) {
try {
PackageInfo pInfo = context.getPackageManager().getPackageInfo(context.getPackageName(), PackageManager.GET_META_DATA);
return pInfo.versionCode;
} catch (NameNotFoundException e) {
return 0;
}
}
}
有关此链接的更多信息
Mitul Nakum answered 2020-01-16T14:08:55Z
12 votes
获取应用程序信息:
PackageManager manager = this.getPackageManager();
try {
PackageInfo info = manager.getPackageInfo(this.getPackageName(), 0);
String packageName = info.packageName;
int versionCode = info.versionCode;
String versionName = info.versionName;
} catch (NameNotFoundException e) {
// TODO Auto-generated catch block
}
Paresh Mayani answered 2020-01-16T14:09:15Z
5 votes
我找到的最简单,最好的答案是仅导入BuildConfig
import your.package.BuildConfig;
然后就
String verName = BuildConfig.VERSION_NAME;
int verCode = BuildConfig.VERSION_CODE;
Meisam answered 2020-01-16T14:09:39Z
2 votes
在您(模块:应用程序)中,gradle定义版本名称和版本代码
defaultConfig {
applicationId "com.sing.smart"
minSdkVersion 16
targetSdkVersion 23
versionCode 1
versionName "1.1.0"
}
版本代码
versionCode是用于轻松区分应用程序版本的整数值。
应用程序开发人员在Android Market中发布对其应用程序的更新时必须增加此值,以便它可以确定用户是否正在使用旧版本的应用程序,并提供给他们更新。
版本名
versionName是一个字符串,其中包含常规的“发行版本”,如在其他桌面应用程序中所看到的,例如“ 1.4.5”或“ 3.7”。
versionName只是“人类可读”的版本代码。
PackageInfo pinfo = getPackageManager().getPackageInfo(getPackageName(), 0);
int versionNumber = pinfo.versionCode;
String versionName = pinfo.versionName;
Bajrang Hudda answered 2020-01-16T14:10:26Z
1 votes
如果您出于脚本目的而不是编程目的需要它,则可以使用以下命令:
adb shell "pm dump com.example.your.package.name | grep \"versionCode\"" | awk '{print $1}' | awk -F '=' '{print $2}'
pkuszewski answered 2020-01-16T14:10:46Z
1 votes
int versionCode = BuildConfig.VERSION_CODE;
字符串versionName = BuildConfig.VERSION_NAME;
KAMAL VERMA answered 2020-01-16T14:11:11Z
1 votes
如果您使用的是eclipse,请尝试以下操作:
PackageInfo packageInfo = this.getPackageManager().getPackageInfo(getPackageName(), 0);
String version = packageInfo.versionName;
在Android Studio中:
int versionCode = BuildConfig.VERSION_CODE;
确保模块级别的build.gradle文件中包含豪宅版本代码
umi answered 2020-01-16T14:11:41Z
0 votes
在Nativescript(带有Typescript)上,可以这样做:
import {Observable} from 'data/observable';
import * as applicationModule from 'application'
export class AboutViewModel extends Observable {
public version: string;
constructor() {
super();
let manager = applicationModule.android.context.getPackageManager();
let info = manager.getPackageInfo(applicationModule.android.context.getPackageName(), 0);
this.version = info.versionName;
}
}
Anderson Fortaleza answered 2020-01-16T14:12:04Z