更新的64位Xamarin Android应用被旧的32位版本覆盖

时间:2019-06-24 09:57:30

标签: c# android xamarin 64-bit

根据Google的要求,我向Xamarin.Forms应用程序添加了x64位支持。当我将其侧面加载到运行当前现有商店版本的测试设备上时,我无法完成安装。

卸载当前应用程序后,新安装的应用程序运行正常,一切正常。

我将应用程序包转发给我们的测试人员,告诉他们卸载旧应用程序并称其为一天。

今天我了解到,Play商店版本(v1.1.0)默默地将当前应用(v1.2 +)更新回了旧版本。 我通过侧面加载确认了这一点。

在我的Android选项中,我有两个构建目标:

  • armeabi-v7a(旧的)
  • arm64-v8a(新添加的一个)

我认为,该设备将选择正确的体系结构并完成其工作。原来版本号明显较低的旧应用程序为什么可以更新新版本,但反过来却无法更新?

我搞砸了吗?错过了某些设置或设置了错误的设置?

如果我检查自己构建的apk,则每个架构的文件夹都如预期的那样并排放置。正确的.so文件存在。 我正在使用Visual Studio2017。

Android Build Config

1 个答案:

答案 0 :(得分:0)

我认为您应该注意应用程序的versionCode

  

用作内部版本号的正整数。该数字仅用于确定一个版本是否比另一个版本新,而更高的数字则表示最新版本。这不是显示给用户的版本号;该数字由下面的versionName设置来设置。 Android系统使用versionCode值来防止用户安装的versionCode低于其设备上当前安装的版本的APK,从而防止降级。

     

该值为正整数,以便其他应用可以以编程方式评估它,例如检查升级或降级关系。您可以将值设置为所需的任何正整数,但是应确保应用程序的每个后续发行版均使用更大的值。您无法使用先前版本已经使用的versionCode将APK上传到Play商店。