Android pm 命令详解

一、pm命令介绍与包名信息查询
1.pm命令介绍

pm工具为包管理(package manager)的简称

可以使用pm工具来执行应用的安装和查询应用的信息、系统权限、控制应用

pm工具是Android开发与测试过程中必不可少的工具,shell命令格式如下:

pm <command>

2.包名信息查询

shell模式下:

pm list packages [options] [FILTER]

打印所有的已经安装的应用的包名,如果设置了文件过滤则值显示包含过滤文字的内容

参数

描述
-f 显示每个包的文件位置
-d 使用过滤器,只显示禁用的应用的包名
-e 使用过滤器,只显示可用的应用的包名
-s 使用过滤器,只显示系统应用的包名
-3 使用过滤器,只显示第三方应用的包名
-i 查看应用的安装者

二、权限信息查询
1.权限基础

权限的组成:权限的名称,属于的权限组,保护级别

例如:

授权( 取消权限同理)

三、其他信息查询
1.测试包与apk路径查询

pm

子命令

参数

说明
list instrymentation 无参数 列出所有的instrumentation测试包
-f 列出apk文件位置
列出某个app的测试包
path 打印指定包名的apk路径

例如:

adb shell pm list instrumentation

adb shell pm list instrumentation TARGET_PACKAGE

adb shell pm path PACKAGE_NAME
2.系统功能与支持库查询

pm

子命令

说明
list feature 打印系统的所有功能
列出所有硬件相关信息
list libraries 打印当前设备所支持的所有库

例如:

adb shell pm list feature
3.打印包的系统状态信息

pm dump PACKAGE

打印给定的包的系统状态

打印内容

说明
DUMP OF SERVICE package 打印服务信息
DUMP OF SERVICE activity 打印activity信息
DUMP OF SERVICE meminfo 打印当前内存使用信息
DUMP OF SERVICE procstats 打印系统内存使用与一段时间内存汇总
DUMP OF SERVICE usagestats 打印服务器使用状态信息
DUMP OF SERVICE batterystats 打印电池状态信息

例如:

adb shell pm dump PACKAGE_NAME

四、安装与卸载
1.安装

pm install [-lrtsfd] [-i PACKAGE] [PATH]

通过指定路径安装apk到手机中(与adb install不同的是adb install安装的.apk是在你的电脑上,而pm install安装的apk是存储在你的手机中)

参数

说明
-l 锁定应用程序
-r 重新安装应用,且保留应用数据
-t 允许测试apk被安装
-i 指定安装包的包名
-s 安装到sd卡
-f 安装到系统内置存储中(默认安装位置)
-d 允许降级安装(同一应用低级换高级)
-g 授予应用程序清单中列出的所有权限(只有6.0系统可用)

首先将test.apk文件push到手机目录中比如/data/local/tmp

adb shell pm install /data/local/tmp/test.apk #安装

adb shell pm install –r /data/local/tmp/test.apk #重新安装
2.卸载

pm uninstall [options] <PACKAGE>

#卸载应用

参数

说明
-k 卸载应用且保留数据与缓存(如果不加-k则全部删除)

五、控制命令
1.清除应用数据

pm clear <PACKAGE_NAME>

2.禁用和启用应用

pm

只有系统应用才可以用,第三方应用不行

子命令

说明
enable 使package或component可用
disenable 使package或component不可用(直接就找不到应用了)
disenable-user [options] 使package或component不可用(会显示已停用)

3.隐藏与恢复应用

pm

被隐藏应用在应用管理中变得不可见,桌面图标也会消失

子命令

说明
hide PACKAGE_OR_COMPONENT 隐藏package或component
unhide PACKAGE_OR_CONPONENT 恢复可见package或component

4.控制应用的默认安装位置

pm

需要root权限

子命令

说明
set-install-location 更改默认的安装位置:
0:自动-让系统决定最好的位置
1:内部存储-安装在内部设备上的存储
2:外部存储-安装在外部媒体
注:只用于调试,不要瞎搞
get-install-localtion 返回当前的安装位置
0
1
2
对应上面的数字说明

猜你喜欢

转载自blog.csdn.net/zyfzhangyafei/article/details/75096989