手机root后system file提示Read-only的解决办法

  1. adb -s 设备名 shell 进入手机
  2. su切换为root账户
  3. mount -o rw,remount -t yaffs2 /dev/block/mtdblock3 /system 重新挂载system文件系统

Done!!!

以上方案只针对特定的平台上验证,通用方案为:
1.通过mount或者fdisk命令列出当前分区挂载的对应的目录节点,示例如下;

rootfs / rootfs ro,relatime 0 0
tmpfs /dev tmpfs rw,seclabel,nosuid,relatime,mode=755 0 0
devpts /dev/pts devpts rw,seclabel,relatime,mode=600 0 0
proc /proc proc rw,relatime 0 0
sysfs /sys sysfs rw,seclabel,relatime 0 0
selinuxfs /sys/fs/selinux selinuxfs rw,relatime 0 0
debugfs /sys/kernel/debug debugfs rw,relatime 0 0
none /acct cgroup rw,relatime,cpuacct 0 0
none /sys/fs/cgroup tmpfs rw,seclabel,relatime,mode=750,gid=1000 0 0
none /sys/fs/cgroup/blkio cgroup rw,relatime,blkio 0 0
tmpfs /mnt/asec tmpfs rw,seclabel,relatime,mode=755,gid=1000 0 0
tmpfs /mnt/obb tmpfs rw,seclabel,relatime,mode=755,gid=1000 0 0
none /dev/cpuctl cgroup rw,relatime,cpu 0 0
tmpfs /mnt/usb tmpfs rw,seclabel,relatime,mode=755,gid=1000 0 0
tmpfs /mnt/iso tmpfs rw,seclabel,relatime,mode=755,gid=1000 0 0
tmpfs /mnt/smb tmpfs rw,seclabel,relatime,mode=755,gid=1000 0 0
tmpfs /mnt/media_rw tmpfs rw,seclabel,relatime,mode=775,uid=1000,gid=1023 0 0
tmpfs /var tmpfs rw,seclabel,relatime,mode=775,gid=1000 0 0
/dev/block/platform/mstar_mci.0/by-name/system1 /system ext4 ro,seclabel,relatime,data=ordered 0 0

2.选择需要修改的文件系统如示例中的最后一行的/system挂载节点,确定磁盘分区、文件系统类型和挂载点;

/dev/block/platform/mstar_mci.0/by-name/system1 /system ext4 ro,seclabel,relatime,data=ordered 0 0

3.通过mount命令修改/system的可读属性;

mount -o rw,remount -t ext4 /dev/block/platform/mstar_mci.0/by-name/system1 /system

执行后得到的结果如下:

/dev/block/platform/mstar_mci.0/by-name/system1 /system ext4 rw,seclabel,relatime,data=ordered 0 0

对于Android 6.0以上的系统,需要调用disable-verity,因此整个命令序列为:
adb root
adb disable-verity 该命令的作用是去掉System的Verify标志
adb reboot
adb root
adb remount

Done!!!

你可能感兴趣的:(Android开发笔记)