Android adb调试时,经常会遇到权限问题(failed for /system/lib/libmm-test.so, Read-only file system),即使Root设备,在向/system等系统文件夹操作时(比如push、rm等),依然可能会提示“Read-only file system”。
使用场景是:在替换手机的内置文件的时候,提示这个,按照以往的经验,
手机开发者模式打开,usb调试打开,或者重复的插拔几下数据线
执行
adb root
adb remount
‘adb remount’ 将 ‘/system’ 部分置于可写入的模式,默认情况下 ‘/system’ 部分是只读模式的。这个命令只适用于已被 root 的设备。
在将文件 push 到 ‘/system’ 文件夹之前,必须先输入命令 ‘adb remount’。
‘adb remount’ 的作用相当于 ‘adb shell mount -o rw,remount,rw /system’
作者:喵酱s
链接:https://www.jianshu.com/p/48507aaea8d1
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
就可以了
这次试了好多次,都不ok,最后找到了一种方案:
adb root //获取root权限adb disable-verity //关闭分区检测功能adb reboot //执行adb disable-verity后需要重启设备adb root //设备重启后再次获取root权限adb remount //使system分区为可读可写模式
这次如上操作再push文件的时候就成功push了,重点是加了这一句
adb disable-verity:关闭在调试环境下的dm-verity检查
adb命令权限的番外篇:
chmod 777
例sudo chmod 777 filename
read 4 00000100 read,读取。当前用户可以读取文件内容,当前用户可以浏览目录。
write 2 00000010 write,写入。当前用户可以新增或修改文件内容,当前用户可以删除、移动目录或目录内文件。
x 1 00000001 execute,执行。当前用户可以执行文件,当前用户可以进入目录。
7 = 4 + 2 + 1 读写运行权限
5 = 4 + 1 读和运行权限
4 = 4 只读权限
因此,大家也就明白了 chmod 754 filename 命令的含义了。
这句命令的意思是将filename文件的读写运行权限赋予文件所有者,把读和运行的权限赋予群组用户,把读的权限赋予其他用户
来源地址:https://blog.csdn.net/ShiXinXin_Harbour/article/details/129741562