recovery中手机盘使用mnt/sdcard 或者使用storage/emulated/0/这些都不行。因为手机在recovery中的挂载点跟系统启动起来是不一样的。
1:可以查看fstab,查看手机挂载点。
2:如果在recovery中挂载不上sdcard,可以手动挂载一下,方法如下:
ensure_path_mounted("/sdcard");
int ensure_path_mounted(const char* path) {
// Mount at the default mount point.
return ensure_path_mounted_at(path, nullptr);
}
int ensure_path_unmounted(const char* path) {
Volume* v = volume_for_path(path);
if (v == NULL) {
LOGE("unknown volume for path [%s]\n", path);
return -1;
}
if (strcmp(v->fs_type, "ramdisk") == 0) {
// the ramdisk is always mounted; you can't unmount it.
return -1;
}
int result;
result = scan_mounted_volumes();
if (result < 0) {
LOGE("failed to scan mounted volumes\n");
return -1;
}
const MountedVolume* mv =
find_mounted_volume_by_mount_point(v->mount_point);
if (mv == NULL) {
// volume is already unmounted
return 0;
}
return unmount_mounted_volume(mv);
}
因篇幅问题不能全部显示,请点此查看更多更全内容