安卓系统中的卸载证书(Uninstall Certificate)主要用于验证应用卸载时的合法性,防止非授权或反面行为改动系统,系统级应用(预装应用)通常依赖特定证书,普通用户无权限直接卸载,需通过特殊手段操作。
场景 | 典型需求 |
---|---|
卸载预装系统应用 | 清理冗余系统应用,释放存储空间 |
破解第三方应用卸载限制 | 绕过签名校验,强制卸载非官方渠道安装的应用 |
开发测试环境 | 调试时需要绕过证书验证,快速卸载测试应用 |
获取Root权限
检查目标应用的签名证书
adb shell dumpsys package <包名>
查看应用信息,重点关注 signatures
字段。signatures: [34c5d678]
替换/禁用证书验证
/system/etc/permissions/
或 /vendor/
目录下的 .xml
文件。 <certificate>
标签。 adb shell pm uninstall --user 0 <包名>
--force-stop
或 --kill-after-uninstall
。绕过SELinux限制(高级)
adb shell setenforce 0
adb shell setenforce 1
工具 | 用途 | 命令/操作 |
---|---|---|
ES文件浏览器 | 替换系统证书文件 | 挂载/system 为读写,替换/system/etc/security/cacerts.bks 等证书文件 |
ADB | 强制卸载应用 | adb shell pm uninstall -k --user 0 <包名> (保留数据) |
Magisk Manager | 免Root修改系统文件 | 通过Magisk挂载模块,注入自定义卸载规则 |
/system
分区镜像,防止意外变砖。adb root
或自定义 Recovery。解答:
adb shell dumpsys package <包名> | grep signatures
signatures: [md5:34c5d678]
adb pull /data/app/<包名>/base.apk
下载APK,使用jarsigner
或apksigner
工具解析。解答:
adb root adb remount adb push <应用.apk> /system/priv-app/