adb命令——adb shell pm命令 ——查询包相关详细信息

adb shell pm list packages [options] <FILTER>

打印所有软件包,可选择只打印软件包名称中包含<FILTER>的软件包。

不使用参数:adb shell pm list packages,打印设备/模拟器上的所有软件包

不使用参数:adb shell pm list packages,打印设备/模拟器上的所有软件包

使用-f参数:adb shell pm list packages -f,输出包和包相关联的文件

使用-d参数:adb shell pm list packages -d,只输出禁用的包。由于本机禁用没有,输出为空。

使用-e参数:adb shell pm list packages -e,只输出启用的包。

使用-s参数:adb shell pm list packages -s,只输出系统的包。

使用-3参数:adb shell pm list packages -3,只输出第三方的包。

使用-i参数:adb shell pm list packages -i,只输出包和安装信息(安装来源)。

使用-u参数:adb shell pm list packages -u,只输出包和未安装包信息(安装来源)。

使用--user参数:adb shell pm list packages --user <USER_ID>,根据用户id查询用户的空间的所有包,USER_ID代表当前连接设备的顺序,从零开始:

使用-e参数且设置过滤条件:adb shell pm list packages -e "ximalaya",只输出启用的包。

=============================================================================================================

 adb    shell    pm     set-install-location    0 1 2              ——————设置应用安装的默认目录—— 0 auto ——1 手机内存 ——2 sdcard


 adb    shell    pm     get-install-location                          ——————获取应用安装方式

===========================================================================================

 adb    shell     pm     install     -r  -f  -s     apppath          —————— 安装apk,r 强制安装,f 安装手机内存   s 安装sdcard


 adb    shell     pm     uninstall     -k     packname          ——————卸载应用 -k 保留应用数据 /data/data/packname下的数据 或者 /sdcard/Android/data/packnmae

===========================================================================================
 adb    shell     pm     enable     packname          ——————设置应用为可用,或者组件不可用 组件跟类的完整路径  


 adb    shell     pm     disable     packname          ——————设置应用为不可用,在手机上就隐藏了 

------------------------------------------------------------------------------------------------------------------------------------------------------

注释:

 1).冻结应用 找到应用的 MainActivity(即MAIN,LAUNCHER):# pm disable com.example.test/com.test.MainActivity   (完整路径:包名/类名)


 2). 禁止开机启动 找到对就的receiver(即action与MainActivity的action相同的):# pm disable com.example.test/com.test.BootBroadReceiver   (完整路径:包名/类名)

===========================================================================================

path <PACKAGE> :查询package的安装位置。

install [options] <PATH> :安装命令。

uninstall [options] <PACKAGE> :卸载命令。

clear <PACKAGE> :对指定的package删除所有数据。

enable <PACKAGE_OR_COMPONENT> :使package或component可用。(如:pm enable "package/class")

disable <PACKAGE_OR_COMPONENT> :使package或component不可用。(如:pm disable "package/class")

disable-user [options] <PACKAGE_OR_COMPONENT> :参数选项:--user <USER_ID>: The user to disable.
grant <PACKAGE_PERMISSION> :授权给应用。

revoke <PACKAGE_PERMISSION> :撤销权限。

set-install-location <LOCATION> :设置默认的安装位置。其中0:让系统自动选择最佳的安装位置。1:安装到内部的设备存储空间。2:安装到外部的设备存储空间。

                                                                                          (这只用于调试应用程序, 使用该命令可能导致应用程序退出或者其他不适的后果)。

get-install-location :返回当前的安装位置。返回结果同上参数选项。

set-permission-enforced <PERMISSION> [true|false] :使指定权限生效或者失效。

create-user <USER_NAME> :增加一个新的USER。

remove-user <USER_ID> :删除一个USER。

get-max-users :该设备所支持的最大USER数。(某些设备不支持该命令)

原文地址:https://www.cnblogs.com/xiaobaibailongma/p/13235363.html