我有这样一台手机,他在连接adb,进入shell的时候是一个root用户的模式,但是,我在使用安卓系统的时候,不能获取到root权限,在adb shell里也没有su命令,但权限就是root。现在,我需要删除一个系统的APP,完全的删除,我该怎么办。
ps:
1,手机是Android 8.1 的系统
2,pm uninstall packageName 失败
搞了很久,我终于把这个系统APP删掉了。不过是将所有的相关文件删掉罢了。
1,在新的运行环境下ART,很多东西都和旧的dalvik虚拟机(DVM)不一样了,参考这篇文章,它讲述了Dalvik,ART,DEX,ODEX,OAT的区别。
2,那么,在ART环境下,应用文件放在哪里?以什么样的形式存在?参考这篇文章,我们可以知道,好像/system/app里依然是系统应用的存放地方。所以,照着里面说的地方,我先把那些相关的文件删除。或者是删减文件的部分内容。
3,可是,系统是以只读的形式挂载的,即使我是root,也不能删除。所以,我们需要将系统分区重载为可读写状态,参考这篇文章,就是两个命令:mount -o rw,remount /system , 删除完,然后恢复只读状态:mount -o ro,remount /system
4,最后,还有一些残余的文件,参考这篇文章,将剩余的东西删除,虽然我不知道删不删有什么影响。
5,可能最后一步,就是重启了,毕竟packageManager会有缓存(在内存)
最后,我成功将一个应用删除了,以很原始的方式。
参考文章:
1
2
https://www.imooc.com/article/16876
3
https://android.stackexchange.com/questions/110927/how-to-mount-system-rewritable-or-read-only-rw-ro
4