Android adb backup
Biztonsági mentés rootolás és unlockolás nélkül? Android 4.0 felett van rá ingyenes, egyszerű lehetőség.
Aki Android operációs rendszert használ, az előbb-utóbb belefut abba a problémába, hogy szeretné egyszerűen lementeni a telefonja adatait, ugyanis senki sem örül neki, ha egy factory reset (gyári adatok visszaállítása) után a kedvenc játékát kezdheti előröl, mivel ilyenkor minden adata elvész.
Erre is létezik megoldás, több app is van a playen, amivel ez a probléma orvosolható. Ilyen például a Titanium Backup, amivel szükség esetén biztonsági mentést készíthetünk adatainkról. A programnak létezik ingyenes verziója, ami korlátozott szolgáltatásokkal rendelkezik, ha azonban minden funkcióját ki szeretnénk használni, akkor a pro verzióért bizony fizetnünk kell.
A másik kellemetlenség, ami sok felhasználónak gondot okoz, hogy ezeknek a programoknak általában root jogosultságra van szükségük, aminek a megszerzése készülékenként, és OS verziónként eltérő bonyolultságú feladat.
Létezik azonban egy ingyenes és sem rootolást, sem unlockolást nem igénylő megoldás erre a problémakörre, ami ráadásul az Android beépített szolgáltatása.
Sajnos ez a lehetőség csak a 4.0-s verziótól érhető el, így aki egy korábbi verziójú telefonnal rendelkezik, neki be kell érnie a Playen található applikációkkal.
Előkészületek
Először is szükségünk lesz a telefonunk/tabletünk driverjére, hogy kommunikálni tudjon a számítógéppel. Ezt mindenki a saját gyártójától tudja beszerezni, de próbálkozhatunk a Google USB driverével is.
Ahhoz, hogy ezt a beépített mentést használni tudjuk, szükségünk van még az Android Debug Bridge-re, röviden adb-re.
Ezt letölthetjük a teljes SDK-val együtt az Android developer oldaláról: Android SDK
Ha viszont nem szeretnénk az egész SDK-t csupán ezért letölteni, akkor töltsük le ezt a kis pakkot: Adb files
Ezután az androidos eszközünkön kapcsoljuk be az USB hibakeresést a fejlesztői lehetőségek menüpont alatt.
(4.2-től kezdve alap esetben ez egy rejtett menüpont, amit a beállítások telefonról pontjából csalhatunk elő, a build-szám bejegyzés hétszeri megérintésével.)
Tesztelhetjük is, hogy megfelelően felismerte-e gépünk az eszközt. Ehhez az android-sdk/platform-tools mappájában, nyissunk egy parancssori ablakot. Ha csak a kis pakkot töltöttük le, akkor ott nyissuk a parancssort, ahova kicsomagoltuk a fájlokat.
Itt adjuk ki az adb devices parancsot. Ez után ha minden rendben van, akkor valami hasonlót kell látnunk:
Mentsük, ami menthető
A kulcsszó amire szükségünk lesz az az adb backup
.
A parancs lehetséges kapcsolói: adb backup [-f ] [-apk|-noapk] [-shared|-noshared] [-all] [-system|nosystem] [<packages...>]
Használata:
Legegyszerűbb esetben adb backup -all
paranccsal dolgozhatunk, ez minden lehetséges adatot lement, ám ennek a használatát nem ajánlom.
A következőkben menjünk végig a lehetséges kapcsolókon:
-f : ezzel a kapcsolóval mondhatjuk meg, hogy a számítógépünkön hova és milyen néven kerüljön a mentés pl: C:\backup.ab. Fontos megjegyezni, hogy a kiterjesztés minden esetben .ab kell, hogy legyen.
-apk|-noapk: ez a kapcsoló szabályozza, hogy a mentésbe bekerüljenek-e az alkalmazások telepítő fájljai. Alapértelmezetten a -noapk
kapcsolót használja. Csak akkor kapcsoljuk be, ha olyan alkalmazásról is szeretnénk mentést, ami már nem elérhető a Playen.
-shared|-noshared: ezzel a kapcsolóval engedélyezhetjük, vagy tilthatjuk az eszköz külső tárának mentését. Alapértelmezett a -noshared
. Ennek a bekapcsolását sem javaslom. Az esetlegesen a külső táron lévő zenéinket, képeinket inkább mentsük le előtte kézzel, amit aztán egyszerűen vissza is másolhatunk, ha szükséges.
-all: ezzel a kapcsolóval mondhatjuk meg, hogy minden alkalmazásunkról szeretnénk mentést készíteni. Ha csak bizonyos appokról szeretnénk backupot, akkor azt az applikáció pontos package-nek a meghatározásával adhatjuk meg.
-system|nosystem: ezzel a kapcsolóval mondhatjuk meg, hogy a rendszer alkalmazásokat is mentse-e, vagy sem. A -all
kapcsoló a rendszer alkalmazásokra nem vonatkozik. Alapértelmezetten -system
-et használ, ez azonban nem ajánlott, mivel egy másik rom feltétele esetén összeakadhatnak a programok. Ezért javaslom a -nosystem
használatát.
Ahogyan azt már a -all
kapcsolónál említettem, lehetőségünk van csak bizonyos alkalmazások adatainak lementésére is, amihez a teljes package nevükre van szükségünk. Ezt legegyszerűbben a webes Playből tudhatjuk meg, ahol is az alkalmazás oldalának url címében az id=
rész után következik a package név. A Google+ app esetében ez: com.google.android.apps.plus.
Ha mentést szeretnénk készíteni, akkor ezek alapján kell összeállítanunk a megfelelő parancsot és egy parancssori ablakban kiadni azt. Az általam használt: adb backup -noapk -nosystem -all -f C:\backup.ab
Ha kiadjuk a parancsot, akkor az eszköz képernyőjén bejön egy a fentihez hasonló felület, ahol meg kell erősítenünk, hogy tényleg szeretnénk mentést készíteni. Itt jelszóval is védhetjük a backup állományunkat, hogy más még véletlenül se tudjon hozzáférni.
Utána az „adatok biztonsági mentése” gombbal elindíthatjuk a mentés folyamatát. Ez a feltelepített alkalmazások számától függően több percet is igénybe vehet.
A folyamat végén egy toast üzenetben közli velünk a rendszer, hogy a mentés sikerült. A telefonunk pedig visszatér a kezdő képernyőre.
Ezzel sikeresen elvégeztük a biztonsági mentés készítését. A számítógépünkön az általunk megadott helyen pedig megtaláljuk az elkészült .ab állományt.
Vissza mindent
A visszaállítás folyamata egyszerűbb mint a mentés készítésé. A szükséges parancs: adb restore <file>
Ennek használatához másoljuk a lementett .ab állományt abba a mappába, ahol az adb.exe fájlunk van. Nyissunk egy parancssort és adjuk ki a parancsot. Az általam használt: adb restore C:\backup.ab
Ekkor egy a mentéséhez nagyon hasonló felületet láthatunk. Itt adhatjuk meg a jelszót, amit a backup készítése során adtunk meg. Majd az „adatok visszaállítása” gombot megnyomva elindul a visszaállítás folyamata.
Ezzel be is fejeztük a visszaállítást, és már folytathatjuk is játékainkat onnan, ahol az egész folyamat elején abbahagytuk.
Mentés haladóknak
Amikor először eddig eljutottam nagyon örültem, hogy milyen jó megoldás, azonban egyből felmerült bennem az igény, hogy nem szeretnék minden alkalmazásomról mentést, de egyesével sem szeretném bepötyögni a package neveiket azoknak, amiről viszont szeretnék, ahogy arra a parancs lehetőséget ad.
Android Backup Extractor
Ekkor kezdtem el keresgélni a neten, és találtam is egy programot, amivel kicsomagolhatjuk a .ab fájlokat, kitörölhetjük belőlük a felesleget, majd újra visszacsomagolhatjuk.
Ehhez az Android Backup Extractor nevű programra lesz szükségünk.
(A program futtatásához szükségünk van Java 7-re. Ennek a telepítését itt most nem részletezem.)
Kicsomagolás
A letöltött zip fájlt csomagoljuk ki, majd ugyanide másoljuk be az elkészült .ab állományunkat.
A kicsomagoláshoz nyissunk innen egy parancssort és adjuk ki a következő parancsot: java -jar abe.jar unpack backup.ab backup.tar password
Itt természetesen mindenki a saját .ab fájlnevét írja be, a .tar fájl neve tetszőleges, csak a kiterjesztése fontos. Ha adtunk meg jelszót a mentéshez, akkor azt is írjuk a végére a password helyére.
A kicsomagolás végeztével kapunk egy nagyobb állományt, amit azonban már meg tudunk nyitni, ki tudunk csomagolni. Találunk benne egy apps mappát azon belül pedig az appokat találjuk package név szerint bemappázva.
Nincs más dolgunk, mint a felesleges alkalmazások mappáit kitörölni.
Becsomagolás
Ha végeztünk, akkor vissza kell csomagolnunk az egészet egy .ab állománnyá. Ehhez a következő parancsra lesz szükségünk: java -jar abe.jar pack backup.tar backup_small.ab password
Itt is mindenki használja az általa megadott .tar fájlnevet, utána az .ab állomány neve tetszőleges. Ha szeretnénk adjunk meg egy jelszót a végén.
Az eredményül kapott .ab fájlt az előző oldalon részletezett módon tudjuk visszaállítani.
TC plugin: Android ADB 7.1
Azoknak akinek kényelmetlen ez a sok parancsos módszer, van egy kicsit felhasználóbarátabb gui-s megoldás. Ehhez a Total Commander nevű fájlkezelő alkalmazásra lesz szükségünk. Ezt, a már alapból is nagyon okos és hasznos programot, az Android adb nevű pluginnal tudjuk az Android rendszerhez is még közelebb hozni.
Töltsük le a plugint, majd a TotalCommander-ben nyissuk meg a .zip fájlt. Ekkor egyből észreveszi, hogy ez egy plugin és megkérdezi tőlünk, hogy telepítse-e. Válasszuk az igent, majd menjünk a hálózat meghajtóra. Itt kell látnunk egy ADB nevű eszközt. Azt nyissuk meg!
Ha csatlakoztatva van egy Androidos eszköz, akkor annak a szériaszámát láthatjuk. menjünk is ebbe bele! Ekkor kilistázza az eszköz mappaszerkezetét. Minket azonban most a felülről 2., .backup mappa érdekel. Ezt nyissuk meg!
Ekkor a fentihez hasonló ablakot kell látnunk. Itt megtaláljuk az eddig részletezett mentési lehetőségek grafikus megvalósítását. Ami különösen hasznos, hogy a „Backup selected packages” rádiógombot választva bepipálgathatjuk, hogy melyik alkalmazásokról szeretnénk mentést készíteni. Ezzel megspórolva nekünk az előzőekben részletezett kicsomagolás, törlés, visszacsomagolás procedúráját.
Alul a backup gombra kattintva indíthatjuk el a folyamatot, ekkor megadhatjuk a mentés helyét és nevét, majd a telefonon szintén meg kell erősítenünk a mentést, illetve jelszót is itt adhatunk meg, csak úgy mint eddig.
A visszaállítás a restore gombbal történik, majd a mentett állomány betallózása után a készüléken kell ismét megerősíteni a visszaállítást.