Xamarin.Android:在部署之前如何阻止Visual Studio删除应用程序的先前版本

Jay*_*dri 7 android xamarin visual-studio-2017

我正在将用Java编写的Android应用程序迁移到Xamarin。

旧应用(Java)在AccountManager和SQLite DB中存储了一些数据,当现有用户安装新应用(Xamarin)作为更新程序时,我希望将其迁移到新格式,以便他们不会丢失现有数据数据

我正在尝试测试迁移代码,因此我在物理设备上安装了旧应用程序的一个版本,然后将新版本(更高版本)部署到同一设备上,但是每次这样做,Visual Studio都会删除较旧的应用程序,以及在安装新应用程序之前,这将无法调试迁移代码(包含数据的AccountManager条目在启动之前卸载较旧的版本后即被删除)。

在此发布之前,我尝试过一些操作:

似乎没有任何效果-我只需要在部署之间保留数据,这样我的迁移代码就有机会运行。

如果相关,我正在使用Mac的Visual Studio 2017

Juw*_*wan 0

如果一切都失败了,您可能可以将测试版发布到 Playstore 并从那里下载

我认为你可以做的是(虽然我自己从未尝试过)你可以更改一个应用程序的 applicationId,这样两个应用程序就会同时出现在你的手机中。然后,由于两个应用程序的底层文件结构应该相同,因此您可以将以前版本的存储内容复制到当前版本

android {
    compileSdkVersion 28
    defaultConfig {
        applicationId "com.mynewversion"
        minSdkVersion 19
        targetSdkVersion 28
        versionCode 2
        versionName "1.0001"
    }
Run Code Online (Sandbox Code Playgroud)