Android 版本代码阻止手动还原应用程序

Android 版本代码阻止手动还原应用程序,android,revert,Android,Revert,目前,我们正在通过存储在服务器上的APK分发Android应用程序。我们的想法是保存所有发布的apk,这样,如果我们发布了一个新的更新,然后意识到有一个重大问题,我们可以切换回以前的apk版本。又快又容易 比如说 Release 1: Version Name = 1.0.0 and Version Code = 1 Release 2: Version Name = 1.0.1 and Version Code = 2 假设版本2有问题,最好返回到版本1,而不是等待1.0.2。问题是,当用户

目前,我们正在通过存储在服务器上的APK分发Android应用程序。我们的想法是保存所有发布的apk,这样,如果我们发布了一个新的更新,然后意识到有一个重大问题,我们可以切换回以前的apk版本。又快又容易

比如说

Release 1: Version Name = 1.0.0 and Version Code = 1
Release 2: Version Name = 1.0.1 and Version Code = 2
假设版本2有问题,最好返回到版本1,而不是等待
1.0.2
。问题是,当用户下载并安装较旧的apk时,由于版本代码较低,它不会安装


有没有更好的方法来处理这个问题,而不是返回到我们svn中以前的版本标签,用更高的版本代码重新发布应用程序,将其上载到我们的服务器,然后使用“新”apk恢复应用程序?

这就是版本控制的目的。我将详细介绍Git及其分支和标记特性,以及它的revert和rollback命令

要记住的关键一点是:历史是永恒不变的


如果你搞砸了,恢复提交(或者更好,如果可以的话修复它们),然后发布一个新版本

我立刻想到两个选择,一个被认为是好的练习,另一个则不是

  • 使用版本控制
  • 如果您尚未使用它,则可以使用版本控制软件(如
    git
    svn
    )来管理您的版本和应用程序状态。git中的标签等特性可以让您跟踪发布的版本。如果需要,还可以恢复到以前的状态

  • 保持版本代码不变?
  • 理论上,由于您的服务器正在分发应用程序,而Play Store没有,因此您可以在新版本中保持版本代码不变,只更新版本名,这将允许降级。但是,这将被视为极为糟糕的做法,并可能导致许多问题,具体取决于应用程序的性质(如果它包含可能已更改且无法降级的数据库等)


    总的来说,我建议只在更新中发布bug修复,而不是让用户降级。

    我认为这不是OP的要求。他们正在寻找一种方法,使客户端能够专门还原APK,而无需(作为开发人员)使用
    AndroidManifest.xml
    中定义的更高版本号重新发布。他们试图克服的问题是,Android不允许您安装应用程序的旧版本(我认为没有任何解决方法,用户不卸载或恢复所有更新)。是的,我们的SVN中有标签/分支,这就是为什么我在提问时提到它<代码>有没有比返回到以前版本更好的方法来处理此问题。我意识到也许没有更好的办法,但这就是问题的所在。正确。周围没有工作。无法将发布的版本还原为以前的版本。Android会抱怨并抛出错误。因此,处理此问题的唯一正确方法是发布新版本。使用版本控制系统只会有助于实现这一点,并遵循最佳实践。@JeremyK我建议设置Jenkins CI环境(如果您还没有),该环境将自动生成工件APK并将其推送到您的服务器,以便您只需签入更改,新的生成将在几分钟后在服务器上可用。谢谢。我想情况就是这样,但我想确定一下。回复应该足够罕见,反正也没什么大不了的。是的,如果可能,我们将研究CI环境。