Backup i Restore svega bez potrebe ruta i otključavanja
Kako sam od nedavno ponosni vlasnik HTC One X telefona i još uvek nisam otključao telefon. Čekam da ekipa sa XDA sredi S-OFF kako bi mogao i kernel kao i ROM da flešujem direktno iz recovery-a, oklevam sa otključavanjem preko htcdev sajta.
Ali sa svog starog Desire HD-a sam želeo da prebacim podatke, tačnije data od pojedinih aplikacija koje se ne sinhronizuju preko cloud-a. Ovo je moguće preko Titanium Backup-a, MyBackup Pro Root aplikacije, AppExtractor ili neke treće, međutim to zahteva da je telefon rutovan, što moj One X u ovom trenutku nije.
Tako sam naleteo na ovaj tred na XDA gde je copkay pronašao opciju u poslednjoj verziji ADB platform tools za Android 4.0+ koja omogućava da se napravi celokupan backup sistema, uključujući apk fajlove, njihova podešavanja i podatke (data) kao i sadržaj sa interne memorije.
Kao što je i copkay naveo u svom uputstvu, ja ću i ovde ponoviti:
Zapamtite da je ovo još eksperimentalna opcija i nije još javna funkcionalnost IceCreamSandwich-a niti Jelly Bean-a, tako da nemojte na ovaj metod računati kao osnovni.
A evo i prevoda njegovog uputstva:
Ovo uputstvo podrazumeva da imate instaliran Android SDK i ažuriran Android SDK Platform Tools na poslednju verziju korišćenjem SDK Manager-a.
- Spojite vaš uređaj preko USB kabla i otvorite komandnu liniju ili terminal
- Opciono, ukucajte adb devices kako bi ste se osigurali da računar prepoznaje vaš uređaj. Ako ste sigurni da adb radi, možete preskočiti ovaj korak.
Postoji komanda adb backup (koju ću objasniti detaljno), koja vam omogućavam da napravite kompletan backup sistema.
Parametri komandne linije su:
adb backup [-f <file>] [-apk|-noapk] [-shared|-noshared] [-all] [-system|nosystem] [<packages…>]
Najbazičnija komanda koju možete da koristite bi bila:
adb backup -all
Ova komanda će koristiti podrazumevane parametre da backup-uje samo aplikacije i data (bez APK fajlova) u folder u kom se trenutno nalazite u fajl backup.ab
* Ovo možda neće raditi u svim slučajevima. Ako dobijete grešku adb: cannot open file ./backup.ab, koristite:
adb backup -all -f C:\backup.ab
Ili zamenu za putanju po vašem izboru umesto C:\
Objašnjenje parametara:
-f <file>
Koristite ovaj parametar kako bi ste izabrali gde želite backup fajl da bude kreiran. npr. -f /backup/mybackup.ab, što će sačuvati backup fajl u koreni folder na vašoj particiji (C:\ za Windows itd.) u folderu pod imenom backup, kao fajl imenovan mybackup.ab. Preporučujem vam da koristite ovaj parametar kako bi ste ručno definisali putanju, u nekim slučajevima se desi da komanda bude uspešno izvršena, ali da nema ni traga ni glasa samom fajlu. Zato je pametno ručno definisati putanju.
-apk | -noapk
Ovaj parametar govori da li da se backup-uju APK fajlovi ili samo njihov data. Lično koristim -apk za svaki slučaj ako aplikacija nije dostupna na Play Store-u, tako da ne moram da je ponovo vijam. Podrazumevana vrednost je -noapk
-shared | -noshared
Ovaj parametar se koristi da uključi ili isključi backup na deljenom prostoru za skladištenje podataka (SD kartica). Podrazumevana vrednost je -noshared, preporučujem vam da ovaj parametar stavite na -noshared sem ako ne želite da backup-ujete sve slike, video … sve što imate na SD kartici.
-all
Ovaj parametar je jednostavan načina da kažete: Backup-uj SVE aplikacije. Packages parametar koji će biti objašnjen kasnije služi za pojedinačne pakete (aplikacije). Ako ne želite da backup-ujete specifične aplikacije, koristite -all za ceo backup sistema.
-system | -nosystem
Ovaj parametar služi da, bez obzira da li ste podesili -all parametar, da uključi sistemske aplikacije ili ne. Ja koristim -system, ali ovo nije neophodno, i verujem da je sigurnije da koristite -nosystem, jer ako vraćate backup na drugi telefon ili ROM, sistem zasigurno nije isti, tako da može da dođe do problema. Na vama je da odlučite. Podrazumevana vrednost je -system.
<packages…>
Ovde možete da definišete listu sa imenima paketa (npr. com.google.android.apps.plus) koje posebno želite da backup-ujete. Ovo koristite samo ako želite da backup-ujete određene aplikacije.
Backup celog sistema preko adb-a
- Kada se odlučite koje ćete parametre koristiti za backup, ukucajte komandu koju želite, u mom slučaju je to bilo:
adb backup -apk -shared -all -f C:\AndroidBackup\backup_2012_09_22.ab
- Nakon toga ćete videti ekran poput ovog:
- Unesite šifru (ako želite) za enkripciju backup fajla. ZAPAMTITE OVU ŠIFRU, TREBAĆE VAM ZA RESTORE
- Ovaj proces može da potraje i nekoliko minuta u zavisnosti od parametara koje ste odabrali, ali kada se završi, na ekranu telefona će se ispisati Backup Complete, a ako to propustite, primetićete da će na vašem ekranu biti početni ekran, tj. zatvoriće se Backup ekran.
Restore prethodno napravljenog backup-a
Da bi ste vratili backup na svoj uređaj, bio to isti telefon, drugi telefon, drugi ROM … kucajte u komandnoj liniji:
adb restore C:\AndroidBackup\backup_2012_09_22.ab
Zamenite C:\AndroidBackup\backup_2012_09_22.ab sa lokacijom do vašeg fajla.
Zatim će vam se na ekranu pojaviti ovakav ekran:
Ukucajte vašu šifru za enkripciju ako ste je uneli prilikom pravljenja backup-a i restore će početi. Takođe ovaj proces može da potraje nekoliko minuta u zavisnosti od veličine backup-a i opcija koje ste izabrali.
To je to, ako ste uradili i backup sistema, čak će vam biti vraćeni i widget-i i pozadine, alarmi, aplikacije, svi login parametri …
Pažnja:
prazna šifra u nekim slučajevima vodi do greške, tako da uvek unesti šifru.
Ovim putem SMS neće biti backup-ovan, tako da za to možete koristiti neku drugu aplikaciju. Ima ih i koje rade bez root-a.
P.S. Nakon što sam napisao ovaj tekst, našao sam da je sada dostupna i skripta koja pravi “interfejs” za one koji mrze da kucaju komande u terminalu.
Pažnja: SrboDroid nije odgovoran ukoliko oštetite vaš uređaj ili izgubite podatke
Ukoliko niste dovoljno tehnički (računarski) obrazovani, savetujemo vam da ovaj postupak primenjujete uz nadzor stručnije osobe.
[thankyou]
Tags: 4.04.1adbbackupcommand promptIce Cream SandwichICSJelly BeanRestore
Znači ja mogu pokrenuti ovu scriptu, umesto ovog kucanja na pčetku koji si naveo, samo pokrenem scriptu i ona će sve isto ovo uraditi što bih ja ukucavao, je li tako?
Tako je, skripta ce te samo pitati da uneses odredjene parametre i to je to. broj, enter …