我朋友的应用程序将预装在约60,000台Android设备上。我们希望设备在我们的网站上可用时下载并安装更新版本的应用程序(我们将发布.apk文件)。
该申请不会在市场上发布。这是一个内部业务应用程序。
我查找了类似的问题,发现了2009年的https://stackoverflow.com/a/1662032和2010年的https://stackoverflow.com/a/4264819,建议使用较新版本的应用分发新的固件。这仍然是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上播放。
随着Android的持续增长和Android的商用,我相信这个问题会出现在其他人面前。非常感谢您提供的任何帮助。
答案 0 :(得分:1)
我们正在寻找一种完全无人值守的全自动软件更新,并尽可能减少停机时间。
普通的SDK应用程序无法做到这一点。升级应用程序需要用户干预。
固件制造商可以提供应用程序的自动更新,这是Play商店配备的固件为不添加新权限的Play商店应用程序提供的方式。
这就是为什么我们希望他们下载更新,而不是我们推送更新(我认为GCM会促进,因为它允许结构向设备发送消息)
除非您的APK文件在使用JSON编码时小于4K,否则GCM将没有多大用处,除了作为触发机制来指示某些内容可供下载。
答案 1 :(得分:1)
你有任何解决方案吗? 我面临与我的应用程序相同的问题(静默更新),我找到了一个解决方案,通过使用以下库静默检查更新版本并静默下载:
https://github.com/RaghavSood/AppaholicsUpdateChecker
它很接近,但在升级之前它仍然要求用户许可。我希望通过传递用户权限来查看(非根)解决方案。