Potrzebujesz profesjonalnej pomocy? Skontaktuj się z nami!

Przyznam się, że praktycznie każdy telefon, jeśli tylko była taka możliwość (nie tylko z Androidem, a nawet duże, dużo wcześniej…) miałem w jakiś sposób modyfikowany – przynajmniej jeśli chodzi o oprogramowanie. A z racji tego, że telefon od dawna traktuje również jako narzędzie pracy, istotna dla mnie była możliwość wykonywania regularnej kopii zapasowej – najlepiej całego telefonu, wraz z oprogramowaniem systemowym i ustawieniami.

W ostatnich latach właściwie wszystkie moje telefony podstawowe działają pod kontrolą systemu Android, a więc realizacja tego zadania wiązała się ze zrootowaniem telefonu i wgraniu alternatywnego recorvery, m.in. w celu wykonywania pełnych kopii zapasowych.

Pierwszym – i jak do tej pory jedynym – telefonem który działa tak jak producent chciał będzie Motorola Moto G, co może być pewnym paradoksem, bo akurat w przypadku tego telefonu producent oferuje możliwość pełnego odblokowania – nie tylko recorvery, root, ale i bootloadera…

Android 4+: kopia zapasowa (BackUp)

Brak zdjętych blokad nie oznacza, że zrezygnowałem z tworzenia regularnych kopii zapasowych – wręcz przeciwnie, choć zmieniły się trochę metody. Część danych jest synchronizowana „z chmurą” (np. zdjęcia, kalendarz, kontakty), część na samym urządzeniu lub na udostępnionych zasobach sieciowych (np. SMSy,).

Android Debug Bridge i tryb debugowania

Wprawdzie ADB, jak i tryb debugowania w urządzeniach z Androidem występuje od dawna – korzystają z tego m.in. programy typu Link2SD, to chyba dopiero od wersji 4.0 pojawiła się relatywnie prosta metoda wykonywania kopii zapasowej za pomocą tego narzędzia, a tym samym odpadła jedna wada urządzeń bez odblokowanego konta root.

Tryb debugowania

Pierwsze co należy zrobić – nie tylko na potrzeby kopii zapasowej, ale i dla „co bardziej zaawansowanych aplikacji” – to aktywacja trybu debugowania w naszym urządzeniu z Androidem:

  • Ustawienia > Opcje programisty: Debugowanie USB

Jeśli nigdy nie korzystaliście z opcji programisty, jest duża szansa, że ta pozycja jest ukryta w menu Waszego telefonu. By ją aktywować należy wybrać:

  • Ustawienia > Informacje o telefonie

Gdzie „gdzieś na samym” znajdziecie pozycję oznaczoną jako „Numer kompilacji” – teraz wystarczy kilkukrotnie wybrać tą pozycję by odblokować „Opcje programisty”. W trakcie kolejnych kliknięć zapewne nic się nie będzie działa, a przynajmniej nie przez pierwsze 2-3 naciśnięcia. Później pojawi się komunikat w stylu:

Jeszcze 2 razy i zostaniesz programistą

Co oczywiście czynimy ;-)

Instalacja ADB na komputerze

Kolejny niezbędny element, to instalacja ADB na komputerze, do którego podłączymy telefon. Jeśli instalowaliście dodatkowe oprogramowanie od producenta telefonu, jest spora (no, może „jakaś”) szansa, że niezbędne oprogramowanie macie już zainstalowane na komputerze.

Android Studio

Osobiście korzystam z ADB instalowanego razem z Android Studio, czyli pakietem wspierającym tworzenie aplikacji na urządzenia z Androidem, a przy okazji rozwiązuje to w. problem braku aplikacji ADB w systemie.Trochę z pamięci piszę, ale wydaje mi się, że wystarczy pobrać pakiet w opcji „SDK Tools Only”.

Kopia zapasowa z pomocą ADB (Android Debug Bridge)

Przygotowania za nami, tak więc możemy przystąpić do tworzenia kopii zapasowej naszego urządzenia – za pomocą kabla USB (USB <-> microUSB) podłączamy telefon do komputera i uruchamiamy (na komputerze) wiersz poleceń.

Od razu warto przejść do katalogu w którym znajduje się aplikacja ADB, np.:

cd "C:\Program Files (x86)\Android Studio\sdk\platform-tools\"

Oraz – na wszelki wypadek – restartujemy serwer/aplikację:

adb kill-server
adb start-server

Na koniec „ostatnich przygotowań” sprawdzamy, czy nasze urządzenie jest widoczne w systemie:

adb devices

android_adb_backup01

Tworzenie kopii zapasowej

Podstawowym poleceniem tworzenia kopii zapasowej jest:

adb backup -f nazwa_pliku

Choć warto tu jeszcze uwzględnić dodatkowe parametry, np.:

  • apk|noapk – czy pliki instalacyjne (APK) aplikacji mają zostać dodane do kopii
  • shared|noshared – czy również pliki z karty SD/microSD mają znaleźć się w pliku kopii
  • system|nosystem – czy uwzględnić w kopii również aplikacje systemowe
  • all – wszystkie aplikacje

I tak przykładowe polecenie może wyglądać np. tak:

adb backup -apk -shared -all -system -f g:\plik_kopii_zapasowej

Pełną listę dostępnych opcji znajdziecie w dokumentacji narzędzia, oraz w pomocy:

adb help

Kopia zapasowa konkretnych aplikacji

Można również dokonać kopii zapasowej wybranych aplikacji. W tym celu można najpierw wygenerować sobie listę wszystkich zainstalowanych pakietów/aplikacji:

adb shell pm list packages -f >> c:\lista_zainstalowanych_aplikacji.txt

Lub:

adb shell pm list packages -3 >> c:\lista_zainstalowanych_aplikacji_uzytkownika.txt
adb shell pm list packages -s >> c:\lista_zainstalowanych_aplikacji_systemowych.txt

I gdy już znamy nazwę pakietu:

adb backup -f nazwa_pliku_kopii.bak nazwa.pakietu.aplikacji

lub:

adb backup -apk -f nazwa_pliku_kopii.bak nazwa.pakietu.aplikacji

Hasło kopii zapasowej

W momencie wysłania do urządzenia polecenia wykonania kopii zapasowej na ekranie tego urządzenia pojawi się ekran ze stosowną informacją, oraz prośbą o wpisanie ew. hasła kopii zapasowej (ustawionego wcześniej, w innym przypadku zostawcie puste):

android_adb_backup02

Hasło w urządzeniu ustawiacie w menu:

  • Ustawienia > Opcje programisty: Hasło kopii zapasowych
Jeśli Wasze urządzenie ma aktywną opcję szyfrowania (urządzenie szyfrowane), to hasłem kopii zapasowych zawsze będzie hasło/kod odblokowania – niezależnie od tego, co ustawicie w pozycji „hasło kopii zapasowych”.

Przywracanie danych z kopii zapasowych

Jeśli zajedzie potrzeba przywrócenia danych z kopii zapasowej, wystarczy ponownie podłączyć do komputera telefon i wykonać polecenie:

adb restore plik_kopii_zapasowej

Android Backup Extractor

Czasem może zajść potrzeba „dobrania się do plików kopii zapasowej”, ale bez wgrywania jej do urządzenia. Tu z pomocą przychodzi nam m.in. aplikacja Android Backup Extractor, dzięki której zmienimy plik bezpośrednio w archiwum tar, które można już rozpakować dowolnym programem obsługującym ten format archiwów.

Program do działania wymaga Javy, ale można chyba założyć, że zapewne macie Jave zainstalowaną w systemie (zwłaszcza, gdy „kombinujecie przy Androidzie”).

Kopia zapasowa z hasłem

Jeśli Wasz plik kopii zapasowej jest zabezpieczony hasłem, zapewne będziecie potrzebowali jeszcze paczki:

Znajdziecie w niej 2 pliki (3, jeśli liczyć plik readme.txt ;-)):

  • local_policy.jar
  • US_export_policy.jar

które należy skopiować do odpowiedniego katalogu:

  • C:\Program Files\Java\jdk1.7.0_60\jre\lib\security\
  • C:\Program Files\Java\jre7\lib\security\
  • C:\Program Files (x86)\Java\jdk1.7.0_60\jre\lib\security\
  • C:\Program Files (x86)\Java\jre7\lib\security\

Ew. w innych niż Windows systemach będzie to odpowiednio:

  • Linux: /usr/local/jdk1.7/jre/lib/security/
  • BSD: /usr/lib/jvm/java-7-openjdk-*/jre/lib/security/
  • OS X: /Library/Java/JavaVirtualMachines/jdk1.7.0_60.jdk/Contents/Home/jre/lib/security/
Są to przykładowe ścieżki, które podaje za instrukcją obsługi programu – w większości przypadków będą one wyglądały inaczej, zależnie od wersji Java zainstalowanej w Waszym systemie.

Podstawowe polecenia

Korzystanie z programu jest proste, sprowadza się do 4 podstawowych komend:

  • Informacje o pliku: java -jar abe.jar info [plik_kopii_zapasowej] [hasło (opcjonalnie)]
  • Konwersja na archiwum TAR: java -jar abe.jar unpack  [plik_kopii_zapasowej] [pliku_archiwum.tar] [hasło (opcjonalnie)]
  • Konwersja na archiwum Android: java -jar abe.jar pack  [pliku_archiwum.tar] [plik_kopii_zapasowej] [hasło (opcjonalnie)]
  • pack-kk: java -jar abe.jar pack-kk [pliku_archiwum.tar] [plik_kopii_zapasowej] [hasło (opcjonalnie)]

Ostatnia opcja (pack-kk) dotyczy archiwum dla Androida w wersji KitKat 4.4.3+

Kopia zapasowa plików bazy danych

Warto jeszcze wspomnieć o tym, że jak mamy dostęp do konta root w telefonie, to możemy kopię zapasową niektórych elementów wykonać ręcznie, kopiując z jakiegoś menedżera plików interesujące nas pliki.

Korzystasz z Androida 4.4 lub nowszego?
Zobacz też koniecznie: Aplikacja SELinuxModeChanger, czyli prosta i skuteczna zmiana stanu SELinuxa w Androidzie

Zasada ogólna:

/data/data/com.android.providers.*/databases/*

I tak np. SMS i MMS:

/data/data/com.android.providers.telephony/databases/mmssms.db

Kontakty:

/data/data/com.android.providers.contacts/databases/contacts2.db

Kalendarz:

/data/data/com.android.providers.calendar/databases/calendar.db

Lista APNów:

/data/data/com.android.providers.telephony/databases/telephony.db

Ustawienia:

/data/data/com.android.providers.setings/databases/setings.db

W nowszych wersjach systemu (5, 6, 7…), z racji wprowadzenia obsługi użytkowników zmieniła się lokalizacja. Np. dla SMSów będzie to plik:

/data/user_de/0/com.android.providers.telephony/database/mmssms.db
(!) Zgłoś błąd na stronie
Potrzebujesz profesjonalnej pomocy? Skontaktuj się z nami!
Spodobał Ci się artykuł? Zapisz się do naszego Newslettera - ZERO SPAMu, same konkrety, oraz dostęp do dodatkowych materiałów przeznaczonych dla subskrybentów!
Na podany adres e-mail otrzymasz od nas wiadomość e-mail, w której znajdziesz link do potwierdzenia subskrypcji naszego Newslettera. Dzięki temu mamy pewność, że nikt nie dodał Twojego adresu przez przypadek. Jeśli wiadomość nie przyjdzie w ciągu najbliższej godziny (zazwyczaj jest to maksymalnie kilka minut) sprawdź folder SPAM.

Patryk

CEO Webinsider.pl, a do tego CTO, CIO, CFO, CMO, CSO, COO i CRO ;-)
Pasjonat nowych technologii - od sprzętu po oprogramowanie, od serwerów po smartfony i rozwiązania IoT. Potencjalnie kiepski bloger, bo nie robi zdjęć "talerza" zanim zacznie jeść.

Dumny przyjaciel swoich psów :-)
Envato Elements - pobierasz co chcesz, ile chcesz
Napisz komentarz
wipl_napisz-komentarz_01Jeśli informacje zawarte na tej stronie okazały się pomocne, możesz nam podziękować zostawiając poniżej swój komentarz.

W tej formie możesz również zadać dodatkowe pytania dotyczące wpisu, na które – w miarę możliwości – spróbujemy Ci odpowiedzieć.
Linki partnerskie
Niektóre z linków na tej stronie to tzw. „linki partnerskie”, co oznacza, że jeśli klikniesz na link i dokonasz wymaganej akcji (np. zakup/rejestracja) możemy otrzymać za to prowizję. Pamiętaj, że polecamy tylko te produkty i usługi, z których sami korzystamy, i uważamy, że są tego na prawdę warte… :-)
Znaki towarowe i nazwy marek
W niektórych wpisach (oraz innych miejscach na stronie) mogą być przedstawione/użyte znaki towarowe i/lub nazwy marek, które stanowią własność intelektualną tych podmiotów, a zostały użyte wyłącznie w celach informacyjnych.
Spodobał Ci się artykuł? Zapisz się do naszego Newslettera!