主要是root权限问题。

有台旧安卓手机,root后用来做一些自动化的事情。由于系统ota升级会导致root失效,由此想要彻底禁用ota升级功能。

禁用升级功能最简单的办法就是禁用系统的updater.apk,由于系统已经root,我想直接把XxxxUpdater.apk删除就可以了。可是使用RE文件浏览器进入system分区,无论如何也不能挂在为读写,其他文件夹可以。分析可能是root不完全导致的。失败。

在PC上下载Platform-tools,PowerShell->CMD->cd至platform-tools文件夹,执行adb shell pm disable-user com.XXXXXX.updater,提示Permission Denied。执行命令被拒绝,分析是以上同样的问题,无法获得权限。失败。

尝试使用重新挂载adb remount,提示Not running as root. Try "adb root" first。尝试使用adb root,提示adbd cannot run as root in production builds,问题确定。

解决:

输入adb shell->出现$提示->输入su获取管理员权限->拿起手机,看到有申请root权限的提示,点击允许->回到命令行,看到显示#符号,表示root权限获取成功->输入pm disable-user com.smartisanos.updater(不用输入adb shell,因为一直处在shell命令功能状态)->提示Package com.XXXXX.updater new state: disabled-user,表明禁用生效,回到手机,点击自动更新无法进入,设置成功。