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 (完整路径:包名/类名)
===========================================================================================