adb backupを使用してAndroidスマートフォンをバックアップしています。 https://stackoverflow.com/questions/18533567/how-to-extract-or-unpack-an-ab-file-android-backup-file などの多くの投稿に記載されているように-私はそれを.gzに変換しようとしました。例:

 $ 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  

リンクされたSO投稿のコメント:

backup.abにCRC-32チェックサムと長さの適切なgzipファイルフッターがないため、おそらく不平を言っています

つまり、私の質問は次のとおりです。上記のようなmybackup.gzを指定すると、.gzファイルヘッダーは正しいがファイルフッターが正しくない-フッターを生成して追加または置換するにはどうすればよいですか(うまくいけば)これはプレーンシェル/ Bashで実行できますが、別の言語ソリューションでもかまいません)。そのため、mybackup.gzからmybackup_fixed.gzを取得します。 、これには利用可能なすべてのデータが含まれますが、たとえばtar tzvf

3で検査した場合、unexpected end of fileは発生しません。 >コメント

  • その魔法のコマンドは' SOの質問への回答と同じようには見えません。 tailコマンドはtail -c +25 mybackup.abとはまったく異なります。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です