android:versionCode:
主要是用于版本升级所用,是INT类型的,第一个版本定义为1,以后递增,这样只要判断该值就能确定是否需要升级,该值不显示给用户。
android:versionName:
这个是我们常说明的版本号,由三部分组成..,该值是个字符串,可以显示给用户。
关于版本号有两个值,如下面的例子
android:versionCode=”2”
android:versionName=”1.1”
versionCode是给设备程序识别版本(升级)用的,必须是一个interger值,整数,代表app更新过多少次
versionName是给用户看的,可以写1.1.1 , 1.1.2的形式
延伸出另外一个问题:当app需要校对版本的时候怎样读取这个值?
//eclipse获取versionCode和versionName 这两个参数是写在manifest.xml文件中
public void getEclipseVersionInfo(){
int versioncode;
String versionname;
PackageManager pm = getPackageManager();
try {
PackageInfo packageInfo = pm.getPackageInfo(getPackageName(), 0);
versioncode = packageInfo.versionCode;
versionname = packageInfo.versionName;
} catch (PackageManager.NameNotFoundException e) {
e.printStackTrace();
}
}
//在Android Studio中获取到versionname和versionCode 这两个参数是写在${modle_name}.gradle文件中
public void getASVersionName(){
int versionCode = BuildConfig.VERSION_CODE;
String versionName = BuildConfig.VERSION_NAME;
}
这样我们就可以拿到versioncode和versionname了,这里我们看到使用到了BuildConfig类(是从项目包下的配置文件,即 我们的包名.BuildConfig;),可以导入这个类后Ctrl+单击查看这个类,里面还有其他的参数
手机型号: android.os.Build.MODEL
SDK版本: android.os.Build.VERSION.SDK
系统版本: android.os.Build.VERSION.RELEASE