我从源代码构建了AOSP 8.1.0_r60
,并按照https://stackoverflow.com/revisions/48310014/9
. build/envsetup.sh
lunch aosp_x86_64-eng
emulator -show-kernel
然后,我用adb install
安装了一个应用,并进行了试用。
现在,我想在安装应用程序之前将系统还原到初始状态。
通过printing the QEMU command line options并在设备中使用find
,我注意到该应用已安装在内部:
/data
这似乎来自userdata-qemu.img.qcow2
图片:
-drive if=none,index=2,id=userdata,file=/path/to/aosp/8.1.0_r60/out/target/product/generic_x86_64/userdata-qemu.img.qcow2,overlap-check=none,cache=unsafe,l2-cache-size=1048576
在安装我的应用之前,将映像重置为原始状态的最佳方法是什么?
我什至尝试进行全面重建:
make
但是此应用仍然存在。
我在How to just build Android system image处学会了如何使用/system
快速清理make snod
,但是找不到用户图像的类似选项。
答案 0 :(得分:0)
如in this answer所述,我注意到所有可写图像都是基本图像的qcow2叠加层。
我找不到通过构建系统还原它们的方法,这是理想的选择,但是由于qcow2覆盖非常简单,因此作为解决方法手动进行是合理的:
rm system-qemu.img.qcow2
qemu-img create -b system-qemu.img -f qcow2 system-qemu.img.qcow2 1T
请注意,make snod
仅重置.img
文件,而不重置.img.qcow
使用的-writable-system
。