Android PMS
文章平均质量分 91
Android PMS学习笔记,源码部分以Android 11为主。
优惠券已抵扣
余额抵扣
还需支付
¥39.90
¥99.00
购买须知?
本专栏为图文内容,最终完结不会低于15篇文章。
订阅专栏,享有专栏所有文章阅读权限。
本专栏为虚拟商品,基于网络商品和虚拟商品的性质和特征,专栏一经购买无正当理由不予退款,不支持升级,敬请谅解。
c小旭
Android Framework车载智能座舱开发工程师
展开
-
Android PMS实战——PMS的Hook(十五)
通过前面的学习,我们都知道 PMS 是通过 ContextImpl 类中的 getPackageManager 这个方法来获取的。原创 2024-03-01 08:58:07 · 585 阅读 · 1 评论 -
Android PMS实战——Hook技术介绍(十四)
Hook 是“钩子”的意思,在 Android 操作系统中系统维护着自己的一套事件分发机制。应用程序,包括应用触发事件和后台逻辑处理,也是根据事件流程一步步地向下执行。而“钩子”的意思,就是在事件传送到终点前截获井监控事件的传输,像个钩子钩上事件一样,并且能够在钩上事件时,处理一些自己特定的事件。Hook 的这个本领,使它能够将自身的代码“融入”被勾住(Hook)的程序的进程中,成为目标进程的一个部分。原创 2024-03-01 08:57:42 · 321 阅读 · 0 评论 -
Android PMS——系统更新和版本管理(十三)
当一个新的系统版本发布时,PMS 会确保已安装的应用与新版本系统兼容,以避免潜在的运行时错误。通常整个检测过程遍布各个位置,来保证应用程序能够正常运行。原创 2024-02-28 09:19:48 · 197 阅读 · 0 评论 -
Android PMS——权限控制分析(十二)
PMS 中的权限控制通过权限管理和权限请求两个方面来实现。应用在 Android 系统中需要声明和请求权限,PMS 则会根据应用声明的权限和用户的选择来进行权限的管理和控制。原创 2024-02-28 09:19:05 · 670 阅读 · 0 评论 -
Android PMS——权限基础介绍(十一)
Android 将权限分为不同的类型,包括安装时权限、运行时权限和特殊权限。每种权限类型都指明了当系统授予应用该权限后,应用可以访问的受限数据范围以及应用可以执行的受限操作范围。原创 2024-02-27 14:35:58 · 350 阅读 · 0 评论 -
Android PMS——应用程序卸载流程(十)
从 PMS(Package Management System)源码的角度来分析应用程序的卸载流程,以下是主要步骤:用户发起卸载请求:用户在设备上选择要卸载的应用程序,并触发卸载操作。通常是通过应用商店、系统设置或应用程序管理器等界面进行操作。调用 PMS 接口:当用户发起卸载请求后,相应的界面会调用 PMS 提供的接口,传递要卸载的应用程序包名。停止应用程序组件:在卸载过程中,PMS 首先会停止与应用程序相关的组件,例如 Activity、Service、Receiver 等。原创 2024-02-27 14:35:34 · 242 阅读 · 0 评论 -
Android PMS——PMS处理pm命令(九)
上一篇文章介绍到最后通过 IBinder::shellCommand 调用到 PMS 中的 onShellCommand 方法。这里我们就来分析一下 PMS 中的处理流程。原创 2024-02-26 10:10:30 · 408 阅读 · 0 评论 -
Android PMS——pm命令解析(八)
pm 为包管理(package manager)的简称,pm 命令是 Android 系统中的一个包管理工具命令,用于管理应用程序包。它可以执行各种操作,例如安装、卸载、启用、禁用应用程序以及查看应用程序详细信息。原创 2024-02-26 10:09:59 · 470 阅读 · 0 评论 -
Android PMS——ADB命令安装流程(七)
前面的文章我们介绍了系统应用解析流程和通过 PackageInstaller.apk安装应用程序的相关流程,这一篇我们来分析使用 ADB 命令来实现 APK 安装流程。原创 2024-02-02 09:43:23 · 666 阅读 · 0 评论 -
Android PMS——网络下载应用安装(六)
我们接着上一篇文章继续分析,文章最后调用到了 PackageManagerService 中的 installStage() 方法,这里就是正式开始 APK 的安装过程。原创 2024-02-02 09:11:34 · 321 阅读 · 0 评论 -
Android PMS——应用安装流程介绍(五)
从 PMS(Package Management System)源码的角度来分析应用程序的安装流程,涉及以下主要步骤:获取 APK 文件:在应用程序安装之前,需要先获取 APK 文件。APK 文件是 Android 应用程序的安装包,它包含了应用程序的代码和资源文件。解析 APK 文件:PMS 首先需要对 APK 文件进行解析,以获取应用程序的信息和组件信息,例如应用程序包名、版本号、权限列表、组件列表(如 Activity、Service、Receiver 等)等。原创 2024-02-01 09:13:38 · 499 阅读 · 0 评论 -
Android PMS——系统应用位置解析(四)
前面的文章介绍解析 APK 时调用扫描方法 scanDirTracedLI 方法分别传入了 5 个不同的路径,这里我们来解析一下具体位置信息。源码位置:/frameworks/base/services/core/java/com/android/server/pm/PackageManagerService.java。原创 2024-02-01 09:13:05 · 297 阅读 · 0 评论 -
Android PMS——系统应用扫描解析(三)
在手机启动时 PMS 会在这段时间处理 APK 解析,至少有 70% 的启动时间耗费在 PMS 解析上,所以这也是为什么手机开机启动比较慢的原因之一。原创 2024-01-31 10:52:18 · 361 阅读 · 2 评论 -
Android PMS——PMS服务启动流程(二)
PackageManagerService 既然是系统服务,那么肯定是通过 SystemServer 启动的,所以我们首先看一下 SystemServer 服务中启动 PackageManagerService 相关代码。原创 2024-01-31 10:51:57 · 282 阅读 · 0 评论 -
Android PMS——概述(一)
PMS(Package Manager Service)是 Android 操作系统的一个重要组件,它负责管理应用程序的包信息以及与应用程序的安装、卸载、权限控制等相关功能,确保应用程序的安全性和稳定性。 Android PMS 负责维护一个应用程序包的清单信息,该清单是一个 XML 文件,包含应用程序的各种元数据,例如应用程序的包名、版本号、权限要求、组件信息等。PMS通过访问该清单文件来获取应用程序的信息。 此外,Android PMS 还负责应用程序的安装和卸载。在安装应用原创 2024-01-30 11:01:23 · 975 阅读 · 0 评论