很多时候系统应用是不能直接在设置的应用管理里面直接停用的,这时候就需要一些其他的办法了……

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次
作者
Ailitonia
发布于
2018年9月6日
许可协议
版权声明

作者头像
关于 @Ailitonia
正因站在了巨人的肩膀上,才越发觉得自己渺小。不求成为巨人,但求与其同行。 把自己所见所闻,记录下来。
→查看所有由Ailitonia发布的文章