• adb(11)-重新挂载 system 分区为可写


    注:需要 root 权限。

    /system 分区默认挂载为只读,但有些操作比如给 Android 系统添加命令、删除自带应用等需要对 /system 进行写操作,所以需要重新挂载它为可读写。

    步骤:

    1. 进入 shell 并切换到 root 用户权限。

      命令:

      adb shell
      su
      
    2. 查看当前分区挂载情况。

      命令:

      mount
      

      输出示例:

      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 /var tmpfs rw,seclabel,relatime,mode=770,gid=1000 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/memory cgroup rw,relatime,memory 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/memcg cgroup rw,relatime,memory 0 0
      none /dev/cpuctl cgroup rw,relatime,cpu 0 0
      none /sys/fs/cgroup tmpfs rw,seclabel,relatime,mode=750,gid=1000 0 0
      none /sys/fs/cgroup/memory cgroup rw,relatime,memory 0 0
      none /sys/fs/cgroup/freezer cgroup rw,relatime,freezer 0 0
      /dev/block/platform/msm_sdcc.1/by-name/system /system ext4 ro,seclabel,relatime,data=ordered 0 0
      /dev/block/platform/msm_sdcc.1/by-name/userdata /data ext4 rw,seclabel,nosuid,nodev,relatime,noauto_da_alloc,data=ordered 0 0
      /dev/block/platform/msm_sdcc.1/by-name/cache /cache ext4 rw,seclabel,nosuid,nodev,relatime,data=ordered 0 0
      /dev/block/platform/msm_sdcc.1/by-name/persist /persist ext4 rw,seclabel,nosuid,nodev,relatime,data=ordered 0 0
      /dev/block/platform/msm_sdcc.1/by-name/modem /firmware vfat ro,context=u:object_r:firmware_file:s0,relatime,uid=1000,gid=1000,fmask=0337,dmask=0227,codepage=cp437,iocharset=iso8859-1,shortname=lower,errors=remount-ro 0 0
      /dev/fuse /mnt/shell/emulated fuse rw,nosuid,nodev,relatime,user_id=1023,group_id=1023,default_permissions,allow_other 0 0
      /dev/fuse /mnt/shell/emulated/0 fuse rw,nosuid,nodev,relatime,user_id=1023,group_id=1023,default_permissions,allow_other 0 0
      

      找到其中我们关注的带 /system 的那一行:

      /dev/block/platform/msm_sdcc.1/by-name/system /system ext4 ro,seclabel,relatime,data=ordered 0 0
      
    3. 重新挂载。

      命令:

      mount -o remount,rw -t yaffs2 /dev/block/platform/msm_sdcc.1/by-name/system /system
      

      这里的 /dev/block/platform/msm_sdcc.1/by-name/system 就是我们从上一步的输出里得到的文件路径。

    如果输出没有提示错误的话,操作就成功了,可以对 /system 下的文件为所欲为了。

  • 相关阅读:
    解决PyQt5在安装后无法找到Designer.exe问题,两个位置可供参考
    观察者模式
    策略模式
    模板方法模式(下)
    学过的技术容易忘,怎么办?
    Mysql主从配置
    Springboot处理CORS跨域请求
    SpringBoot学习2之注解简单配置Springboot+MyBatis
    Confluence7.4安装并破解汉化教程
    mysql json类型
  • 原文地址:https://www.cnblogs.com/jiablogs/p/8794512.html
Copyright © 2020-2023  润新知