Android的应用程序自我更新策略?

时间:2013-09-17 14:26:12

标签: android security automatic-updates

我意识到这是一个广泛而且模糊的问题,但我正在寻找一些在Android中自我更新应用程序的常用策略(不是通过Google Play,而是直接来自应用程序本身)。也许我可以将实际应用程序的APK嵌入另一个进行更新的APK中,但是(1)更新程序甚至可以在运行时自行修改,(2)更一般地说,如何防止另一个(据称是恶意的)应用程序修改更新?任何关于此事的提示,链接或想法都将不胜感激!

2 个答案:

答案 0 :(得分:4)

  

我正在寻找一些在Android中自我更新应用程序的常用策略

我真的只能想到一个策略:

步骤1:确定更新可用(例如,监控某些URL以获取最新版本信息)

步骤2:下载更新

步骤3:在用户请求时,使用ACTION_VIEWACTION_INSTALL_PACKAGE(后者在API Level 14+上提供)启动安装,因为用户需要批准更新

  

更新程序甚至可以在运行时自行修改

正在更新的应用将在更新期间停止其进程。

  

如何阻止另一个(据称是恶意的)应用修改更新程序?

更新必须使用与原始版本签名相同的签名密钥进行签名,与通过Play商店进行分发无异。因此,保护​​您的签名密钥与您的生活(或者与其他人一起生活,如果周围有人穿着red shirt)。

答案 1 :(得分:3)

有一点需要注意的是,谷歌根本不喜欢这种行为。 Google bans self-updating Android apps...

  谷歌现在已经明确改变了Google Play商店的政策   试图避免类似Facebook的商店交付   更新。在Google Play的“危险产品”部分下   开发者政策,谷歌现在声明“[a] n应用程序下载   Google Play不得修改,替换或更新自己的APK二进制代码   使用Google Play更新机制以外的任何方法。“A   Droid-Life文章说,语言更新发生在周四。 APK   (代表应用程序包文件)是用于的文件格式   在Android上安装应用程序。

我不确定您的应用是否曾经或将要用于Google Play,但如果是这样,我建议您不要这样做,因为它可能会危及您的开发者帐户。