0

我的应用程序的一个版本目前正在生产中。我最近从 Windows PC 切换到 Mac。

现在,当我从我的 Mac 发布更新的 APK 时,sqlite更新应用程序时数据库会丢失。即使是我肯定不会通过代码删除的表格,也正在被删除。当我包含create if not exists...查询时,它甚至没有被创建。

除了源代码之外的其他东西是否会影响这一点(如底层的 android SDK 或 JDK)?我从未在我的任何应用程序版本中启用 proguard。仅供参考,当我在应用程序中使用我们的测试服务器 (UAT) 网址时,不会出现此问题。它只发生在生产环境中。在 UAT 环境中,应用升级时一切正常。这让我吃惊。

几个用户正在使用现有的应用程序,他们可能需要随时升级。他们必须能够在不卸载现有应用程序的情况下进行升级。这种行为的原因可能是什么?

4

1 回答 1

0

这个问题为我解决了。

表的列名意外更改,我没有注意到。这导致了应用程序中的问题,因为应用程序的基本凭据没有保存到 SQLite 数据库中。现在我已将列名更正为其以前的名称。这解决了这个问题。在 UAT 环境中,我们有两个具有匹配列名的 APK。这就是问题仅在生产环境中发生的原因。

于 2018-08-20T11:34:35.780 回答