
这些年经手的手机不少从早期安卓刷机玩到鸿蒙系统我对系统内置应用的态度一直很简单能用到的留用不到的一律清理掉。手机厂商预装的那一堆应用有的占用存储有的后台默默跑电还动不动弹通知真正想用的功能没几个。鸿蒙系统虽然是国产自研的分布式操作系统但在兼容老安卓生态的版本里底层依然保留了完整的ADB调试工具链这就给喜欢折腾的人留了一扇门。这篇文章就围绕鸿蒙手机怎么用ADB连接电脑、怎么安全卸载内置应用这件事把完整思路、实操步骤和踩过的坑一次讲清楚。不管你是纯粹嫌预装应用碍眼还是想给手机“减负”提升流畅度又或者是做应用开发需要清理环境这篇文章都适合你。我会从原理讲到实战再给一份可以直接照着操作的命令清单和使用心得。1. 为什么要动鸿蒙手机的内置应用1.1 预置应用过多带来的实际困扰现在的手机厂商在出厂前都会预装一批应用这里面既有自己的生态应用也有商业合作的第三方应用。说句实话这些预装应用里真正高频使用的不多但它们在系统里占的位置却很实在。首先存储空间被白白占用一个预装软件少则几十兆、多则几百兆全部算下来占用好几个GB很正常。其次不少预装应用有自启动和互相唤醒的机制后台进程一多手机自然会卡顿、发热、掉电快。还有一个容易被忽视的问题是广告推送。预装应用往往内置了消息推送服务锁定屏幕一解锁发现通知栏挤满了各种广告关了通知开关它过段时间可能又自动更新恢复了。而且在手机设置里这些应用只有“停用”选项部分甚至停用按钮都是灰的普通用户拿它一点办法都没有。我自己的鸿蒙手机刚拿到手的时候设置了几个小时后台连接数依旧不少后来通过ADB把不用的系统应用逐个禁用、卸载之后同样使用场景下待机续航确实能感受到明显提升发热情况也减轻了不少。这其实就是卸掉内置应用最大的价值把系统资源从那些你用不到的预装软件手里夺回来。1.2 动手之前必须清楚的三条安全红线在讲具体怎么操作之前我必须先把安全边界说清楚。ADB工具权限很大它可以做到的事情早就超越了“卸载一个普通应用”的范畴如果乱敲命令完全有可能把手机变成一块“板砖”。所以有三个底线是任何情况下都不能碰的第一系统核心组件绝对不能卸载。桌面启动器通常叫launcher、设置应用、电话应用、短信应用、系统UI这几个属于整台手机的地基。地基拆了手机连最基本的操作界面都打不开开不了机就只能恢复出厂甚至返厂维修。第二卸载前一定要备份包名清单。不少系统应用之间是有依赖关系的你卸载了A应用B应用运行时就可能崩溃。所以动任何应用之前先把当前系统所有应用包名导出一份存档后面出问题对照恢复。第三不确定用途的应用先用禁用而不是直接卸载。ADB里有个pm disable-user命令相当于系统“停用”按钮的加强版停了之后应用会从应用列表里消失但底层没有真正删除随时可以重新启用。第一次折腾的人宁可多花一步先禁用也不要贪快直接卸载。2. ADB连接的原理与前期准备2.1 ADB到底是什么为什么鸿蒙能用ADB全称Android Debug Bridge是安卓官方提供的一个多功能命令行调试工具。你可以把它理解成手机和电脑之间的一座桥电脑通过这根“桥”向手机发送各种指令实现应用安装、文件传输、日志抓取、系统参数修改等操作。鸿蒙系统从诞生之日起就兼容AOSP安卓开源项目的底层代码所以虽然上层桌面、交互、分布式能力都重新设计了但对ADB协议的支持一直被保留着。也就是说你在安卓手机上能用的ADB命令在鸿蒙手机上绝大多数都能直接运行。加上鸿蒙的底层是Linux内核ADB本身也可以在Windows、macOS、Linux上运行所以无论你用哪种电脑都能操作。顺带提醒一句这里说的是兼容安卓生态的鸿蒙版本。后来华为发布的不兼容安卓APK的全新鸿蒙NEXT版本底层架构和安全模型大改传统ADB玩法不再适用这个我在文末单独说明。如果你手里是还在用APK的老鸿蒙设备照本文操作就没问题。2.2 每台电脑都需要准备什么工具用ADB连接鸿蒙手机软硬件准备并不复杂核心是三样东西一台电脑、一根能传数据的数据线、一套ADB工具。ADB工具最正规的获取方式是下载Google官方的platform-tools压缩包解压后就能用里面包含adb、fastboot等常用工具。Windows用户注意一下解压之后不要双击运行adb.exe因为ADB没有图形界面需要打开命令行窗口在解压目录里输入命令才能执行。嫌每次切换目录麻烦的话可以把platform-tools目录加入系统环境变量这样在任何路径下都能直接输入adb命令。手机端要做的准备是开启开发者选项和USB调试。在鸿蒙手机上进入“设置”“关于手机”找到“版本号”连续点击7次左右系统会提示“您已进入开发者模式”。然后回到“设置”“系统和更新”“开发人员选项”打开“USB调试”开关。如果连接5.0以上版本可能还需要再打开“仅充电模式下允许ADB调试”之类的开关各机型文案略有差异认准USB调试就行。2.3 无线调试的配置要点除了用数据线连接ADB还支持无线连接鸿蒙手机同样支持。无线调试的好处很明显手机不用一直插着线电脑那头也能自由走动。但实际上我还是推荐第一次连接时先用有线原因后面会说。开启无线调试的方式在鸿蒙里略有区别。较早的版本可以在“开发人员选项”里直接看到“无线调试”或“ADB调试网络”开关打开后记录下显示的IP地址和端口号然后在电脑上执行adb connect ip:端口。这个操作需要手机和电脑处于同一局域网。需要特别注意的是部分新版本鸿蒙在开发者选项里默认隐藏了“无线调试”入口我遇到过4.2版本只有“仅充电模式下允许ADB调试”找不到无线调试的情况。碰到这种情况别着急先用USB线连接执行adb tcpip 5555命令让手机的ADB守护进程改为监听5555端口然后拔掉数据线、获取手机当前IP再执行adb connect手机IP:5555效果是一样的。3. 完整实操过程从连接手机到卸载应用3.1 第一步确认ADB连接状态准备工作都做完之后先用USB数据线把手机连到电脑上然后打开命令行输入adb devices正常情况下输出会分两种情况。如果看到类似emulator-5554 device或者一串序列号加device字样说明连接正常。如果看到的是unauthorized那就要低头看手机屏幕系统会弹出一个“是否允许USB调试”的授权对话框勾选“始终允许”并点击允许再重新执行adb devices状态就会从unauthorized变成device。这里有个很多人忽略的细节手机连上电脑后默认USB连接方式可能只是“充电”这种情况下ADB有时候识别不到设备。建议在连接后手动把USB模式切换为“传输文件”华为系手机在下拉通知栏里会看到“USB连接方式”选项选择“传输文件”后ADB连接会稳定很多。顺便说一句如果执行adb devices后没有任何输出或提示找不到adb命令大概率是环境变量没配好或者当前命令行没有进入platform-tools目录先检查这两步八成能解决问题。3.2 第二步找出内置应用的包名要用命令卸载应用就得先找到应用的包名。普通用户看到的应用名称和它在系统里注册的包名不是一回事比如我们看到的“华为视频”它的包名可能是com.huawei.himovie。如果记错了包名卸载命令会直接报错所以找包名这一步非常关键。最简单的办法是直接在终端列出所有已安装应用的包名。执行adb shell pm list packages这条命令会输出手机里全部应用包名如果只想看系统应用加上参数adb shell pm list packages -s只看第三方应用就用adb shell pm list packages -3Windows上想过滤特定关键词可以用findstradb shell pm list packages | findstr huaweimacOS和Linux则用grepadb shell pm list packages | grep huawei另外还有一个很实用的小技巧在手机上进入“设置”“应用”“应用管理”点进你要卸载的那个应用的详情页页面最底部通常会显示完整的包名。这个方法适合只想处理一两个应用、不想在终端里刷屏的人。3.3 第三步卸载与禁用系统应用找到包名之后正式动刀。这里分两条路线一条是无损的禁用另一条是彻底卸载。禁用应用的命令是adb shell pm disable-user --user 0 包名这条命令相当于把应用从当前用户空间里“摘掉”它在应用列表里会消失相关的后台活动也会被停止但对系统来说应用实体还在随时可以重新启用。恢复的命令是adb shell pm enable 包名卸载应用的命令更直接adb uninstall --user 0 包名这里重点说一下为什么要带上--user 0。安卓和鸿蒙系统都支持多用户空间--user 0指定的是你的主用户空间。如果直接不带参数执行adb uninstall系统会尝试删除应用更新并且把应用还原到默认状态有时候还会提示失败。而用--user 0系统会默认在“当前用户”层面做卸载对绝大多数内置应用都有效而且恢复出厂设置后这些预装应用还能通过系统升级或数据清空后重新出现相当于给手机多留了一条退路。我处理自家手机里那些恼人的内置应用时基本操作就是把几个推广应用、游戏中心、会员服务之类全卸掉保留系统和基础工具类应用全部过程大概用两条命令就完成了adb uninstall --user 0 com.huawei.gamebox adb uninstall --user 0 com.huawei.himovie如果你不确定某个应用能不能卸载加个保险做法先执行禁用用半天手机验证功能都正常再执行卸载。这样即便出错也只是恢复启用的事不至于把系统搞乱。3.4 第四步清点现场与恢复出厂后如何重装有折腾必然有风险所以操作完成之后一定要做两件事。第一件事导出一份卸载清单。终端执行adb shell pm list packages before_uninstall.txt这条命令最好在动手前执行一次动手后再执行一次然后用对比工具或肉眼对比差异就能清楚地知道自己到底删了哪些包名。后面想恢复时直接翻清单就行。第二件事记住恢复方法。如果你卸完之后后悔了或者某天发现某个系统功能异常想在保留现有数据的情况下恢复被卸载的应用可以用这条命令adb shell pm install-existing 包名这个命令会在当前用户空间重新安装之前“用户级卸载”掉的预装应用。实测下来绝大多数系统应用都能通过install-existing恢复但前提是系统底包里还有对应文件。如果你卸载的是一个纯第三方应用并且删了数据那install-existing不一定有效只能重新下载安装。4. 常见问题与排查技巧实录4.1 adb devices 不显示设备或显示unauthorized这是所有人第一次用ADB时最容易碰到的问题我自己也踩过好多次。不显示设备先检查数据线是不是只支持充电不支持数据传输直接换根原装数据线或高规格数据线解决。其次检查USB模式手机通知栏里把“仅充电”改成“传输文件”。最后看驱动Windows系统下在设备管理器里如果看到带黄色感叹号的Android设备就说明驱动没安装好去下载对应电脑管家或手机助手类工具补一下驱动。至于unauthorized状态核心就是一次授权没有完成。解决方法很直接重新拔插数据线等手机重新弹出授权框勾选“始终允许”点确定再执行adb kill-server和adb start-server重置服务最后重新adb devices验证。4.2 卸载了应用但桌面图标还在这种情况通常发生在卸载了系统自带应用或桌面集成度高的应用上桌面图标的缓存没有跟着刷新。解决办法是先锁屏再解锁或者把桌面的智能布局刷新一下。还不行的话执行重启绝大多数情况下重启后图标就会消失。另外一种情况是卸载后桌面图标没了但应用在设置里的“应用管理”中显示“已停用”这说明刚才执行的是disable-user而不是uninstall。想彻底移除就执行uninstall命令想恢复就执行enable命令按需处理即可。4.3 误删系统应用后的急救方案误删应用之后先别慌。第一步尝试adb shell pm install-existing 包名如果提示Success说明应用成功恢复。如果提示Failure [INSTALL_FAILED_INVALID_APK]说明系统镜像里已经没有这个应用的底包了这时候需要重新刷入完整系统包或者恢复出厂设置。这台设备绑定的系统账号如果没有关闭查找设备功能恢复出厂后还需要验证原账号所以平时也别轻易关闭这类保护功能。我要特别强调一个重度操作后的通用建议在开始折腾之前利用系统自带的“备份和恢复”功能或者用手机克隆之类工具做一次介质备份。备份文件存到电脑上这不光是为了防ADB操作翻车也是给自己留一个安心的底。5. 关于鸿蒙新版本与ADB方式的额外说明最近不少人在讨论鸿蒙PC版、鸿蒙6.0、鸿蒙NEXT这类新版本。如果你使用的是纯血鸿蒙NEXT整个系统的安全模型和安装包格式都换了不再兼容APK传统ADB卸载应用的方式基本不适用因为底层把各种提权通道都封死了。这类系统适合通过官方应用市场管理应用或者使用鸿蒙开发工具做应用调试和本文这套玩机思路不是一回事。如果你的鸿蒙手机当前还在用兼容安卓APK的版本只是系统版本号升级到6.0、6.1这类那么ADB工具链仍然是可用的。不过不同版本的开发者选项入口位置有一些细微差异遇到找不到开关的情况就翻一下对应的版本说明或者像前面说的先用USB连接执行adb tcpip来绕过无线调试入口的缺失。另外有人问鸿蒙手机能不能用ADB安装APK答案是可以的。命令是adb install xxx.apk但我要提醒一句用ADB安装第三方APK和应用商店安装不一样你跳过了渠道的兼容性校验装完可能会出现闪退、权限异常等情况。如果只是测试建议用官方工具DevEco Studio日常使用还是老老实实走应用市场。整个动手过程中我最大的体会是ADB卸载内置应用这件事真正难的不是命令本身而是在动手之前你有没有想清楚要卸什么、为什么卸、卸错了怎么救。把这三件事想明白剩下的操作十分钟就能完成。每次拿起一台新手机我也习惯先把不用的内置应用清理一遍让手机回到一个踏实、干净的状态——这种掌控感正是折腾ADB这事最有意思的地方。