获取Android System 写入权限
注: 以下前提是系统已经root过。
/system
是Android系统目录,存放Android系统应用和lib,有时候我们需要向该目录中写入文件,例如,将自己开发的apk内置到系统中,作为系统apk启动,但该目录默认是只有 read 权限,没有 write 权限,执行wirte后会出现 Read-only file system
的错误提示。
下面介绍如何获取该 write 权限:
- 执行
adb shell su
。以 root 用户进入adb shell; - 执行
mount|grep /system
,可以看到如下信息,不同设备,看到的信息不一样。/dev/block/platform/15740000.dwmmc0/by-name/system /system ext4 ro,relatime,data=ordered 0 0
看到 ro,即表示该目录只有read权限,接下来尝试修改权限。
-
执行
mount -o remount <device> /system
, 其中<device>
部分填入在上面看到的文件路径,例如,我这里是
/dev/block/platform/15740000.dwmmc0/by-name/system
,所以我应该执行的完整命令是mount -o remount /dev/block/platform/15740000.dwmmc0/by-name/system /system
-
重新执行
mount|grep /system
,看到如下信息,ro 已经变成 rw,表示system已经此时已经可以向/system
写入文件了。/dev/block/platform/15740000.dwmmc0/by-name/system /system ext4 rw,relatime,data=ordered 0 0
如果要恢复该目录的读写权限,可以执行mount -o remount,ro <device> /system
。