97 votes

Comment extraire ou décompresser un fichier .ab (fichier de sauvegarde Android) ?

J'utilise un appareil Android 4.0.3, et je veux extraire le fichier de sauvegarde créé par :

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

La ligne ci-dessus fonctionne dans le CMD (Windows) et je suis en mesure de récupérer le fichier data.ab dans le répertoire '~'.

Ce que je ne peux pas faire, c'est extraire ce fichier en utilisant CMD . J'ai essayé les deux méthodes ci-dessous.

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 -

Je reçois l'erreur suivante

error

J'ai essayé de l'extraire via CYGWIN, mais j'ai aussi échoué.

error

Où dois-je faire l'extraction ? Dans quel répertoire doit se trouver mon invite de commande ? Des idées ?

111voto

Puddler Points 795

Conformément à https://Android.stackexchange.com/a/78183/239063 vous pouvez exécuter une commande en une ligne sous Linux pour ajouter un en-tête tar approprié pour l'extraire.

( printf "\x1f\x8b\x08\x00\x00\x00\x00\x00" ; tail -c +25 backup.ab ) |  tar xfvz -

Remplacer sauvegarde.ab avec le chemin d'accès à votre fichier.

70voto

Jayjayyy Points 573

J'ai dû déballer un .ab -et j'ai trouvé ce message en cherchant une réponse. La solution que je propose est la suivante Extracteur de sauvegarde Android un outil Java gratuit pour Windows, Linux et Mac OS.

Assurez-vous de jeter un coup d'œil à la README si vous rencontrez un problème. Il se peut que vous deviez télécharger d'autres fichiers, si votre ordinateur ne fonctionne pas. .ab -Le fichier est protégé par un mot de passe.

Utilisation :

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

Exemple :

Disons que vous avez un dossier test.ab qui n'est pas protégé par un mot de passe, vous utilisez Windows et vous voulez le résultat de l'opération. .tar -Archives à appeler test.tar . Alors votre commande devrait être :

java.exe -jar abe.jar unpack test.ab test.tar ""

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X