Package Manager , 可以用获取到一些安装在 Android 设备上得应用信息
pm 的源码 Pm.java , 直接运行 adb shell pm 可以获取到该命令的帮助信息


adb shell pm list package
--列出安装在设备上应用的包名,不带任何选项


adb shell pm list package -s
-s:列出系统应用


adb shell pm list package -3
-3:列出第三方应用


adb shell pm list package -f
-f:列出应用包名及对应的apk名及存放位置


adb shell pm list package -i
-i:列出应用包名及其安装来源
--返回值: package:com.zhihu.android installer=com.xiaomi.market


adb shell pm list package -f -3 -i zhihu
--组合用法: package:/data/app/com.tencent.mobileqq-1.apk


adb shell pm list instrumentation
--列出含有单元测试 case 的应用,后面可跟参数 -f (与 pm list package 中一样),以及 [TARGET-PACKAGE]


adb shell pm dump com.tencent.mobileqq
--后跟包名,列出指定应用的 dump 信息,里面有各种信息,自行查看


adb shell pm install
--安装应用
--目标 apk 存放于 PC 端,请用 adb install 安装
--目标 apk 存放于 Android 设备上,请用 pm install 安装


adb shell pm uninstall
--卸载应用,同 adb uninstall , 后面跟的参数都是应用的包名


adb shell pm clear
--清除应用数据


adb shell pm set-install-location
--设置应用安装位置
adb shell pm get-install-location
--获取应用安装位置
--[0/auto]:默认为自动
--[1/internal]:默认为安装在手机内部
--[2/external]:默认安装在外部存储