我使用此代码获取应用程序的“版本名称”,然后将其发送到我的服务器:
String appversion = mContext.getPackageManager().getPackageInfo(act.getPackageName(), 0).versionName;
当我在手机上安装了v1.0应用程序并通过Google Play将应用程序升级到v1.0.1时,应用程序仍会发送“1.0”作为versionName
。
如果我“强制关闭”应用程序然后打开它,它仍会报告“1.0”。
如果我“强制关闭”和“清除数据”,它仍会报告“1.0”。
如果我从手机上卸载应用程序然后下载v1.0.1,只会将版本名称报告为“1.0.1”。
为什么会发生这种情况或我能做些什么来解决这个问题?
编辑: 此应用是连接到Android库的几个目标/ apks之一。 Android库中有一个Manifest,每个目标apk都有一个Manifest。我的理解是每个apk都会使用它自己的Manifest(并且不正确的版本号也与库的Manifest中的数字不匹配)但是我想我应该提一下。
答案 0 :(得分:0)
首先检查this官方帮助!
您提到的是versionName,但有助于区分应用版本的是清单文件中定义的 versionCode 。
所以如果这是旧版本清单:
//...
package="com.your.app"
android:versionCode="1"
android:versionName="MyApp V1.0"
//...
......新的应该是这样的:
//...
package="com.your.app"
android:versionCode="2"
android:versionName="MyApp V1.1"
//...
另请注意,谷歌需要12-48小时才能在线发布新版本。