(私人)Android应用的自动更新

jan*_*nas 50 android auto-update google-play

我正在开发一个非公开的Android应用程序,即该应用程序将无法在全球Android Market中使用.该应用程序将安装在有限数量的客户端上,例如使用apk文件.如何在此应用中启用自动更新功能?

我看到了不同的潜在选择(我不知道这些是否在技术上很难甚至无法实现,或者是否有任何现有的功能可以重复使用):

  • 在每次启动时,应用程序测试是否存在新版本(通过请求服务器),如果是,则下载新的apk并将其自身替换为新版本.
  • 使用(或开发?)分离的应用程序或服务,进行更新检查和替换过程.
  • 使用(或开发?)具有自动更新选项的私有市场应用程序.此选项类似于第二个选项,但更通用:市场应用程序将连接到存储库,即它将处理任意数量的(私有)应用程序.

我更喜欢选项一,因为自动更新功能包含在应用程序中,需要较少的开发工作.

tcb*_*zil 18

janjonas,在我工作的公司,我们遇到了与Windows Mobile 6.x类似的问题,我们使用了与EboMike相同的解决方案:

在此输入图像描述

主应用程序针对WebService检查它是否已更新.如有必要,它会从下载新版本的位置接收当前版本和URL.主应用程序然后启动Updater应用程序,传递URL,然后退出.

更新程序通过HTTP下载新程序,向用户显示已下载的%.用户可以随时以受控方式取消下载,并且Updater可以注册此取消.

自下载新应用程序以来,Updater运行新应用程序并退出.


Ebo*_*ike 6

我认为选项一对你来说是最少的工作,实际上也是最干净的工作,因为它将通过使用Android的内置包安装程序的适当渠道,其中包括用户通知和用户中止安装的选项期望.

你已经完成了所有概述 - 检查服务器上的新版本(很高兴为用户提供关闭它的选项),如果有新版本,你可以直接链接到带有APK的URL (IIRC将使用浏览器的下载管理器下载它),或者您可以使用您的应用程序下载它,然后将意图指向您的本地文件.使用HTTP链接在技术上更少工作和更清洁 - 你让操作系统做得越多越好 - 除非有理由不这样做.