我如何得到我的应用程序版本
谁能告诉我如何获得applcation版本的android?
这个页面有一个关于如何从java中完成的提示:
PackageManager manager = context.getPackageManager(); PackageInfo info = manager.getPackageInfo( context.getPackageName(), 0); String version = info.versionName;
另外, 这个链接有关于如何正确设置您的应用程序版本的官方信息 。
我正在使用Android Studio,我意识到我可以使用一个行代码来获得这个。
/*version name*/ BuildConfig.VERSION_NAME /*version code*/ BuildConfig.VERSION_CODE
编辑:
如果您正在使用其他的android库,请确保从应用程序包中导入BuildConfig 。 这与自动生成的用于识别资源的R类相似。
要获取应用程序信息:
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 }
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; } } }
有关此链接的更多信息
在你(Module:app)gradle中定义版本名称和版本代码
defaultConfig { applicationId "com.sing.smart" minSdkVersion 16 targetSdkVersion 23 versionCode 1 versionName "1.1.0" }
的versionCode
versionCode是整数值,用于轻松区分应用程序版本。
应用程序开发人员在Android Market发布其应用程序的更新时,必须增加此值,以便确定用户是否使用旧版本的应用程序并提供更新。
的versionName
versionName是一个包含常规“发行版本”的string,如其他桌面应用程序(如“1.4.5”或“3.7”)所示。
versionName只是一个“人类可读的”版本代码。
PackageInfo pinfo = getPackageManager().getPackageInfo(getPackageName(), 0); int versionNumber = pinfo.versionCode; String versionName = pinfo.versionName;
我发现的最简单和最好的答案是只导入您的BuildConfig
import your.package.BuildConfig;
然后就是
String verName = BuildConfig.VERSION_NAME; int verCode = BuildConfig.VERSION_CODE;
欢呼:)
如果您需要将其用于脚本编写(而不是编程),则可以使用以下命令:
adb shell "pm dump com.example.your.package.name | grep \"versionCode\"" | awk '{print $1}' | awk -F '=' '{print $2}'
int versionCode = BuildConfig.VERSION_CODE;
String versionName = BuildConfig.VERSION_NAME;
如果你正在使用eclipse,试试这个:
PackageInfo packageInfo = this.getPackageManager().getPackageInfo(getPackageName(), 0); String version = packageInfo.versionName;
在Android Studio中:
int versionCode = BuildConfig.VERSION_CODE;
确保你的模块级build.gradle文件中有豪宅版本代码
在NativeScript(与打字稿)可以这样做:
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; } }