众所周知,手机厂商不断压缩手机售价,会在系统内置一些软件和应用。这些应用有些比较流氓,无法卸载(当然现在的系统绝大多数都允许卸载了,但是旧手机的旧固件则依旧如此)

虽然知道打开软件之后可以在软件设置项里关闭,但这是建立在软件启动过的情况下的,意味着这个软件即便关闭广告,但它也始终存在。

一番搜索后得知,通过使用 ADB 工具,就可以把这些内置软件干掉,它们的桌面图标也会因此消失。使用 ADB 工具之前,一定要打开安卓的 USB 调试功能。

无法找到设备

在折腾过程中,我发现 ADB 工具无法找到我的设备,我的解决方法如下:

右键 此电脑 -> 点击 管理 -> 在左侧列表找到并点击 设备管理器 -> 展开 便携设备 -> 找到你的手机(我的为 m3note)-> 右键属性 -> 切换到 详细信息

属性 下拉框选择 硬件 Id 后得到个值,将其复制(我的是 USB\VID_2A45&PID_0C02&REV_FFFF&MI_00)注意此处的 2A45,稍后我们将会用到。

打开 C:\Users\{你的用户名}\.android 文件夹,新建一个名为 adb_usb.ini 的配置文件。打开文件,在刚才的设备 ID 前加入“0x”后保存文件。

0x2A45

之后在 ADB 目录下打开命令行,输入以下命令启动 ADB 服务

./adb start-server

使用 device 命令查询设备,在查询过程中,手机应该会弹窗提示授权允许 USB 调试,以下情况就说明可以正常连接设备,可以开搞了。

./adb devices
List of devices attached
91QECNP2KSUA    device

查询软件包并删除

通过使用 shell 命令,可以查询手机目前已安装的软件,获得对应软件包名称,我们就可以“对阵下药”冻结或删除它了。

./adb shell pm list packages

如果不清楚软件包的具体信息,可以在手机上安装【应用督察】APP,与该列表的软件包名称进行比对后确认要删除的软件包,以下列表是我认为可以删除的内置软件,其他品牌的手机可以参考一下。

2016 年入手的的魅蓝 Note 3 至今依旧可用,并且为了保证系统流畅,我给它刷回了出厂的 Flyme 5 固件,以下是 Flyme 5 的一些无用软件列表,亲测删除没影响。

  • com.meizu.compaign 福利中心
  • com.meizu.media.reader 新闻资讯
  • com.meizu.net.o2oservice O2O 服务
  • com.meizu.media.ebook 阅读
  • com.meizu.media.life 生活服务
  • com.meizu.flyme.gamecenter 游戏中心

我们通过使用 shell 命令可以冻结或删除对应的软件包。冻结其实就是“停用”的意思,早期使用安卓手机的用户一定听说过这个方法,它不需要电脑就可以直接通过“停用”的方式禁用软件,一样达到去除其推广信息及隐藏桌面图标的效果。冻结的好处就是多了颗反悔药,可以重新启用该软件。删除后就无法还原,完全没有了。

冻结软件包的命令如下:

./adb shell pm hide {软件包名}

删除软件包的命令如下:

./adb shell pm uninstall --user 0 {软件包名}

如果加 -k 参数卸载软件,将会保留其配置和缓存文件。如果加上了这个参数(看别人教程的后果),可以使用 clear 命令删除配置和缓存

./adb shell pm clear {软件包名}

我根据上方的软件列表确认后,执行的命令如下:

./adb shell pm uninstall --user 0 com.meizu.compaign
Success
./adb shell pm uninstall --user 0 com.meizu.media.reader
Success
./adb shell pm uninstall --user 0 com.meizu.net.o2oservice
Success
./adb shell pm uninstall --user 0 com.meizu.media.ebook
Success
./adb shell pm uninstall --user 0 com.meizu.media.life
Success

于是,这些软件就被彻底删除了,手机也变得干干净净!

参考

《ADB 命令介绍与使用》- Nick1994
《ADB 安装卸载 apk + 清除数据》- Cloudia8020
《安卓手机不用 root 删除自带 App》- LeeAaron