Utilizzo adb backup per eseguire il backup del mio smartphone Android; e come notato in molti post, come https://stackoverflow.com/questions/18533567/how-to-extract-or-unpack-an-ab-file-android-backup-file – Ho provato a convertirlo in .gz; ad esempio:

 $ adb backup -apk -shared -all -f mybackup.ab Now unlock your device and confirm the backup operation... $ (printf "\x1f\x8b\x08\x00\x00\x00\x00\x00" ; tail -n +5 mybackup.ab) > mybackup.gz $ tar tzvf mybackup.gz ... gzip: stdin: unexpected end of file drwxrwx--- 0/9997 0 2020-02-22 10:23 shared/0/Notifications drwxrwx--- 0/9997 0 2020-02-22 10:23 shared/0/Ringtones drwxrwx--- 0/9997 0 2020-02-22 10:23 shared/0/Podcasts tar: Child returned status 1 tar: Error is not recoverable: exiting now  

Un commento nel post SO collegato menziona:

Probabilmente si lamenta perché backup.ab non ha il piè di pagina del file gzip corretto con checksum CRC-32 e lunghezza

Quindi, la mia domanda è: dato un mybackup.gz come sopra, che ha unintestazione del file .gz corretta ma un piè di pagina del file errato – come posso generare e aggiungere o sostituire il piè di pagina questo è fattibile in semplice shell / Bash, ma non mi dispiacerebbe una soluzione linguistica diversa), così da mybackup.gz ottengo mybackup_fixed.gz , che conterrebbe tutti i dati disponibili, ma non causerebbe un unexpected end of file se ispezionato con, ad esempio, tar tzvf?

Commenti

  • Quel comando magico ' non ha lo stesso aspetto della risposta alla domanda SO. Il tuo comando tail è abbastanza diverso da tail -c +25 mybackup.ab.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *