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 파일 헤더가 있지만 잘못된 파일 바닥 글이 있습니다. 바닥 글을 어떻게 생성하고 추가하거나 바꿀 수 있습니까? 이것은 일반 셸 / 배시에서 수행 할 수 있지만 다른 언어 솔루션은 상관하지 않습니다. 따라서 mybackup.gz에서 mybackup_fixed.gz를 얻습니다. , 사용 가능한 모든 데이터를 포함하지만 tar tzvf와 같이 검사 할 때 unexpected end of file가 발생하지 않습니까?

댓글

  • 그 마법의 명령은 ' SO 질문에 대한 답변과 동일하지 않습니다. tail 명령이 tail -c +25 mybackup.ab와 상당히 다릅니다.

답글 남기기

이메일 주소를 발행하지 않을 것입니다. 필수 항목은 *(으)로 표시합니다