Answers:
有几种方法可以挂载/system
目录RW或RO。但是,它将需要root用户。
将手机连接到计算机。(确保手机已启用USB调试)
在您的PC上打开CMD
/ Terminal
。
Windows:CTRL+ R,然后输入cmd
。
Ubuntu的:CTRL+ ALT+ T。
Mac:导航至/Applications/Utilities/
并双击Terminal。
输入:
adb shell
su
选择一项:(/system
完成后将安全性安装回RO)
mount -o rw,remount /system
mount -o ro,remount /system
terminal
在您的Android手机上打开(在此处下载):在以下输入terminal
:
su
选择一项:(/system
完成后将安全性安装回RO)
mount -o rw,remount /system
mount -o ro,remount /system
如果您不想每次都在终端中键入命令,那么我已经编写了一个旨在为您执行此操作的应用程序:
对于运行Android 2.3且命令失败的用户,请查看以下答案:https : //android.stackexchange.com/a/125437/95577
-writable-system
用于模拟器
在构建后启动仿真器时,必须使用:
. build/envsetup.sh
lunch aosp_x86_64-eng
emulator -show-kernel -verbose -writable-system
然后,为了将来运行,必须保留该-writable-system
选项,否则图像更改将不可见:
emulator -show-kernel -verbose -writable-system
-verbose
向我们展示了仿真器从默认设置切换为-drive
:
if=none,index=0,id=system,file=/path/to/aosp/8.1.0_r60/out/target/product/generic_x86_64/system-qemu.img,read-only
至:
if=none,index=0,id=system,file=/path/to/aosp/8.1.0_r60/out/target/product/generic_x86_64/system-qemu.img.qcow2,overlap-check=none,cache=unsafe,l2-cache-size=1048576
因此:
删除 ,read-only
使用system-qemu.img.qcow2
代替system-qemu.img
。
这意味着,只有-writable-sytem
在进行更改后再传递以后的靴子,更改才可见。
我们可以看到,由于以下原因,qcow2图像只是基础图像上方的一小层覆盖层:
qemu-img info /path/to/aosp/8.1.0_r60/out/target/product/generic_x86_64/system-qemu.img.qcow2
包含:
backing file: /path/to/aosp/8.1.0_r60/out/target/product/generic_x86_64/system-qemu.img
仿真器-help
还确认了这一点:
emulator -help
包含:
-writable-system make system & vendor image writable after 'adb remount'
adb remount
+ adb root
我认为这只是https://android.stackexchange.com/a/110928/126934中mount
提到的快捷方式,但这非常方便:
adb root
adb remount
adb shell
adb help
包含:
root restart adbd with root permissions
remount
remount /system, /vendor, and /oem partitions read-write
恢复原始系统映像
与userdata相同:移除.qcow2
叠加层,然后手动重新生成:https://stackoverflow.com/questions/54446680/how-to-reset-the-userdata-image-when-building-android-aosp-and-在它上运行