Sul market ci sono delle buone applicazioni per fare il backup di Android. La più famosa è Mybackup pro.
Dopo aver fatto un reset, Mybackup mi permette di ripristinare la configurazione di Android, ma non la configurazione di tutte le applicazioni che avevo installato prima di fare il reset (con l'eccezione di rare applicazioni che sono supportate).
Un altro metodo è quello di usare Nandroid, però se ho capito bene, Nandroid ripristina tutto il sistema, compreso il kernel ecc., quindi non è utile quando si passa da una rom all'altra e si fa un wipe del telefono.
Ho iniziato per conto mio a preparare uno script che faccia il salvataggio di tutte le applicazioni e i dati che ci sono nel telefono.
Poi ne ho preparato uno che fa il ripristino di tali dati.
Lo script di ripristino contiene diverse parti di codice sviluppate da terzi.
E' diviso in fasi:
- Restore applications: ripristina tutti gli apk dei programmi nella cartella /data/app/
- Restore protected applications: ripristina tutti gli apk dei programmi protetti nella cartella /data/app-private/
- Application reinstall (by Wes Garner): reinstalla in automatico tutte le applicazioni i cui apk si trovano in /app e /app-private
- Restore system configuration: ripristina le configurazioni di sistema. Questa è la parte più critica, in quanto se il sistema è cambiato radicalmente rispetto a quando avevamo fatto il backup, il ripristino di questi database potrebbe creare dei problemi.
In caso di problemi si possono cancellare selettivamente alcune righe oppure si può omettere completamente questa sezione.- Fix permissions (by shade@chemlab.org): mette a posto i permessi su tutti i file che abbiamo ripristinato.
- Restore wallpaper: l'ho messo alla fine, perché causa il riavvio di Android.
Ho testato il ripristino dalla rom II5 alla IK4 del Samsung Galaxy e non ho avuto problemi. Mi sono ritrovato tutto com'era prima del wipe. L'unica applicazione che non ha funzionato è stata Shazam.
Non ho testato lo script su altri telefoni.
Ad ogni modo lo script di ripristino va considerato un esperimento, quindi lo si esegue a proprio rischio e pericolo. Ovviamente il peggio che possa capitare è di essere costretti a rifare un wipe.
Prerequisiti fondamentali:
- avere i diritti di root
- aver installato busybox
Installazione degli script
Rinominare i due file allegati in backup.sh e restore.sh e metterli nella stessa cartella di ADB, poi dare i seguenti comandi.
Se la cartella /system/xbin non esiste la si può crerare aggiungendo questo comando:adb push backup.sh /sdcard
adb push restore.sh /sdcard
adb shell
su
mount -o remount,rw -t yaffs2 /dev/block/mtdblock4 /system
cat /sdcard/backup.sh > /system/xbin/backup.sh
cat /sdcard/restore.sh > /system/xbin/restore.sh
chmod 755 /system/xbin/backup.sh
chmod 755 /system/xbin/restore.sh
mount -o ro,remount -t yaffs2 /dev/block/mtdblock4 /system
rm /sdcard/backup.sh
rm /sdcard/restore.sh
exit
exit
Gli script vanno eseguiti da ADB shell. Prima di eseguire gli script conviene killare tutte le applicazioni aperte:mkdir /system/xbin
[Edit]adb shell
su
/system/xbin/backup.sh oppure /system/xbin/restore.sh
exit
exit
Pubblicato il nuovo script di restore, reso interattivo da pierissimo.
Il backup a breve.