Xamarin - 在部署不工作之间保留设备上的应用程序数据/缓存

时间:2015-04-24 04:29:29

标签: android visual-studio-2013 xamarin

我正在尝试从Production(来自Google Play)执行简单的升级测试 - >当前(我的本地代码附加到调试器),但Xamarin for Visual Studio和Xamarin Studio中的Preserve application data/cache on device between deploys功能似乎完全被破坏了。即使我正在调试/部署的应用程序的版本号大于当前安装的应用程序的版本号,它也会在安装新版本之前完全删除它,从而吹走共享设置/数据/缓存。显然,这有效地使它成为一个干净的安装而不是升级。这是我试图测试的场景:

  1. 从Google Play安装最新版本,登录,做一些事情。
  2. 调试设备上的最新代码,接管先前版本的共享设置/数据/缓存(此构建的调试二进制文件使用与生产完全相同的证书进行签名)
  3. 无论我做什么,它都会在每个调试会话中继续执行完整的删除/安装。事实上,Xamarin Studio非常困惑,它认为从Google Play安装的应用程序与我尝试部署的版本相匹配,因此根本不会部署新版本。

    有关如何修复或解决此问题的任何想法?也许通过直接调用adb来手动部署?

1 个答案:

答案 0 :(得分:1)

https://stackoverflow.com/a/50714956/1876355

如果您的设备已植根,则可能是您遇到问题的原因。

Database (Sqlite-net) do not persist between build on Monodroid

该设备有点扎根(或没有)。 我在某处读过这可能是一个问题,所以我按照以下步骤操作:

  1. 已安装的KingoRoot
  2. 设备“已根据”(已损坏),但已将其与KingoRoot生根,然后崩溃
  3. 尝试再次成功
  4. 使用SuperUser取消设备
  5. 卸载了KingoRoot
  6. 现在,在编译/调试设备时会保留数据。