Android应用可以自行升级吗?

问题描述 投票:2回答:3

是否可以在Android中更新自己的应用程序?有问题的应用程序是一个系统应用程序,所以我可以执行特权命令。另请注意,我不想向用户显示任何通知,因此一切都应该在后台运行。

android system
3个回答
1
投票

应用程序实际上很容易更新自己,困难的部分就是在不向用户提示的情况下进行更新。该应用需要下载APK,然后将其发送到PackageManager API进行安装。然后,Android会提示安装提示。有一个库来处理该部分:

至于通过提示进行操作,应用程序需要特权访问权限。如果设备已植根,则应用可以请求root访问权限。该应用程序也可以作为“priv-app”闪存,以便它具有特权访问权限。或者您可以像F-Droid一样:将Privileged Extension作为“priv-app”闪存,并使您的应用程序向Privileged Extension发送安装/卸载请求。

否则,你需要下载二进制代码,并动态加载它,就像@ yusuf-x所说的那样。请注意,Google正努力在每个新版Android中实现这一目标。


0
投票

使用Java ClassLoader动态加载推送或下拉的代码。 - Yusuf X刚刚编辑。我在Android上使用它只是为了这个目的。


0
投票

Fdroid是一个开源应用程序库。他们的客户端应用程序可以从fdroid存储库安装/更新/删除应用程序,包括自身。

请在此处查看客户端应用程序的安装程序部分的代码:https://gitlab.com/fdroid/fdroidclient/tree/master/app/src/main/java/org/fdroid/fdroid/installer

© www.soinside.com 2019 - 2024. All rights reserved.