ADB 백업은 0 바이트 파일을 작성합니다. 비밀번호를 설정하지 않아도 현재 백업 비밀번호를 묻습니다. 데스크톱 백업 비밀번호에 대한“비밀번호를 설정하지 못했습니다”


49

문제 :

ADB 백업을 실행할 때마다 홈 화면 하단에 17GB의 장치 메모리를 사용하고 있다는 사실에도 불구하고 몇 초 후Backup starting... 메시지가 표시 되고 결과 백업 파일이 생성됩니다. 크기는 0 바이트입니다. 나는 오류 메시지가 나타날, 피드백이 전혀 표시되지 것을 아무것도 잘못, 홀로 무엇을 잘못되었습니다. 작동하지만 너무 빨리 나타나고 백업 파일이 비어 있습니다.Backup finished

과정:

  1. adb devices명령을 사용하여 장치가 ADB에 의해 인식되는지 확인 하고 다음 출력을 수신합니다.

    List of devices attached
    8e1f368a        device
    
  2. ADB 백업 명령을 발행합니다 (세부 사항 참조).

  3. 명령 프롬프트에 다음 메시지가 나타납니다.

    Now unlock your device and confirm the backup operation.
    

    ... 그리고 전화에서 다음과 같은 프롬프트가 나타납니다.

    여기에 이미지 설명을 입력하십시오

    내가 여기서 무엇을하는지 아무런 차이가 없습니다.

  4. 나는 탭 Back up my data버튼 (오른쪽 하단 모서리를).

  5. 전화 홈 화면으로 돌아갑니다 나에게 보여줍니다 Backup starting...메시지를 다음 Backup finished메시지 몇 초 후. 기본 backup.ab 또는 -f 스위치로 지정한 값으로 0 바이트 파일이 작성 됩니다.

ADB 백업 명령 (2 단계에서 사용) :

나는 간단한 것부터 다양한 옵션의 조합을 시도했다.

adb backup -all

같은 것들에

adb backup -all -apk -s 8e1f368a -f 'C:\Data Files\PDA\Backups\ADB\GalaxyS4_20140919.ab'

나는 또한 추가하는 시도 -nosystem읽은 후 스위치를 루팅 해제 장치에 시스템 백업을 포함하려고하는 것은 0 바이트 파일을 초래할 수 있음을 표시하고이 스위치를 사용해야하는가. 아무런 차이가 없으며 프로세스는 몇 초 만에 완료되며 여전히 0 바이트 파일을 얻습니다.

"전체 백업"비밀번호 프롬프트 (3 단계) :

이전에 백업 비밀번호를 설정 한 적이 없습니다. 이 암호를 설정하거나 이전과는 달리이 설정에 액세스 할 기회가 없었습니다. 그러나 다음을 모두 시도했습니다.

  • 두 비밀번호를 모두 비워 두십시오
  • "현재 백업 비밀번호"를 비워두고 두 번째 상자에 새 비밀번호를 입력하십시오.
  • 현재 화면 잠금 PIN과 과거에 사용한 모든 PIN을 "현재 백업 비밀번호"로 입력합니다.
  • 이 기기의 모든 것에 사용했을 것으로 생각되는 모든 비밀번호를 입력

모든 경우에 동작은 5 단계에서 설명한 것과 정확히 동일합니다. 오류가 발생했거나 비밀번호가 유효하지 않다는 오류가 발생하지 않습니다. 실제로 현재 비밀번호를 기대하는지 또는 현재 비밀번호를 기대하는지 여부에 대한 힌트가 없습니다. 필드는 비워 두어야합니다. ( 이 답변 의 스크린 샷 과 내가 본 몇 가지 다른 지원 포럼은 현재 비밀번호가 없으면 "현재 백업 비밀번호"상자가 표시되지 않는다는 것을 암시하는 것으로 보이지만 그저 추론 일뿐입니다. 실제로 현재 비밀번호가 필요합니다.)

프롬프트하는 비밀번호가 개발자 옵션에 설정된 "데스크탑 백업 비밀번호"일 수 있습니다.

여기에 이미지 설명을 입력하십시오

이전에 해당 비밀번호를 설정 한 적이 없습니다. 하나를 설정하려고하면 다음과 같은 메시지가 나타납니다.Failed to set backup password.

이 오류에 대한 정보를 검색 할 때이 문제가있는 사람이 ADB 백업을 사용하지 못하게한다고 말한 다른 사례가 하나 이상 발생했지만 ADB를 사용하려고 할 때 발생하는 일에 대해서는 구체적이지 않았습니다. 지원.

이 메시지를받은 사람들은 암호를 설정하지 않은 채 해결책을 찾기 위해 현재 암호를 비워 두어야한다고 말했지만 처음에는 시도했지만 작동하지 않았습니다. 이 문제가 발생한 다른 사람이 질문을 찾았 으며 이전에 비밀번호를 설정하지 않았다고 확신했습니다 . 불행히도 그가 해결책이나 설명을 얻은 것처럼 보이지 않습니다.

ADB가 "데스크톱 백업 암호"를 찾고 있는지 또는 ADB 암호화 암호가 별도인지에 관계없이, ADB가 새 백업을 시작하기 위해 이전 암호를 입력해야하는 이유를 생각 나게합니다. 이전에 암호화 된 데이터를 복원, 덮어 쓰기 또는 어떤 식 으로든 액세스하려고하지 않으므로 백업용 암호화 비밀번호 이전에 설정 되어 있어도 다른 사람이이를 방지하는 것이 좋은 생각이라고 생각할 수 없습니다 과거에 백업을 암호화하는 데 사용한 암호를 기억하지 못하는 경우 장치 백업

추가 정보:

모델 : Samsung Galaxy S4 SCH-I545
커널 버전 : 3.4.0
OS 버전 : 4.4.2
Android SDK 도구 버전 : 1.16
USB 디버깅이 활성화되었습니다.

ADB 백업을 사용하는 이유는 휴대 전화의 전체 백업을 루팅하기 전에 안전한 곳에 두는 것이므로 Titanium 백업과 같은 nandroid 백업 도구를 사용할 수 있습니다. 따라서 내 전화를 응원하는 것과 관련된 제안은 해결책이 아닌 Catch-22입니다. 말할 필요도없이, 공장 초기화는 백업 수행의 전체 목적을 무효화하기 때문에 해결책이 아닙니다.

전화 회사의 Exchange 서버와 동기화되도록 설정되어 있으며 서버에 의해 시행되는 일부 정책이 있습니다. 회사 계정과의 동기화를 처음 설정할 때 장치가 암호화되었다고 생각했지만 현재는 암호화되어 있지 않습니다. 사실, 이것이이 일련의 이벤트를 시작한 것입니다. 회사 서버에 계속 연결하려면 장치를 암호화해야한다는 메시지가 나타납니다. 루팅이 필요한 암호화 전에 낸드 로이드 백업을 원하고 루팅 전에 ADB 백업을 사용하고 싶습니다.


* 예, Towelroot는 안전하다고 알려져 있지만 기회를 갖지 않기를 원하며 향후 관련 문제가 발생할 경우이 문제를 해결하거나 최소한 이해하고 싶습니다.


(: 동안 주위에 단지 다른 방법 I는 유사했다 (두 경우 모두, 뿌리 여부) 내 태블릿 중 하나에 ADB와 몇 가지 문제를 했어 adb backup, 잘 작동 adb restore항상 실패). 권한 문제 (제조업체가 ROM을 엉망으로 만들었 음) 였으므로 adb restore장치로 전송 된 백업 파일을 읽을 수 없었습니다. 찾기가 약간 까다 로웠으며, 비슷한 것이 실제로 있는지 확실하지 않습니다. 하지만 확인해야 할 가치가 있습니다.
Izzy

2
여기에 같은 0 바이트 문제가있는 사람들을 위해 : 설정에서 데스크탑 암호를 설정하고 잊어 버렸기 때문에이 문제가 발생했습니다. 장치가 루팅되어 있기 때문에이 답변 (광산)을 따르고 모든 것이 잘되었습니다.
Firelord

또한 볼 수 있습니다 code.google.com/p/android/issues/detail?id=47009 - 당신이 휴대 전화를 암호화 한 경우, 모든 프롬프트에서 "현재 암호"로 암호화 암호를 사용하도록해야 할 수 있습니다 중 "전체 백업"화면 또는 "데스크탑 백업 암호"에서.
Marco Leogrande

@AdiInbar이 문제를 해결 한 적이 있습니까?
codecowboy

실제로 이것을 찾는 데 시간이 걸렸습니다. 올바른 키워드를 사용하고 있지 않은지 모르겠지만 이것이 바로 내가 필요한 것입니다!
Thomas

답변:


31

짧은 답변

이전 버전의 adb를 사용해보십시오. 1.0.32는 저에게 효과가 없었지만 1.0.31은 효과가 없었습니다.

긴 답변

방금 최신 버전의 Platform Tools 및 ADB (Android Debug Bridge 버전 1.0.32 개정 eac51f2bb6a8-android)를 사용하여 CyanogenMod 11 (Android 4.4 기반)을 실행하는 Nexus 5 에서이 문제가 발생했습니다.

사용 adb logcat기기의 로그를보고, 나는 호출 한 후에 것으로 나타났습니다 adb backup -apk -obb -shared -all -nosystem일부 의심스러운 로그 항목이 있었다 :

V/BackupManagerService(  811): Requesting full backup: apks=false obb=false shared=false all=false pkgs=[Ljava.lang.String;@4181ffc8
W/BackupManagerService(  811): Unknown package  '-apk' '-obb' '-shared' '-all' '-nosystem', skipping

장치가 명령 행 옵션을 옵션이 아닌 인수로 해석하고 패키지 이름이 설치되지 않았기 때문에 오류가 발생하는 것으로 나타납니다. 이로 인해 adb 프로토콜 또는 명령 / 서비스 호출 옵션이 호스트와 관련하여 장치에서 변경되었다고 생각하게되었으므로 이전 버전의 adb와 voilà를 사용해 보았습니다.

나는 약간의 파기를하고 "adb backup"에서 escape_arg 사용 으로 변경되었습니다. 이제 호출 할 때 모든 인수를 작은 따옴표로 묶습니다/system/bin/bu backup . 로그 메시지의 동작 및 작은 따옴표 인수에 대해 설명합니다. 그러나 오류가 발생한 시간과 일치하지 않는 것 같습니다. 또한이 문제가 생각보다 훨씬 더 널리 퍼져 있다고 제안합니다. 그래서 나는 이것을 원인으로 부르는 것을 주저하지만 추가 조사를위한 좋은 출발점이 될 수 있습니다.


2
이전 버전 (1.0.31)을 사용하면 문제가 해결되었습니다. 이 질문 stackoverflow.com/q/9555337/1741542 , 특히이 답변 stackoverflow.com/a/23022718/1741542 는 이전 버전 (예 : platform-tools_r20-linux.zip)을 찾는 데 도움 이 되었습니다.
올라프 Dietsche

그래도 모든 모델에서 작동하지 않는 것 같습니다. 아무런 문제없이 Samsung S3 mini (Android 4.2)의 전체 백업을 만들었지 만 Android 4.0에있는 태블릿으로는 그렇게 할 수 없었습니다. 나는 adb-r10에서 adb-r23 (abd-r15 제외)까지 모든 시도를 성공하지 못했습니다.
올라프 Dietsche

4
adb 1.0.32 및 Nexus 5 (Android 6)와 비슷한 문제가있었습니다. 백업 인수를 명시 적으로 인용하여 (bash 쉘 내에서 adb backup '-noapk -noshared -all -nosystem'대신) 실행하여이 문제를 해결했습니다 adb backup -noapk -noshared -all -nosystem. 따옴표가 없으면 '알 수없는 백업 플래그 -all : -nosystem : -noapk', '백업 패키지가 제공되지 않으며-공유도-도 제공되지 않음'과 '마침'과 같은 logcat 메시지가 표시됩니다.
maxschlepzig

마침내 Android 4.0으로 전체 백업을 받았습니다. 어리석은, 그것은 단지 태블릿의 재부팅이었습니다.
올라프 Dietsche

5
감사! 그건 그렇고, 여기에서 모든 플랫폼에 대한 adb 1.0.31을 다운로드 할 수 있습니다 : ftp.mozilla.org/pub/labs/r2d2b2g
eWolf

15

kevenoid의 답변을 바탕으로 전화에서 실행중인 adb 버전에 따라 달라질 수 있습니다.

다음을 수행하여 전화기가 기본적으로 실행중인 버전을 확인할 수 있습니다.

먼저 데스크탑에서 실행중인 버전을 찾으십시오.

adb version

그런 다음 휴대 전화에서 껍질을여십시오

adb shell

쉘이 열리면 실행할 수 있습니다

adb version

그런 다음 다음을 실행하여 쉘을 종료하십시오.

exit

내 전화가 1.0.32가 아닌 1.0.31 버전을 실행하고 있음을 발견했습니다 (삼성 메모 2입니다)

Hunter가 표시 한 것과 같이 따옴표 또는 이스케이프 문자를 사용해 보았지만 Windows 명령 줄에서 작동하지 않았습니다. 그러나 다운 그레이드는 두 버전 간의 비 호환성 문제를 해결했습니다.

https://stackoverflow.com/a/23022718/1741542 지침에 따라 이전 버전을 찾을 수있었습니다.

내가 사용한 다운로드 링크는 다음과 같습니다.
http://dl-ssl.google.com/android/repository/platform-tools_r20-windows.zip

다른 플랫폼 :


전화기에서 adb 버전을 업그레이드하는 방법이 있습니까?
Bin Wang

10

인용되는 명령 인수에 대한 다른 대답은 정확합니다. 나는 당신이 논쟁 사이의 공백을 벗어나면 작동한다는 것을 발견했습니다.

이처럼 : adb backup -apk\ -shared\ -all\ -system


이것은 OP의 문제에 대한 해결책은 아니지만 이전 ADB를 사용하는 것보다 @Kevinoid의 문제에 대한 더 나은 해결책입니다.
Hunter Perrin

이것은 이론적 근거가없는 Kevinoid의 답변과 중복됩니다. 그러나 그것은 나를 위해 잘 작동했고, 나는 ~를 사용하는 것을 선호합니다.
Neil Mayhew

1
이 솔루션은 나를 위해 ADB 다운 그레이드 할 필요 일한
자유 사상가

@HunterPerrin의 의심을 확인할 수 있습니다. 이것이 처음 시도했기 때문에 다른 문제이며 문제를 해결하지 못했지만 두 번째로 1.0.31 adb로 올바르게 복사하기 시작했습니다
Sirens

7

여기서 해결 방법이 없었으므로 SDK 도구를 다운 그레이드하고 싶지 않습니다. 내가 생각해 낸 것은 : adb backup컴퓨터를 건너 뛰고을 통해 장치로 바로 이동하십시오 adb shell.

$adb version
Android Debug Bridge version 1.0.35
Revision fc2a139a55f5-android

$ adb shell
shell@jflte:/ $ bu 1 backup -apk app.package.name > /sdcard/backup.ab
shell@jflte:/ $ exit

$adb pull /sdcard/backup.ab
[100%] /sdcard/backup.ab

/system/bin/bu백업 파일을 호출 하여 STDOUT (파일 설명자 # 1)에 덤프합니다. 매개 변수는 동일합니다 adb backup <params>-> bu 1 backup <params>. 출력은 장치의 파일로 리디렉션 된 다음 다른 파일처럼 가져올 수 있습니다.

유일한 단점은 장치가 절반 이상 가득 찬 경우 전체 백업을 수행 할 수 없다는 것입니다. 외부 SdCard 슬롯이있는 경우이 문제를 해결할 수 있습니다. buAndroid 4.4.2에서도 시스템 응용 프로그램이므로 작성할 수 있습니다. /mnt/extSdCard/backup.ab와 같은 일을했습니다 /sdcard.


4

한숨 이된다면 정말 죄송합니다. 스크린 샷과 명령 줄로 신중하게 판단하는 것처럼 보이지만 차 그린에게 동일한 증상을 발견했으며 미래의 발견자가 여기에 올 경우를 대비하여 게시 할 것이라고 생각했습니다. adb는 옵션에서 단일 대시와 이중 대시에 대해 매우 까다 롭습니다. 나를 위해 이중 대시는이 경우를 정확하게 재현했습니다 : 전화의 동일한 프롬프트, 동일한 0 바이트 파일. 긴 인수 이름이 있지만 단일 대시 는 매력처럼 작동했습니다.

중요한 경우 내 전화는 Android 5.1 / Cyanogenmod 12.1을 실행하는 Samsung Galazy Note 2 AT & T SGH-i317입니다.


2
이것이 답변이나 의견으로 게시되어야하는지 여부는 혼란 스럽습니다. OP는 그가 이중 대시가 아닌 단일 대시를 사용하고 있음을 보여 주므로 귀하의 답변이 아마도 표시를 놓쳤을 것입니다. 이 답변은 유익한 정보이며 (부가 가치) OP의 문제에는 대답하지 않는 것 같습니다.
Andrew T.

이것은 내 문제를 해결했습니다.
존 프리먼

실제 명령 줄을 게시하십시오.
RoboJ1M

2

adb 버전 1.0.31에서 adb backup 명령을 실행해야합니다.

Windows의 경우 :

로그:

$ adb 백업 -apk -obb -shared -all -system -f bckp.ab

adb 서버가 오래되었습니다. 죽이는...

  • 데몬이 성공적으로 시작했습니다 *

이제 장치를 잠금 해제하고 백업 작업을 확인하십시오.

그런 다음 모든 것을 다시 정상으로 설정하십시오.


1

좋아, 이것이 내가 고친 방법입니다.

Hunter Perrin의 솔루션을 사용해 보았습니다.

adb backup -apk\ -shared\ -all\ -system

그러나 그것은 방금 오류없이 전화로 백업 화면을 보지 않고 즉시 돌아 왔습니다.

시행 착오를 통해 이것은 나를 위해 일했습니다 :

adb backup -all\

1

1.0.32를 사용하는 사람들을위한 해결책이 있다고 생각합니다.

안드로이드 화면에 프롬프트가 표시되면 비밀번호를 입력하십시오

암호를 입력하지 않으면 기본 암호가 사용된다는 사실에도 불구하고 암호를 사용하지 않으며 adb 1.0.32는 암호화되지 않은 백업을 만들 수 없습니다.

암호를 입력하면 나에게 "Android Backup Extractor" (Warning Sourceforge) 및 "Java Cryptography Extension (JCE) Unlimited Strength Jurisdiction Policy" 를 사용하여 tar 파일로 추출했습니다.


1

나는 새로운 문제 (안드로이드 7)와 함께 1.0.31의 역 문제에 부딪쳤다. 1.0.31은 전화에 인수를 전달할 때 구분 기호로 사용합니다. 그림에서 알 수 있듯이 adb logcat -s BackupManagerService휴대 전화의 최신 adb는 이전 스타일을 처리 할 수 ​​없습니다. 02-19 01:59:44.330 1100 9830 W BackupManagerService: Unknown package com.gameloft.android.ANMP.GloftPOHM:-apk, skipping 다행히도 최신 adb는 공백을 구분 기호로도 허용하므로 큰 따옴표 안에 인수를 묶는 것이 좋습니다. adb.exe backup "com.gameloft.android.ANMP.GloftPOHM -apk" -f game-backup.ab

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.