Android 10.0 cache目录下恢复出厂设置不会被删除的文件的修改

1.概述

10.0定制化开发中,在恢复出厂设置的时候,主要清理cache和data分区,所以这两个目录下的数据都会被清理掉,所以要想保留文件不被清理 就要在清理的时候,跳过这个目录即可

2.核心代码

主要代码:
frameworks/base/core/java/android/os/RecoverySystem.java
bootable\recovery\otautil\logging.cpp
/bootable/recovery/install/wipe_data.cpp

3.核心代码功能分析

3.1wipe_data.cpp代码分析

static bool EraseVolume(const char* volume, RecoveryUI* ui, bool convert_fbe) {
bool is_cache = (strcmp(volume, CACHE_ROOT) == 0);
bool is_data = (strcmp(volume, DATA_ROOT) == 0);
ui->SetBackground(RecoveryUI::ERASING);
ui->SetProgressType(RecoveryUI::INDETERMINATE);
std::vector<saved_log_file> log_files;
if (is_cache) {
// If we're reformatting /cache, we load any past logs (i.e. "/cache/recovery/last_*") and the
// current log ("/cache/recovery/log") into memory, so we can restore them after the reformat.
log_files = ReadLogFilesToMemory()

猜你喜欢

转载自blog.csdn.net/baidu_41666295/article/details/125434988