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

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


本文被阅读了:11,452次

作者头像
关于  Ailitonia

正因站在了巨人的肩膀上,才越发觉得自己渺小。不求成为巨人,但求与其同行。 把自己所见所闻,记录下来。

→查看所有由Ailitonia发布的文章