mercoledì 31 dicembre 2014

Titanium Backup Pro e l'errore "Spazio di archiviazione insufficiente"

Titanium Backup è un'app per dispositivi android estremamente potente, che consente di effettuare un backup dei nostri device sia per le singole applicazioni che l'intera ROM. Personalmente la uso per fare regolari backup delle app e relativi dati, in modo tale da poterle ripristinare in caso di reset o aggiornamento dello smartphone/tablet.

Courtesy of Lifehacker

Il vantaggio di non reinstallare ex novo le applicazioni una per una ma di recuperarle con Titanium Backup è enorme: risparmio di tempo e soprattutto dei dati utente delle stesse app. Anche di quelle che magari avete ottenuto gratuitamente in versione full grazie a Appgratis o App of the day, ma che se doveste reinstallarle perdereste definitivamente.

Ma il requisito fondamentale per l'utilizzo di TB è aver effettuato il root del dispositivo, una operazione che da un lato sblocca molte funzionalità, dall'altro può invalidare la garanzia dello smartphone o del tablet. Pur essendo una operazione estremamente semplice da effettuare -basta cercare sul web la procedura per i device in vostro possesso- non mi assumo alcuna responsabilità nel caso decidiate di provarci.

Se volete capire meglio quali sono alcune delle potenzialità di Titanium Backup, vi consiglio di guardare questo breve video che spiega in che modo effettuare e ripristinare i backup delle applicazioni. Nel video viene illustrata la funzione per il backup delle sole app, ma la vera potenza di TB sta nel fatto che può -come affermavo prima- effettuare il backup anche dei dati delle app stesse. Ma TB può fare molto, ma molto di più...



Ora passo alla questione che vorrei affrontare in questo breve post. Quando il numero delle app diventa elevato, il loro backup e relativi dati diventa davvero enorme -nel mio caso raggiunge più di 5 GB- e conviene effettuarlo nella scheda SD esterna,

Purtroppo, dalla versione di android Kitkat 4.4 per motivi di sicurezza la scrittura da parte di applicazioni non di sistema sulla scheda SD esterna è inibita. Se pertanto proveremo a effettuare con TB il backup su di essa, comparirà lo scoraggiante messaggio di errore "Spazio di archiviazione insufficiente".

Per ovviare a questo limite, è necessario modificare un file di sistema per abilitare la scrittura della SD esterna. Vi propongo qui appresso due procedure, una per smanettoni che vogliono sporcarsi le mani -e se avete effettuato il root dovreste esserlo *by default*- un'altra per chi invece ama la vita comoda e vuol correre pochi rischi.

La versione per smanettoni

Si tratta di modificare con un file explorer con diritti root (io ad es. uso Solid Explorer) il seguente file:
/system/etc/permissions/platform.xml
aggiungendo questa stringa
<group gid="sdcard_rw" />
alle seguenti sezioni del suddetto file
<permission name="android.permission.WRITE_EXTERNAL_STORAGE" >
    <group gid="sdcard_r" />
    <group gid="sdcard_rw" />
    <group gid="media_rw" />
</permission>
<permission name="android.permission.WRITE_MEDIA_STORAGE" >
    <group gid="sdcard_rw" />
    <group gid="media_rw" />
</permission>
A questo punto riavviare il device e il gioco è fatto: niente più errori di scrittura sulla SD esterna con Titanium Backup né altre applicazioni.

La versione per chi non ama il rischio

There's an app for that... si tratta di SDFix, un'applicazione che una volta installata ed eseguita non fa altro che effettuare le modifiche illustrate sopra in maniera automatica, creando anche una copia di backup del file platform.xml

Goodies

Se volete approfondire l'uso e le potenzialità di TB, vi consiglio questa guida e quest'altra molto complete in inglese e questa qui un po' più sintetica ma comunque efficace in italiano.

Bene, a questo punto non mi resta che augurarvi un 2015 *totally geek*