Android PMS——ADB命令安装流程(七)

news/2025/2/19 17:00:38/

        前面的文章我们介绍了系统应用解析流程和通过 PackageInstaller.apk安装应用程序的相关流程,这一篇我们来分析使用 ADB 命令来实现 APK 安装流程。

一、ADB安装命令

ADB命令使用

adb install [选项] [APK绝对路径]

        常见选项如下:

-r:覆盖安装,保存原有数据;

-t:允许安装测试安装包;

-d:允许安装比当前版本低的安装包;

-g:安装并授予所有运行时权限;

-l:锁定该应用程序;

-s:安装到 SD 卡;

--fastdeploy:快速部署模式,仅更新 APK 更改过的部分。

安装流程

        对于使用 ADB 命令安装应用程序,主要可以总结为下面三步:

  • ADB 命令识别解析,并转化为 pm 命令。
  • pm 命令识别解析,并通过 Binder 调用到 PMS。
  • PMS 对 pm 命令进行处理。

        下面我们对以上三个步骤分别进行详细介绍。

二、ADB命令识别解析

        adb 命令对应的入口函数定义在 m


http://www.ppmy.cn/news/1341245.html

相关文章

Java正则表达式之Pattern和Matcher

目录 前言一、Pattern和Matcher的简单使用二、Pattern详解2.1 Pattern 常用方法2.1.1 compile(String regex)2.1.2 matches(String regex, CharSequence input)2.1.3 split(CharSequence input)2.1.4 pattern()2.1.5 matcher(CharSequence input) 三、Matcher详解3.1 Matcher 常…

删除有序数组中的重复项 II[中等]

优质博文:IT-BLOG-CN 一、题目 给你一个有序数组nums,请你原地删除重复出现的元素,使得出现次数超过两次的元素只出现两次 ,返回删除后数组的新长度。不要使用额外的数组空间,你必须在原地修改输入数组并在使用O(1)额…

【React】react组件传参

【React】react组件传参 一、props:父组件向子组件传参1、将普通的参数作为props传递2、将jsx作为props传递(组件插槽) 二、自定义事件:子父组件向父组件传参三、context进行多级组件传参四、redux全局状态管理 一、props&#xf…

三路快排解决TopK问题

前言: 我们首先要明白什么是三路快排,什么是topk问题。 三路快排: 思想: 三路快排就是数组分3块,三个指针,先随机取一个基准值key,然后将数组划分为3个部分: 【小于key】【等于…

解决C#中无限递归导致的System.StackOverflowException异常

目录 背景: 错误示例分析: 为什么是错误的? 正确的使用递归: 修改后的代码: 原理和原因: 结论: 背景: 在软件开发中,递归是一种常见的编程技术,它允许方法调用自…

呼叫中心座席转接策略

在企业进行批量呼出任务的时候,为了最大效率使用坐席,通常是以班组为单位,进行批量呼出任务。在选择班组作为呼叫业务的基本单位时,就涉及到为呼叫选择坐席策略。 OKCC系统的班组对于选择坐席设计了五种策略,即轮选、最…

SpringBoot整理-微服务

Spring Boot 在构建微服务架构的应用中发挥着关键作用。微服务是一种将大型复杂应用拆分为更小、更容易管理和维护的服务的架构风格。每个服务通常围绕特定的业务功能构建,并且可以独立部署、扩展和更新。Spring Boot 提供了一系列特性和工具,使得创建和维护这些独立服务变得…

一次OOM造成僵尸进程引发业务故障的排查总结

本篇由于涉及商业信息,只简述排查思路,不详述排查过程 问题现象 云硬盘备份业务偶发异常,备份云硬盘卡在备份中。 排查思路 1、检查备份程序日志 未发现异常日志,但异常备份对应的子进程,在异常时间点后未再打印日…