[TOC]

概述

Android在调试的时候,我们有时候需要查查已经安装的应用,列出包名等一些APK的安装的信息。

这个时候,我们就需要用到pm的命令。

1
adb shell pm list packages -[option]

查看已经安装的应用,列出包名

我们可以通过pm命令来查看已经安装的APK。后面加不同的后缀输出不同信息。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20

adb shell pm list packages //查看当前连接设备或者虚拟机的所有包

adb shell pm list packages -d //只输出禁用的包。

adb shell pm list packages -e //只输出启用的包。

adb shell pm list packages -s //只输出系统的包。

adb shell pm list packages -i //只输出包和安装信息(安装来源)。

adb shell pm list packages -u //只输出包和未安装包信息(安装来源)。

adb shell pm list packages -i //只输出包和安装信息(安装来源)。

adb shell pm list packages -f //输出包和包相关联的文件

adb shell pm list packages -3 //输出所有第三方包。

adb shell pm list packages | grep "sina" //按照要求搜索包。

清空指定应用的数据(/data/data/package)

1
adb shell pm clear <package_name>

安装应用

1
2
3
4
5
6
7
8
9
10
11
12
13
adb shell pm install [options] <PATH>


// 其中[options]参数:
-r: 覆盖安装已存在Apk,并保持原有数据;
-d: 运行安装低版本Apk;
-t: 运行安装测试Apk
-i : 指定Apk的安装器;
-s: 安装apk到共享快存储,比如sdcard;
-f: 安装apk到内部系统内存;
-l: 安装过程,持有转发锁
-g: 准许Apk manifest中的所有权限;
PATH参数:该参数是必须的,是指需要安装的apk所在的路径。

其它用法

1
2
3
4
5
6
7
8
9
10
11
pm list users //查看当前手机用户
pm list libraries //查看当前设备所支持的库
pm list features //查看系统所有的features
pm list instrumentation //所有测试包的信息
pm list permission-groups //查看所有的权限组
pm list permissions [options] <group> 查看权限
-g: 以组形式组织;
-f: 打印所有信息;
-s: 简要信息;
-d: 只列举危险权限;
-u: 只列举用户可见的权限。