【问题标题】:How to reset the userdata image when building Android AOSP and running it on the emulator?构建Android AOSP并在模拟器上运行时如何重置用户数据图像?
【发布时间】:2019-01-30 17:54:03
【问题描述】:

我从源代码构建了 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

但之后该应用仍然存在。

我已经学会了如何使用make snodHow to just build Android system image 快速清理/system,但我找不到用户图像的类似选项。

【问题讨论】:

    标签: android android-source


    【解决方案1】:

    正如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 文件,而不是 -writable-system 使用的 .img.qcow

    【讨论】:

      猜你喜欢
      • 2017-09-19
      • 1970-01-01
      • 1970-01-01
      • 2012-05-21
      • 2013-04-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多