无声无人值守远程安卓应用程序更新



我朋友的应用程序将预装在约60000台安卓设备上。我们希望设备在我们的网站上可用时下载并安装新版本的应用程序(我们将发布.apk文件)。

该申请不会在市场上公布。这是一个内部商业应用程序。

我查找了类似的问题,发现https://stackoverflow.com/a/1662032自2009年起https://stackoverflow.com/a/4264819从2010年开始,它建议分发带有新版本应用程序的新固件。这仍然是2014年的最佳选择吗?我们正在寻找一个完全无人值守的全自动软件更新,尽可能少的停机时间。

我正在探索使用CFEngine,因为我熟悉CFEngine,动态重新配置在它的权限和能力范围内,但我也在检查Android"原生"解决方案。

https://stackoverflow.com/a/2585448描述了下载APK,但下一步需要人工交互才能在下载管理器中单击APK进行安装。我们正在寻找一个完全无人值守的安装。

我还遇到了GCM(http://developer.android.com/google/gcm/index.html)但我们的设备将位于防火墙后面的内部网络上,这就是为什么我们希望他们撤下更新,而不是我们向他们推送更新(我认为GCM会促进这一点,因为它允许向设备发送消息的结构)。

我们无法通过推送访问这些设备,但它们可以从我们的网络服务器上提取。

最有希望的答案似乎是https://stackoverflow.com/a/12274740/3371843它描述了如何以编程方式下载和安装APK,但它仍然需要用户交互以确保安全,除非通过Google Play完成?我们不会上Google Play。

随着安卓系统的持续发展和安卓系统在商业上的应用,我相信这个问题会出现在其他人身上。如果你能提供任何帮助,我将不胜感激。

我们正在寻找一种完全无人值守的全自动软件更新,尽可能减少停机时间。

这在普通的SDK应用程序中是不可能的。升级应用程序需要用户干预。

固件制造商可以提供应用程序的自动更新,就像配备Play Store的固件对不添加新权限的Play Store应用程序所做的那样。

这就是为什么我们希望他们撤下更新,而不是我们向他们推送更新(我认为GCM会促进这一点,因为它允许向设备发送消息的结构)

除非您的APK文件在JSON中编码时小于4K,否则GCM除了作为一种触发机制来指示某些内容可供下载之外,不会有太多用处。

您得到任何解决方案了吗?我的应用程序(静默更新)也面临同样的问题,我找到了一个解决方案,可以使用以下库静默检查更新版本并下载:

https://github.com/RaghavSood/AppaholicsUpdateChecker

它已关闭,但在升级前仍会请求用户权限。我希望通过传递用户权限来看到的(非根)解决方案。

相关内容

最新更新