Problem:
Za każdym razem, gdy uruchamiam tworzenie kopii zapasowej ADB, w dolnej części ekranu głównego pojawia Backup starting...
się komunikat, a następnie komunikat mówiący Backup finished
kilka sekund później, mimo że używam 17 GB pamięci urządzenia, i powstaje utworzony plik kopii zapasowej o rozmiarze 0 bajtów. Nie otrzymuję żadnych komunikatów o błędach, żadnych informacji zwrotnych wskazujących, że coś jest nie tak, a co dopiero, co jest nie tak. Wygląda na to, że działa, ale zdecydowanie za szybko, a plik kopii zapasowej jest pusty.
Proces:
Potwierdzam, że urządzenie jest rozpoznawane przez ADB za pomocą
adb devices
polecenia i otrzymuję następujące dane wyjściowe:List of devices attached 8e1f368a device
Wydaję polecenie tworzenia kopii zapasowej ADB (szczegóły do naśladowania).
W wierszu polecenia pojawia się następujący komunikat:
Now unlock your device and confirm the backup operation.
... i następujący monit w telefonie:
Nie ma znaczenia, co tu robię (szczegóły do naśladowania).
Stukam Back up my dataprzycisk (prawy dolny róg).
Telefon powraca do ekranu głównego i pokazuje mi
Backup starting...
wiadomość, a następnieBackup finished
kilka sekund później. Tworzony jest plik 0-bajtowy o nazwie domyślnej backup.ab lub cokolwiek, co określiłem przełącznikiem -f .
Polecenie tworzenia kopii zapasowej ADB (używane w kroku 2):
Próbowałem wielu kombinacji opcji, od tak prostych jak
adb backup -all
do rzeczy takich jak
adb backup -all -apk -s 8e1f368a -f 'C:\Data Files\PDA\Backups\ADB\GalaxyS4_20140919.ab'
Próbowałem również dodać -nosystem
przełącznik po przeczytaniu tego i tego , co wskazuje, że próba włączenia kopii zapasowej systemu na nie uruchomionym urządzeniu może spowodować powstanie pliku 0-bajtowego i że tego przełącznika należy użyć. Nie robi to różnicy, proces wciąż kończy się w ciągu kilku sekund, a ja wciąż otrzymuję plik 0-bajtowy.
Pytanie o hasło „Pełna kopia zapasowa” (krok 3):
Jestem pewien, że nigdy wcześniej nie ustawiałem hasła zapasowego. Nigdy wcześniej nie miałem okazji ustawić tego hasła ani uzyskać dostępu do tego ustawienia w jakikolwiek sposób. Próbowałem jednak wszystkich następujących czynności:
- Pozostawienie obu haseł pustych
- Pozostaw „bieżące hasło zapasowe” puste i wprowadź nowe hasło w drugim polu
- Wprowadzanie bieżącego kodu PIN blokady ekranu i wszystkich kodów PIN, których kiedykolwiek używałem jako „bieżącego hasła zapasowego”.
- Wprowadzając każde hasło, mogę sobie wyobrazić, że bym kiedykolwiek używał do czegoś na tym urządzeniu
We wszystkich przypadkach zachowanie jest dokładnie takie samo, jak opisano w kroku 5. Nie otrzymuję żadnych błędów ani żadnego wskazania, że coś jest nie tak lub moje hasła są nieważne, i nie ma żadnej wskazówki, czy rzeczywiście oczekuje bieżącego hasła, czy też pole powinno pozostać puste. (Zrzut ekranu w tej odpowiedzi i kilku innych forach wsparcia, na które spojrzałem, wydaje się sugerować, że pole „aktualne hasło zapasowe” nie byłoby wyświetlane, jeśli nie ma aktualnego hasła, ale to tylko wnioskowanie; nic nie wyjaśnia, czy aktualne hasło jest wymagane).
Podejrzewam, że hasło, o które prosi, może być „hasłem kopii zapasowej pulpitu” ustawionym w opcjach programisty:
Nigdy wcześniej nie ustawiałem tego hasła. Jeśli spróbuję go ustawić, pojawi się komunikatFailed to set backup password.
Szukając informacji o tym błędzie, spotkałem co najmniej jeden inny przypadek, w którym ktoś, kto miał ten problem, powiedział, że to uniemożliwia mu korzystanie z kopii zapasowej ADB, ale nie sprecyzował, co się stanie, gdy spróbuje użyć ADB utworzyć kopię zapasową.
Większość osób, które otrzymały tę wiadomość, nigdy wcześniej nie ustawiając hasła, twierdzi, że rozwiązaniem było pozostawienie aktualnego hasła pustego, ale próbowałem go w pierwszej kolejności i nie zadziałało. Znalazłem pytanie innej osoby, która napotkała ten problem i była pewna, że wcześniej nie ustawił hasła . Niestety nie wygląda na to, żeby kiedykolwiek znalazł rozwiązanie lub nawet wyjaśnienie.
Niezależnie od tego, czy ADB szuka „hasła kopii zapasowej pulpitu”, czy hasło szyfrowania ADB jest czymś osobnym, zastanawia mnie, dlaczego ADB wymaga wprowadzenia poprzedniego hasła w celu zainicjowania nowej kopii zapasowej. Nie próbuję przywrócić, nadpisać lub w jakikolwiek sposób dostępu do danych zaszyfrowanych wcześniej, więc nawet jeśli hasło szyfrowania kopii zapasowej już wcześniej ustawiony, nie mogę sobie wyobrazić, dlaczego ktoś mógłby pomyśleć, że to dobry pomysł, aby uniemożliwić wykonaj kopię zapasową urządzenia, jeśli nie pamiętasz hasła używanego do szyfrowania kopii zapasowych w przeszłości.
Dodatkowe informacje:
Model: Samsung Galaxy S4 SCH-I545
Wersja jądra: 3.4.0
Wersja systemu operacyjnego: 4.4.2 Wersja
Android SDK Narzędzia: 1.16
Debugowanie USB jest włączone.
Pamiętaj, że moim powodem korzystania z kopii zapasowej ADB jest zrobienie pełnej kopii zapasowej telefonu, aby być bezpiecznym przed zrootowaniem *, aby móc korzystać z narzędzi do tworzenia kopii zapasowych nandroid, takich jak Titanium. Tak więc każda sugestia dotycząca zrootowania mojego telefonu byłaby Catch-22, a nie rozwiązaniem. Nie trzeba dodawać, że przywrócenie ustawień fabrycznych również nie jest rozwiązaniem, ponieważ zniweczyłoby to cały cel wykonywania kopii zapasowej.
Telefon jest skonfigurowany do synchronizacji z serwerami Exchange mojej firmy, a serwer egzekwuje pewne zasady. Myślałem, że urządzenie zostało zaszyfrowane, kiedy po raz pierwszy skonfigurowałem synchronizację z kontem firmowym, ale najwyraźniej nie jest obecnie szyfrowane. W rzeczywistości to właśnie uruchomiło ten łańcuch zdarzeń: dostaję komunikat z informacją, że muszę zaszyfrować urządzenie, aby móc dalej łączyć się z serwerami firmy. Chcę zrobić kopię zapasową nandroid przed szyfrowaniem, która wymaga rootowania i chcę użyć kopii zapasowej ADB przed rootowaniem.
* Tak, jestem świadomy, że Towelroot jest rzekomo bezpieczny, ale wolałbym nie ryzykować i chciałbym rozwiązać lub przynajmniej zrozumieć ten problem, na wypadek, gdyby w przyszłości pojawiły się podobne problemy.
adb backup
działały dobrze,adb restore
zawsze zawodziły). Okazało się, że był to problem z uprawnieniami (producent pomylił się z pamięcią ROM), więcadb restore
nie był w stanie odczytać pliku kopii zapasowej po przesłaniu go do urządzenia. Było trochę trudne do znalezienia i nie jestem pewien, czy coś podobnego tak naprawdę jest tutaj; ale może warto to sprawdzić.