0

我正在使用此代码获取应用程序的“版本名称”,然后将其发送到我的服务器: 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 库的几个目标/apk 之一。Android 库中有一个 Manifest,每个目标 apk 中有一个 Manifest。我的理解是每个 apk 都将使用它自己的清单(并且不正确的版本号也与库清单中的数字不匹配)但我想我应该提到这一点。

4

1 回答 1

0

首先检查这个官方帮助!

您提到了 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 小时才能在线发布新版本。

于 2013-03-27T20:55:51.667 回答