Как извлечь или распаковать файл .ab(файл Android Backup)

Android
Вопрос:Я запускаю устройство Android 4.0.3, и хочу извлечь резервный файл, созданный: adb backup -f ~/data.ab -noapk app.package.name Вышеупомянутая строка работает внутри CMD (windows), и я могу получить файл data.ab внутри каталога "~". То, что я не могу сделать, это префикс этого файла с помощью CMD. Я попробовал следующие два метода. dd if=data.ab bs=1 skip=24 |

Вопрос:

Я запускаю устройство Android 4.0.3, и хочу извлечь резервный файл, созданный:

adb backup -f ~/data.ab -noapk app.package.name

Вышеупомянутая строка работает внутри CMD (windows), и я могу получить файл data.ab внутри каталога “~”.

То, что я не могу сделать, это префикс этого файла с помощью CMD. Я попробовал следующие два метода.

dd if=data.ab bs=1 skip=24 | openssl zlib -d | tar -xvf — dd if=data.ab bs=1 skip=24 | python -c «import zlib,sys;sys.stdout.write(zlib.decompress(sys.stdin.read()))» | tar -xvf —

Я получаю следующую ошибку

error

Я попытался извлечь его через CYGWIN, однако, я тоже не смог.

error

Где я должен делать извлечение? В каком каталоге должно быть мое командное приглашение? Любые идеи?

Ответ №1

Мне пришлось распаковать файл .ab, также и нашел этот пост, ища ответ. Мое предложенное решение Android Backup Extractor – бесплатный инструмент для Java для Windows, Linus и OS X.

Обязательно посмотрите README, если у вас возникла проблема. Возможно, вам придется загружать дополнительные файлы, если ваш .ab файл защищен паролем.

Использование:

java -jar abe.jar [-debug] [-useenv=yourenv] unpack <backup.ab> <backup.tar> [password]

Пример:

Скажем, у вас есть файл test.ab, который не защищен паролем, вы используете Windows и хотите, чтобы получившийся .tar -Archive был вызван test.tar. Тогда ваша команда должна быть:

java.exe -jar abe.jar unpack test.ab test.tar «»

Ответ №2

В соответствии с https://android.stackexchange.com/a/78183/239063 вы можете запустить одну строку в Linux, чтобы вырезать некоторые данные заголовка и добавить в соответствующий заголовок tar, чтобы извлечь его.

( printf «x1fx8bx08x00x00x00x00x00» ; tail -c +25 backup.ab ) | tar xfvz —

EDIT – замените backup.ab на путь к вашему файлу.

Оцените статью
Добавить комментарий