Android开发经验谈Android开发

14 Pm命令用法

2020-10-12  本文已影响0人  凤邪摩羯

一、Pm命令

1.1 命令列表

命令格式:

pm <command>

命令列表:

命令 功能 实现方法
list packages 列举app包信息 PMS.getInstalledPackages
install [options] <PATH> 安装应用 PMS.installPackageAsUser
uninstall [options]<package> 卸载应用 IPackageInstaller.uninstall
enable <包名或组件名> enable PMS.setEnabledSetting
disable <包名或组件名> disable PMS.setEnabledSetting
hide <package> 隐藏应用 PMS.setApplicationHiddenSettingAsUser
unhide <package> 显示应用 PMS.setApplicationHiddenSettingAsUser
get-install-location 获取安装位置 PMS.getInstallLocation
set-install-location 设置安装位置 PMS.setInstallLocation
path <package> 查看App路径 PMS.getPackageInfo
clear <package> 清空App数据 AMS.clearApplicationUserData
get-max-users 最大用户数 UserManager.getMaxSupportedUsers
force-dex-opt <package> dex优化 PMS.forceDexOpt
dump <package> dump信息 AM.dumpPackageStateStatic
trim-caches <目标size> 紧缩cache目标大小 PMS.freeStorageAndNotify

pm命令实的实现方式在Pm.java,最后大多数都是调用PackageManagerService相应的方法来完成的。disbale之后,在桌面和应用程序列表里边都看到不该app。

1.2 pm list packages命令

查看所有的package

list packages [options] <FILTER>

其中[options]参数:

规律: disabled + enabled = 总应用个数; 系统 + 第三方 = 总应用个数。

比如:查看第3方应用:

pm list packages -3

又比如,查看已经被禁用的包名。(国内的厂商一般把google的服务禁用了)

pm list packages -d

<FILTER>参数:

当FILTER为不为空时,则只会输出包名带有FILTER字段的应用;当FILTER为空时,则默认显示所有满足条件的应用。

比如,查看包名带google字段的包名

pm list packages google

1.3 pm install命令

安装应用

pm install [options] <PATH>

其中[options]参数:

PATH参数:该参数是必须的,是指需要安装的apk所在的路径。

1.4 其他参数

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: 只列举用户可见的权限。
上一篇 下一篇

猜你喜欢

热点阅读