Answers:
是。命令是pm disable <package name>
。您必须是root用户才能执行此操作:
打开外壳并获得root:
PC> adb shell
shell@hammerhead:/ $ su
列出所有已启用的应用程序,并按“计算器”进行过滤:
root@hammerhead:/ # pm list packages -e | grep 'calculator'
package:com.android.calculator2
禁用应用程序:
root@hammerhead:/ # pm disable com.android.calculator2
Package com.android.calculator2 new state: disabled
列出所有禁用的应用程序:
root@hammerhead:/ # pm list packages -d
package:com.android.calculator2
package:com.google.android.apps.inputmethod.hindi
package:jp.co.omronsoft.iwnnime.ml
package:com.google.android.inputmethod.pinyin
package:com.google.android.inputmethod.korean
package:com.google.earth
root@hammerhead:/ #
其他一些值得注意的事情:
pm enable <package name>
。实际上,根据我的经验,这似乎是重新启用它们的唯一方法。Manifest
类的程序中完成(我不是Android开发人员,所以我无法告知)。
除了@eldarerathis的答案,您可以为特定用户禁用应用程序。我使用此方法从受限制的用户中删除了一些未在用户设置屏幕上列出的应用。来自的所有命令adb shell
。需要进行根访问才能进行更改。
首先,获取用户的ID:
$ pm list users
Users:
UserInfo{0:Alice:13} running
UserInfo{11:Bob:18} running
然后
$ pm disable --user 11 com.cyanogenmod.filemanager
Package com.cyanogenmod.filemanager new state: disabled-user
重新启用
# pm enable --user 11 com.cyanogenmod.filemanager
在此示例中,爱丽丝可以使用文件管理器,而鲍勃不能。
您可以使用hide
代替做类似的事情disable
。我不确定哪个是最好的,但是请参阅此答案。相反的hide
是unhide
(可能需要重新启动才能生效unhide
)。
您可以使用列出软件包pm list pacakges --user 11
。给-e
列表启用的软件包,或者-d
如果您想查看禁用的软件包。似乎没有用于隐藏包的过滤器。
FWIW,我在Amazon Fire(KFFOWI)上使用CM 12.1在Lollipop上尝试了上述方法。
无论该应用程序是系统应用程序还是第三方应用程序(已安装用户),它都应该起作用。
请参阅“ 确定应用程序的程序包名称”以获取相关应用程序的程序包名称,并使用adb shell执行以下命令(需要root访问权限):
亚行外壳 su pm disable PACKAGE#禁用应用程序并将其隐藏在“设置”->“应用程序”中 pm hide PACKAGE#替代;适用于Android Lollipop及更高版本 cmd软件包暂停PACKAGE#替代;程序包在Launcher and Settings应用程序中仍然可见,但无法使用;设备管理的功能
PACKAGE
指应用程序的软件包名称
要恢复应用程序,取代禁用与启用,隐藏与取消隐藏,并中止与取消暂停在上述命令,并以root权限执行。
如果您具有Android KitKat或更高版本并且没有root访问权限,请在PC中使用adb执行以下命令:
适用于Android KitKat的adb shell pm块PACKAGE# adb shell pm hide PACKAGE#仅适用于Android Lollipop adb shell pm disable-user PACKAGE#替代`pm hide`; 适用于Android Lollipop及更高版本;就像通过“设置”应用禁用应用一样
要恢复该应用程序:
adb shell pm解锁用于Android KitKat的PACKAGE# 仅适用于Android Lollipop的adb shell pm unhide PACKAGE#,并且前提是您之前使用过“ pm hide” adb shell pm为Android Lollipop及更高版本启用PACKAGE#
更改将立即发生。