Requires Python 3.9 or greater
Besides Python, the following tools must be available in PATH:
- 7-zip (
7zz) or p7zip (7z) - erofs-utils 1.8 or greater (
fsck.erofs) - e2fsprogs (
debugfs) simg2img, from android-sdk-libsparse-utils or platform-utils, unlessfirmware_parsersis installed
erofs-utils older than 1.8 must not be used: fsck.erofs --extract silently
drops holes in chunk-based files, producing truncated output while still
exiting 0, so corrupt dumps are published without any error. This was fixed
upstream in b063ea3,
first released in 1.8. Distro packages are often far older than that, so
check fsck.erofs -V rather than assuming.
pip install dumpyarapython -m dumpyara <path to OTA file>- All the ones supported by shutil's extract_archive
- Samsung's
.tar.md5archives - Nested archives
- LG's
.kdzarchives
- A-only OTAs (Brotli and/or sdat compressed)
- A/B OTAs
- Dynamic partitions (super.img)
- payload.bin
- Raw images (e.g. Xiaomi fastboot packages)
- Sparse images
- LZ4 images
- Android boot images
- 7z supported archives/images
- EROFS images using erofs-utils (1.8 or greater)
- ext4 images using debugfs, which preserves symlinks that 7z rewrites
- AIK: osm0sis
- extract_android_ota_payload: cyxx and erfanoabdi
- sdat2img: xpirt
#
# SPDX-FileCopyrightText: Dumpyara Project
# SPDX-License-Identifier: GPL-3.0-or-later
#