如果您的版本是4.4.x或更高版本,则您的Android无需具有root权限即可真正禁用应用程序。所有你需要的是亚行在非根目录设备中启用 PC中的设置并启用USB调试,或者在有根目录的设备上使用终端仿真器应用程序(也可以使用adb)。
如果检查Package Manger(pm
)的用法,您将看到
pm阻止[--user USER_ID] PACKAGE_OR_COMPONENT“)
下午取消阻止[--user USER_ID] PACKAGE_OR_COMPONENT“)
对于棒棒糖,这将是
pm hide [--user USER_ID] PACKAGE_OR_COMPONENT“)
pm取消隐藏[--user USER_ID] PACKAGE_OR_COMPONENT“)
为了阻止或隐藏包裹(很安全),只需
pm block PACKAGE # for KitKat
pm hide PACKAGE # for Lollipop
要取消屏蔽或取消隐藏包装,请执行
pm unblock PACKAGE #for KitKat
pm unhide PACKAGE # for Lollipop
PACKAGE
→应用程序的软件包名称。要了解应用程序的软件包名称:
adb shell
在非常命令前附加以从PC执行它们。
hide的功能在源代码中具有以下注释
将程序包置于隐藏状态,这几乎类似于卸载状态,从而使程序包不可用,但不会删除数据或实际的程序包文件。可以通过重置隐藏状态或通过安装来取消隐藏应用程序
对于此处的块 也进行了类似的注释 。
为了验证索赔,您可以使用meminfo
,procstats
和activity
使用dumpsys工具之类的某些系统服务,甚至可以使用列出所有进程ps
。您不会发现被阻止/隐藏的应用程序处于活动状态。
许多使用GUI禁用的系统应用程序也是如此,pm disable
但不是每个应用程序都一样,因为即使禁用的应用程序也可以接收其注册的广播,只有将其加载到内存1中才能完成。但是,已禁用的应用程序不能自行执行操作,也不能由任何其他应用程序执行。
在我的问题pm上隐藏 / 阻止和禁用之间存在一些差异, 隐含VS pm禁用-身份危机。它仅提供此答案的补充信息,因此您可以跳过它。
编辑:
似乎该技术不适用于Android KitKat上的所有应用。在这种情况下,只需从应用程序的APK撤消读取权限或从应用程序的文件名中删除扩展名.APK(Jaskaranbir曾建议一次),然后进行软/完全重新引导。这与从系统中删除应用程序相同,只是所有文件都将保留在原处。
可以使用任何根文件管理器应用程序执行这两个步骤。命令行方式是:
adb shell su -c 'chmod 000 /data/app/PACKAGE*' # 000 means no read-write-executable permission to user,group and others.
adb shell su -c 'mv /data/app/PACKAGE* /data/app/PACKAGE' # doing renaming by moving the file
adb reboot
1:缺乏支持事实的技术证据