【Android】图文解密Android PackageManagerService

文章目录

1、简介

PackageManagerService(PMS)的主要职责是apk管理,下图列出了PMS大家族相关的成员有哪些。

《【Android】图文解密Android PackageManagerService》

2、启动

PMS在SystemServer的Bootstrap阶段启动,启动过程中按顺序创建了许多对象,扫描了不同目录下的App进行安装。

《【Android】图文解密Android PackageManagerService》

3、apk打包

apk打包流程如下图所示。

《【Android】图文解密Android PackageManagerService》

4、apk安装

apk安装有两种方式,一种是不带安装界面的,在PMS启动时会扫描某些目录下的apk进行安装,或者通过adb进行安装;另一种是有安装界面的,有专门的PackageInstaller.apk为之服务,如常见的从应用市场下载安装。下面分析PMS启动时扫描/system/app目录下的apk流程。

《【Android】图文解密Android PackageManagerService》

5、app启动

Android开机启动时,会依次自动启动SystemUI、Persistent App、Home,流程如下图。

《【Android】图文解密Android PackageManagerService》

Persistent App即AndroidManifest.xml中application的android:persistent属性设置为true,默认为false,详细说明如下。

android:persistent
Whether or not the application should remain running at all times — “true” if it should, and “false” if not. The default value is “false”. Applications should not normally set this flag; persistence mode is intended only for certain system applications.

参考:https://developer.android.com/guide/topics/manifest/application-element#persistent

    原文作者:aidear_evo
    原文地址: https://blog.csdn.net/iEearth/article/details/87103569
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞