Android下pm 命令详解
Android pm 命令详解在 Android 开发与调试过程中pmPackage Manager命令是一个功能强大的工具它允许开发者通过命令行直接与 Android 的包管理系统进行交互。该命令通常位于设备的/system/bin/目录下用于管理应用程序的安装、卸载、查询以及权限管理等操作。一、命令概览与基本用法执行pm命令本身不带参数或使用pm help可以查看其基本用法和子命令列表。核心子命令主要围绕包Package的列表、路径、安装和卸载展开。usage: pm [list|path|install|uninstall|enable|disable|...]二、包查询与管理命令1. 列出包 (list packages)用于列出设备上已安装的所有应用程序包。pm list packages列出所有已安装包的包名。pm list packages -f列出包名及其关联的 APK 文件路径。2. 列出权限组与权限 (list permissions)用于查看系统定义的权限信息。pm list permission-groups列出所有已知的权限组。pm list permissions列出所有已知权限。pm list permissions -g按权限组组织显示。pm list permissions -f打印权限的详细信息。pm list permissions -d仅列出危险权限。pm list permissions -u仅列出用户可见的权限。3. 列出仪器化测试 (list instrumentation)用于列出设备上的仪器化测试组件。pm list instrumentation列出所有仪器化测试。pm list instrumentation -f [TARGET-PACKAGE]列出指定目标包的仪器化测试及其文件路径。4. 列出系统特性 (list features)用于列出设备支持的硬件和软件特性。pm list features列出所有系统特性如蓝牙、摄像头、传感器等。# 示例输出 feature:reqGlEsVersion0x20000 feature:android.hardware.bluetooth feature:android.hardware.camera feature:android.hardware.location feature:android.hardware.location.network feature:android.hardware.microphone feature:android.hardware.sensor.accelerometer feature:android.hardware.sensor.compass feature:android.hardware.touchscreen feature:android.hardware.wifi5. 获取包路径 (path)用于获取指定应用程序包 APK 文件的安装路径。pm path PACKAGE_NAME输出指定包的 APK 文件路径。# 示例 pm path com.example.app # 输出package:/data/app/com.example.app-1/base.apk三、包安装与卸载命令1. 安装应用 (install)将 APK 文件安装到系统中。pm install [-l] [-r] [-t] [-i INSTALLER_PACKAGE_NAME] [-s] [-f] PATH_TO_APK常用选项-l使用前向锁定FORWARD_LOCK安装。-r重新安装现有应用并保留其数据。-t允许安装测试 APK。-i INSTALLER_PACKAGE_NAME指定安装器包名。-s将应用安装到 SD 卡外部存储。-f将应用安装到内部闪存。# 示例安装到内部存储 pm install /sdcard/Download/app.apk 示例重新安装并保留数据 pm install -r /data/local/tmp/app.apk2. 卸载应用 (uninstall)从系统中移除指定的应用程序包。pm uninstall [-k] PACKAGE_NAME选项-k卸载后保留应用的数据和缓存目录。# 示例卸载应用但保留数据 pm uninstall -k com.example.app四、组件启用与禁用命令启用或禁用应用程序包或其特定组件如 Activity、Service。pm enable PACKAGE_OR_COMPONENT启用指定的包或组件。pm disable PACKAGE_OR_COMPONENT禁用指定的包或组件。组件名称格式为package/class例如com.example.app/.MainActivity。五、安装位置管理命令1. 获取当前安装位置 (getInstallLocation)查询当前的默认应用安装位置。pm getInstallLocation返回值0自动由系统决定最佳位置。1内部设备存储。2外部媒体如 SD 卡。2. 设置默认安装位置 (setInstallLocation)更改默认的应用安装位置。pm setInstallLocation [0|1|2]参数说明0或auto由系统自动决定。1或internal安装到内部存储。2或external安装到外部存储。注意此设置可能受设备制造商策略或 Android 版本限制并非所有设备都支持将应用安装到外部存储。六、实践技巧与注意事项权限要求大多数pm命令需要adb shell环境并且通常需要设备已获取 root 权限或处于调试模式。路径问题使用install命令时请确保 APK 文件路径在设备上可访问例如通过adb push上传。版本差异不同 Android 版本的pm命令选项和输出格式可能略有不同建议在实际设备上测试。外部存储安装若想将应用安装到 SD 卡除了使用pm setInstallLocation 2有时还需在系统设置中将 SD 卡设为默认存储设备。七、总结pm命令是 Android 开发者和高级用户进行包管理的利器。通过熟练掌握上述命令你可以高效地查询应用信息、批量管理应用安装与卸载、控制系统组件状态从而在自动化测试、设备预装、系统调试等场景中发挥重要作用。建议结合adb shell在实际设备或模拟器中进行练习以加深理解。

相关新闻

高速ADC JESD204B接口实战:从寄存器配置到硬件设计的完整指南

高速ADC JESD204B接口实战:从寄存器配置到硬件设计的完整指南

1. 项目概述与核心挑战在雷达、无线通信基站或者高端测试测量设备的设计中,高速模数转换器(ADC)的性能直接决定了整个系统的“天花板”。几年前,当我们还在为如何布通几十对甚至上百对的并行LVDS数据线而头疼,小心翼翼…

2026/10/11 1:54:38 阅读更多 →
DeepSeek    LeetCode 3710. 最大划分因子 TypeScript实现

DeepSeek LeetCode 3710. 最大划分因子 TypeScript实现

以下是 LeetCode 3710. 最大划分因子 的 TypeScript 实现&#xff0c;采用 二分答案 二分图判定&#xff08;DFS 染色法&#xff09;&#xff1a;typescript function maxPartitionFactor(points: number[][]): number {const n points.length;if (n < 2) return 0;// 1. …

2026/10/11 1:53:52 阅读更多 →
高速ADC性能指标解析:从SNR、SFDR到系统设计实战

高速ADC性能指标解析:从SNR、SFDR到系统设计实战

1. 高速ADC性能指标&#xff1a;从静态精度到动态响应的全面解读在雷达、通信基站、高端测试仪器这些领域里混久了&#xff0c;你一定会对高速模数转换器&#xff08;ADC&#xff09;的性能指标表又爱又恨。爱的是&#xff0c;一张密密麻麻的数据表&#xff0c;几乎定义了你整个…

2026/10/1 10:03:29 阅读更多 →

最新新闻

手机怎么控制电脑远程办公 手机控制电脑的远程软件

手机怎么控制电脑远程办公 手机控制电脑的远程软件

手机怎么控制电脑远程办公&#xff1f;外出出差、居家休整时突发工作需求&#xff0c;电脑不在身边就容易耽误工作进度&#xff0c;多数远控工具体验差、不适配办公场景。手机怎么控制电脑远程办公更方便&#xff1f;建议使用无界趣连2.0&#xff0c;操作简单、实用性强&#x…

2026/10/11 1:53:42 阅读更多 →
手机怎么连接电脑用电脑操作 手机怎样连接电脑

手机怎么连接电脑用电脑操作 手机怎样连接电脑

手机怎么连接电脑用电脑操作&#xff1f;很多用户想在大屏上处理手机应用&#xff0c;或者远程帮家人操作手机&#xff0c;却不知道具体方法。其实选对远程控制工具即可&#xff0c;无界趣连2.0连接简单、延迟低、画质清晰&#xff0c;能轻松实现手机与电脑互控。综合来看&…

2026/10/11 1:53:42 阅读更多 →
242页PPT,战略落地难?真正缺的不是规划,而是从愿景到行动的闭环

242页PPT,战略落地难?真正缺的不是规划,而是从愿景到行动的闭环

很多企业并不缺战略。缺的是战略落地。每年战略会开得很热闹&#xff0c;愿景很宏大&#xff0c;目标很振奋&#xff0c;口号也很有力量。可到了第二季度&#xff0c;业务还是按老办法跑&#xff0c;部门还是按旧边界协同&#xff0c;绩效还是考原来的指标&#xff0c;一线员工…

2026/10/11 1:53:42 阅读更多 →
WPF嵌入D3D11渲染:共享纹理与D3DImage桥接实践

WPF嵌入D3D11渲染:共享纹理与D3DImage桥接实践

简介&#xff1a;一份面向WPF开发者的D3D视频渲染示例&#xff0c;演示在Windows Presentation Foundation中借助Direct3D硬件加速&#xff0c;高效处理并显示YUV颜色空间的视频帧。项目核心提供完整的C#源代码&#xff0c;涵盖YUV数据到D3D纹理的转换、渲染源封装、Win32互操作…

2026/10/11 1:53:42 阅读更多 →
Windows下ffmpeg下载安装与配置避坑指南

Windows下ffmpeg下载安装与配置避坑指南

简介&#xff1a;Windows 版 FFmpeg 最新静态构建压缩包&#xff0c;内置 FFmpeg 4.3.1 的 64 位可执行程序&#xff0c;专为需要批量转码、音视频剪辑、流媒体推送及格式分析的开发者和内容创作者准备&#xff0c;特别适合不愿自行编译源码、希望直接解压使用的 Windows 用户。…

2026/10/11 1:53:42 阅读更多 →
基于 Raft 协议的强一致分布式锁选型:Etcd vs Redis 在金融级场景下的对比

基于 Raft 协议的强一致分布式锁选型:Etcd vs Redis 在金融级场景下的对比

在分布式锁的选型会议上&#xff0c;架构师们经常会面对两派激烈的技术争吵&#xff1a; 一派是“性能实用主义者”&#xff0c;他们力挺 Redis&#xff1a;“Redisson 封装完备&#xff0c;单机吞吐破 10 万 QPS&#xff0c;看门狗自动续期极其优雅&#xff0c;全网普及度最高…

2026/10/11 1:52:42 阅读更多 →

日新闻

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

简介&#xff1a;基于 ARIMA、LSTM、Transformer 等模型的流感时间序列预测 Python 源码&#xff0c;面向计算机相关专业课程设计与期末大作业学生&#xff0c;以及项目实战学习者。内容覆盖预处理、平稳性检验、定阶、残差分析、多模型对比预测的完整时序建模流程&#xff0c;…

2026/10/11 0:00:27 阅读更多 →
影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程&#xff1a;键盘模拟输入实战——输入文本与模拟按键的区别 做影刀RPA自动化&#xff0c;十个新手有八个栽在"往输入框里填东西"这件事上&#xff1a;要么填不进去&#xff0c;要么填了一半&#xff0c;要么直接把原来内容追加在后面。这背后的根因&…

2026/10/11 0:00:27 阅读更多 →
影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程&#xff1a;阅文起点小说数据采集实战——书籍信息与章节内容 1. 认识影刀&#xff1a;什么场景该用RPA采小说数据 起点中文网的页面结构相对稳定——分类榜单、书籍详情、章节内容三块独立页面&#xff0c;跳转链路清晰。这种场景非常适合影刀自动化&#x…

2026/10/11 0:00:27 阅读更多 →

周新闻

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

简介&#xff1a;基于 ARIMA、LSTM、Transformer 等模型的流感时间序列预测 Python 源码&#xff0c;面向计算机相关专业课程设计与期末大作业学生&#xff0c;以及项目实战学习者。内容覆盖预处理、平稳性检验、定阶、残差分析、多模型对比预测的完整时序建模流程&#xff0c;…

2026/10/11 0:00:27 阅读更多 →
影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程&#xff1a;键盘模拟输入实战——输入文本与模拟按键的区别 做影刀RPA自动化&#xff0c;十个新手有八个栽在"往输入框里填东西"这件事上&#xff1a;要么填不进去&#xff0c;要么填了一半&#xff0c;要么直接把原来内容追加在后面。这背后的根因&…

2026/10/11 0:00:27 阅读更多 →
影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程&#xff1a;阅文起点小说数据采集实战——书籍信息与章节内容 1. 认识影刀&#xff1a;什么场景该用RPA采小说数据 起点中文网的页面结构相对稳定——分类榜单、书籍详情、章节内容三块独立页面&#xff0c;跳转链路清晰。这种场景非常适合影刀自动化&#x…

2026/10/11 0:00:27 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/10 5:23:50 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/9 21:32:20 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/10 10:38:42 阅读更多 →