安卓应用安装步骤详解

10次阅读
没有评论

问题描述

想了解安卓应用安装的完整步骤。他想知道安卓是简单地将应用程序包复制到另一个位置吗?当运行应用程序时,安卓是否每次都解压应用程序包?

解决方案

请注意以下操作注意版本差异及修改前做好备份。

安卓并不会每次都解压应用程序包。dalvik-cache 是存储 dex 文件(即 dalvik 可执行文件)的缓存位置。

系统应用在设备首次启动时进行缓存,如果缓存不存在的话。用户应用,我猜测,在安装或首次启动时会进行缓存。

一旦应用程序被缓存,它在应用程序更新之前不会更新缓存,这就是我认为这个过程发生在安装过程中的原因。但是,当应用程序启动时,也可以仅从 APK 中读取清单并查看其版本。如果版本与缓存中的版本不同,则可能会重新缓存。

我想在此基础上进行更深入的探讨。我刚清除了我的 dalvik-cache 并重新启动了我的设备。通过 DDMS 监视设备日志,我发现它在启动时会对系统应用和“用户”应用进行操作。

PackageManager “收集” APK 的证书,然后解压 APK。PackageParser 存储 APK 具有的任何权限。

因此,这些步骤是在设备启动时完成的(如果 APK 自上次启动以来发生了变化,或者 dalvik-cache 已被清除)。但是这个过程也会在安装 APK 时完成,因为 PackageManager 和 PackageParser 处理该过程。

这不仅仅是“运行”过程,这是应用程序安装时发生的情况。dalvik-cache 充当了应用程序的“注册”表,但在安装期间,应用程序还向系统注册了任何“接收器”。这些类似于监听特定动作的监听器,处理的链接类型等。虽然没有像 Windows 注册表那样的注册表,但是是的,操作系统会跟踪已安装的应用程序以及可以启动应用程序的操作。

以上是关于安卓应用安装过程的详细解释。

如果还有其他疑问,欢迎提出。

正文完