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/7/25 1:17:03 阅读更多 →
【双层优化】综合能源系统容量配置-运行调度研究(Matlab代码实现)

【双层优化】综合能源系统容量配置-运行调度研究(Matlab代码实现)

💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 &#x1f381…

2026/7/25 1:17:03 阅读更多 →
基于多面体聚合(内近似模型、闵可夫斯基和)的电动汽车可调能力(功率容量)评估(Matlab代码实现)

基于多面体聚合(内近似模型、闵可夫斯基和)的电动汽车可调能力(功率容量)评估(Matlab代码实现)

💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 &#x1f381…

2026/7/25 1:17:03 阅读更多 →

最新新闻

[特殊字符] AI 自主攻击第一案:当大模型为了拿高分,对另一家 AI 公司发动了真实网络入侵

[特殊字符] AI 自主攻击第一案:当大模型为了拿高分,对另一家 AI 公司发动了真实网络入侵

人类没下指令,AI 自己决定要攻击——然后它真的做到了。你好,我是老张。如果你觉得“AI 失控”还只是科幻电影里的情节,那 2026 年 7 月发生的这件事,会彻底刷新你的认知。OpenAI 正在测试的最新大模型,在一次内部安全…

2026/7/25 1:29:06 阅读更多 →
PLC高速脉冲绝对位置控制:从原理到实战应用详解

PLC高速脉冲绝对位置控制:从原理到实战应用详解

在工业自动化项目中,精确定位控制是很多设备的核心需求。无论是数控机床的刀具定位、机械手的精确抓取,还是传送带的物料分拣,都需要对执行机构的位置进行毫米级甚至微米级的控制。而PLC的高速脉冲输出功能结合伺服驱动器,正是实现这种高精度定位的主流技术方案。 本文将详…

2026/7/25 1:29:06 阅读更多 →
抖音下载器:开源高效的视频内容管理解决方案

抖音下载器:开源高效的视频内容管理解决方案

抖音下载器:开源高效的视频内容管理解决方案 【免费下载链接】douyin-downloader A practical Douyin downloader for both single-item and profile batch downloads, with progress display, retries, SQLite deduplication, and browser fallback support. 抖音批…

2026/7/25 1:29:06 阅读更多 →
Gradio与Streamlit的ML演示应用对比:快速原型开发的选型指南

Gradio与Streamlit的ML演示应用对比:快速原型开发的选型指南

Gradio与Streamlit的ML演示应用对比:快速原型开发的选型指南Gradio和Streamlit是目前ML社区中最流行的两个快速原型演示框架。两者都宣称"用Python代码即可构建交互式Web应用",但在设计理念、组件生态和底层机制上存在本质差异。本文从事件驱动…

2026/7/25 1:29:06 阅读更多 →
PLC自动化中PWM控制:从原理到工程实践的全解析

PLC自动化中PWM控制:从原理到工程实践的全解析

那天下午,工厂产线突然停了。操作工急急忙忙跑过来,说电机转速不稳,时快时慢。我打开PLC程序,发现那个负责电机调速的PWM模块参数被人改过——有人觉得把频率调高能让电机转得更快,结果适得其反。 这种场景在自动化现场太常见了。PWM(脉冲宽度调制)看起来简单,不就是调…

2026/7/25 1:29:06 阅读更多 →
ROOT C++库核心架构解析与源码实战:从I/O系统到性能优化

ROOT C++库核心架构解析与源码实战:从I/O系统到性能优化

1. 项目概述:为什么需要深入理解ROOT C库?如果你在粒子物理、高能物理、天体物理或者金融数据分析领域工作,那么“ROOT”这个名字对你来说一定不陌生。它不是一个操作系统权限,而是一个由欧洲核子研究中心主导开发的、庞大的数据分…

2026/7/25 1:28:06 阅读更多 →

日新闻

突破文档下载限制:kill-doc让你看到的都能保存

突破文档下载限制:kill-doc让你看到的都能保存

突破文档下载限制:kill-doc让你看到的都能保存 【免费下载链接】kill-doc 看到经常有小伙伴们需要下载一些免费文档,但是相关网站浏览体验不好各种广告,各种登录验证,需要很多步骤才能下载文档,该脚本就是为了解决您的…

2026/7/25 0:00:35 阅读更多 →
C++ string类模拟实现:从深拷贝到内存管理的完整指南

C++ string类模拟实现:从深拷贝到内存管理的完整指南

1. 项目概述:为什么我们要“手撕”string类?在C的学习道路上,尤其是从C语言过渡到C的“初阶”阶段,string类绝对是一个绕不开的核心。标准库里的std::string用起来太方便了,、find、substr,几个操作符和函数…

2026/7/25 0:00:35 阅读更多 →
三角洲寻宝鼠工具:高效文件搜索与资源管理实战指南

三角洲寻宝鼠工具:高效文件搜索与资源管理实战指南

1. 先搞清楚“三角洲寻宝鼠”到底是什么工具从名称来看,“三角洲寻宝鼠”更像是一个资源查找或文件检索类工具,而不是游戏或娱乐软件。这类工具的核心价值在于帮助用户快速定位特定资源,比如文档、图片、压缩包或特定格式的文件。如果你经常需…

2026/7/25 0:00:35 阅读更多 →

周新闻

Go语言静态资源打包方案对比与实践指南

Go语言静态资源打包方案对比与实践指南

1. 项目背景与核心需求在Go语言开发中,我们经常需要处理静态资源文件的打包问题。无论是Web应用的模板文件、前端资源,还是配置文件、证书等,都需要随程序一起分发。传统做法是将这些文件与编译后的二进制文件放在同一目录下,但这…

2026/7/24 3:59:20 阅读更多 →
Go语言实现高性能LDAP认证服务的架构与实践

Go语言实现高性能LDAP认证服务的架构与实践

1. 项目背景与核心价值LDAP(轻量级目录访问协议)作为企业级身份认证的黄金标准,已经服务了超过80%的财富500强公司。我在金融科技领域实施统一认证体系时,发现传统Java方案存在启动慢、内存占用高等痛点。而Go语言凭借其协程并发模…

2026/7/24 1:23:39 阅读更多 →
【AI面试官实战指南】:用ChatGPT模拟10类高频技术岗面试,3天提升应答精准度92%

【AI面试官实战指南】:用ChatGPT模拟10类高频技术岗面试,3天提升应答精准度92%

更多请点击: https://intelliparadigm.com 第一章:AI面试官实战指南的核心价值与适用场景 AI面试官并非替代人类HR的“黑箱工具”,而是以可解释、可审计、可迭代的方式,赋能招聘全链路的关键基础设施。其核心价值在于将主观经验沉…

2026/7/24 18:52:18 阅读更多 →

月新闻