自动更新Android应用程序无需用户交互

4
据我所知,Android应用程序通过从Android市场下载apk并由用户确认更新来进行更新。如果Droid未经root,则在更新推送之前需要用户确认应用程序更新。我想知道是否有可能在非root的手机上从非市场服务器更新应用程序,而无需任何用户交互。
目前,我只知道通过市场和通过adb安装应用程序。也许还有其他方法吗?
5个回答

6
您无法完全远程执行此操作,因为这违反了Android的安全模型。您可以编写自己的更新程序来远程管理应用程序文件、首选项和数据库……但您不能更新代码,当然也不能更新APK。
因此,我的建议是,如果您确实需要完全远程执行此操作,请编写一些脚本解释器,可能通过反射辅助,赋予其所有可能需要的权限,并远程更新脚本文件中的逻辑。我很感兴趣看到这个过程如何进行。

嗨,问题修复了吗? - Rajesh

0

0
根据我对上面问题的理解,我创建了一个不断更新的应用程序,为此我正在使用Web服务。
1- 创建应用,并在第一次加载时创建一个名为“version.txt”的文件,其中包含文本,如1.0.0。 2- 每次加载此应用程序时,我都会检查版本.txt当前具有的编号并将其返回。 3- 然后,我使用我的Web服务向应用程序返回版本号(这仅是一个名为1.0.1的文件夹)。 4- 如果不匹配,则创建一个弹出窗口指示新版本可用。 5- 如果用户下载此文件,则只需从Web服务下载所有文件并将其移动到相应位置即可。
请注意,您将需要进行初始更新以进入市场。希望这可以帮助您。

-1
为了实现这个功能,我创建了一个单独的应用程序,它会下载更新的 APK 并运行一个意图来安装更新。我不记得 Intent 具有哪些参数,但这是我在没有经过市场的情况下进行更新的基本方法。我从未能够通过用户确认部分。

-1

我不确定远程更新,但是市场应用程序已经处理了自动更新的情况。在你拥有的每个应用程序中,都有一个复选框可启用自动更新。


3
完整来说,它仅在权限未更改时进行更新。如果更改了权限,则用户必须确认它们。 - user658042
抱歉,我不能直接给你答案。我需要完全远程操作。我不必告诉机器人有新的更新可用,但我需要它能够自动下载修补程序或其他内容,也就是说,应用将自动检查服务器并下载可用的更新。 - cesar

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接