我们在做应用更新功能时肯定回去获取已安装的应用的版本号,那么有些人就会遇到获取的版本号一直是1这个问题了
首先贴一下获取版本号的代码块:
/**
* @return
* 获取本地包
*/
public int getVerCode()
{
int verCode = -1;
try
{
verCode = getPackageManager().getPackageInfo(
"这里是应用的包名", 0).versionCode;
} catch (PackageManager.NameNotFoundException e)
{
}
return verCode;
}
那么为什么会导致取得的versionCode一直是1呢
通常我们在AndroidManifest.xml中的会定义一个versionCode
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.huaxin.yunnan.environment"
android:versionCode="2"
android:versionName="2.0">
但是Android Studio中的版本声明已经移到了Module的build.gradle文件中所以我们只需在defaultConfig {}中添加versionCode即可代码如下:
defaultConfig {
versionCode 2
versionName "2.0"
}