很多时候系统应用是不能直接在设置的应用管理里面直接停用的,这时候就需要一些其他的办法了……
ADB工具
这个不用多说了,去Android Developers上自己下载SDK Platform Tools去
ADB命令
在解压后的SDK Platform Tools文件夹中,Shift+右键,“此处打开命令提示行窗口”,Win10的话就是Powershell窗口,都一样用。不喜欢Win10的Powershell那就开cmd自己cd到SDK Platform Tools文件夹里面去。输入:
./adb
OK,能用。连上手机,输入:
adb devices
出现手机就说明连接成功了,之后进shell:
adb shell
pm命令
进入shell后,显示应用列表:
pm list packages
禁用或启用应用:
#使package或component可用
pm enable <PACKAGE_OR_COMPONENT>
#使package或component不可用(直接消失)
pm disable <PACKAGE_OR_COMPONENT>
#使package或component不可用(会显示已停用)
pm disable-user [options] <PACKAGE_OR_COMPONENT>
隐藏应用:
pm hide <PACKAGE_OR_COMPONENT>
注意:如果进行hide的时候提示:
Neither user 2000 nor current process has Android.permission.MANAGE_USERS
那说明权限不足,请不要使用远程/模拟adb,老老实实数据线直连吧,或者请root(mdzz我已经root了还要什么adb)
hide和disable的区别:
| hide | disable | |
| getPackageManager().getInstalledPackages (PackageManager.GET_UNINSTALLED_PACKAGES); |
可见 | 可见 |
| getPackageManager().getInstalledPackages (PackageManager.GET_DISABLED_COMPONENTS); |
不可见 | 可见 |
| getPackageManager().getInstalledPackages(0); | 不可见 | 可见 |
| pm lf | 不可见 | 可见 |
| pm list package -d | 不可见 | 可见 |
| pm list package -u | 可见 | 可见 |
| am start | 不可用 | 不可用 |
操作完成后重启系统应用:
#退出shell
exit
#重启
adb reboot
参考:
http://bbs.gfan.com/android-8029206-1-1.html
https://blog.csdn.net/zuiaikg703/article/details/72763825
Android手机使用ADB冻结/隐藏系统应用
https://ailitonia.com/archives/android%e6%89%8b%e6%9c%ba%e4%bd%bf%e7%94%a8adb%e5%86%bb%e7%bb%93-%e7%a6%81%e7%94%a8%e7%b3%bb%e7%bb%9f%e5%ba%94%e7%94%a8/
本文被阅读了:18,062次

disable
已修正