FAQ

FAQ a cura di rock3r

Suggerimenti, idee, richieste? Scrivimi qui: http://www.google.com/moderator/#16/e=64cab

Domande


Risposte
1) Cos'è il root?
Il root è la procedura che consiste nell'ottenere i privilegi di amministratore, che nei sistemi *nix, di cui Android fa parte, si chiama appunto utente root. Tramite questa procedura è possibile accedere a funzionaliltà aggiuntive del dispositivo, disinstallare applicazioni inutili piazzate dal produttore o dal carrier telefonico, modificare in profondità Android, ed installare ROM personalizzate. 

2) Come posso fare il root del mio dispositivo?
La procedura varia molto a seconda del dispositivoAlcuni dispositivi non possono essere rootati, per vari motivi (bootloader crittato, meccanismi di sicurezza hardware/software complessi da bypassare, scarso interesse degli sviluppatori indipendenti, etc); altri ricevono il root solo dopo mesi dalla loro uscita; la stragrande maggioranza, dopo massimo qualche settimana dall'uscita ha un meccanismo di root. Ci sono due tipi di root: il soft root, che dura fino al riavvio del dispositivo, ed il permaroot, che rimane permanentemente (finché non si decide di rimuoverlo).
Alcuni prevedono complesse procedure da seguire alla lettera (che possono danneggiare il telefono se eseguite male), e richiedono una conoscenza seppur basica di alcune nozioni di informatica. Altri hanno semplici procedure one-click via computer, come ad esempio UnrEVOked per alcuni modelli di HTC. Altri ancora possono essere rootati direttamente tramite un'applicazione Android, senza bisogno di appoggiarsi ad un computer, come VISIONary o z4root. Il root fa comunque perdere la garanzia del telefono, e c'è sempre una seppur minima probabilità che qualcosa vada storto e quindi il telefono venga brickato. Come regola di buon senso, conviene sempre aspettare che un metodo di root sia ben testato prima di utilizzarlo.
In generale, tutte le istruzioni del caso si trovano cercando "NOME_DEL_DISPOSITIVO root" su Google, oppure nelle community di sviluppo e modding, le più famose delle quali sono sicuramente MoDaCo e XDA-developers.

3) E' possibile ripristinare il telefono alle condizioni di fabbrica (unroot) per la garanzia?
Certamente. Dato che il root è un processo software, è reversibile. La procedura dipende, in generale, dal produttore del dispositivo, ma consiste sostanzialmente nell'installazione di un'immagine di sistema (ROM) ufficiale nel dispositivo, che riporta tutto alla situazione iniziale. In questo modo è possibile mandare il dispositivo al produttore per le necessarie riparazioni, senza perdere la garanzia.
Nel caso dei dispositivi HTC, la procedura consiste nel recuperare un RUU (Rom Updater Utility) da Internet, ad esempio da Shipped-Roms. Un RUU è un eseguibile per Windows, utilizzato dai centri di assistenza, che sostanzialmente formatta tutta la memoria del telefono e vi installa un'immagine di sistema ufficiale. In generale i RUU contengono una specifica versione di ROM stock, l'immagine del baseband e della radio, ed il bootloader; tali versioni sono indicate nel nome del file. Un RUU che si chiama RUU_Bravo_Froyo_HTC_WWE_2.29.405.2_Radio_32.49.00.32U_5.11.05.27_release_151783_signed.exe ad esempio contiene il firmware 2.29.405.2 (con Froyo) versione "carrier-free" internazionale (non c'è il nome di un operatore né un codice nazionale, e WWE significa WorldWide English, ovvero è una ROM internazionale che comprende anche l'inglese, al contrario delle ARA che sono quelle per l'Asia) con le immagini di radio e baseband 32.49.00.32U e 5.11.05.27, per HTC Desire (il nome in codice del Desire è Bravo). I RUU comunque non richiedono il root sul dispositivo in quanto sono installer ufficiali ed il dispositivo li riconosce come tali.

4) 
Cos'è una ROM?
Una ROM è un'immagine di sistema di un dispositivo. Contiene il sistema operativo - in questo caso Android, le applicazioni e tutto quello che li accompagna (come può essere ad esempio un PDF con il manuale del dispositivo, o degli sfondi personalizzati, ...).
Le ROM stock sono le ROM fornite dal produttore del dispositivo, e sono in genere personalizzate da quest'ultimo rispetto ad Android "vanilla", ovvero la versione di Android che si ha compilando i sorgenti del sistema operativo. L'eccezione sono i telefoni "Google experience" come il Nexus One, che contengono una versione di Android pressoché non modificata (a parte eventuali modifiche al kernel o aggiunte di driver non compresi nella distribuzione open source) e che, per questo motivo, sono sempre i primi a ricevere gli aggiornamenti di Android - e non sono soggetti all'abbandono dello sviluppo da parte dei produttori, o lo sono dopo periodi più lunghi.
Le cooked ROM (ROM cucinate, in italiano) sono quelle ROM personalizzate in qualche modo da degli sviluppatori indipendenti, ed in genere realizzate usando il codice dell'AOSP (Android Open Source Project, il codice sorgente ufficiale di Android) a cui vengono integrate le modifiche apportate dai produttori dei dispositivi necessarie al funzionamento del dispositivo (driver, moduli del kernel, etc), oltre a numerose altre possibili personalizzazioni. Alcuni esempi sono la celeberrima CyanogenMod, realizzata a partire dall'AOSP e disponibile per numerosi telefoni, oppure le numerose modifiche di ROM stock a cui vengono rimosse ad esempio le interfacce personalizzate create dai produttori, o ancora delle ROM totalmente diverse da altre, come ad esempio la MIUI. E' importante notare come le cooked ROM non possano utilizzare gli aggiornamenti OTA (Over The Air) offerti dai produttori dei dispositivi, e come sia necessario avere il root nel dispositivo ed un bootloader sbloccato per poterle installare ed utilizzare. Inoltre le ROM cucinate possono avere bug anche gravi o funzioni non disponibili, soprattutto nelle fasi iniziali del loro sviluppo.

5) 
Come si installa una ROM cucinata?
Per installare una ROM cucinata bisogna avere preventivamente effettuato il root del dispositivo. Dopodiché si può utilizzare l'ottimo e gratuito Clockwork ROM Manager, che si occupa di installare una recovery custom, ed offre semplici procedure guidate per effettuare l'installazione (il flashing, più propriamente) delle ROM e di qualsiasi altro tipo di aggiornamento o mod. Questo tool, che si trova sul Market, scarica ed installa automaticamente la ClockworkMod Recovery, un'ottima recovery custom che offre numerosissime opzioni, tra cui backup/restore nandroid, wipe eccetera, e che è integrata con il ROM Manager. In questo modo il telefono si occuperà autonomamente di effettuare tutte le operazioni necessarie, senza richiedere l'intervento dell'utente.
In ogni caso, installando una ROM personalizzata è bene effettuare il wipe del dispositivo, altrimenti potrebbero presentarsi diversi problemi; in tal caso, è buona cosa usare qualche applicazione come Titanium Backup o MyBackup Pro per effettuare un backup dei dati e delle applicazioni e poterli ripristinare automaticamente dopo l'installazione della nuova ROM. Inoltre è sempre buona norma fare un backup nandroid da poter ripristinare in caso qualcosa andasse storto o la nuova ROM avesse problemi.

6) Cosa vuol dire bricking?
Il brick di un dispositivo è il renderlo inutilizzabile per qualche errore nel seguire qualche procedura delicata o perché semplicemente qualcosa è andato storto. A quel punto il dispositivo diventa un costoso mattoncino (da cui il termine "brick"), buono al più per fare da fermacarte.
A questo punto è necessaria una precisazione: solo pochi tipi di brick sono definitivi. Ad esempio, se l'installazione di una ROM di interrompe o comunque non va per il verso giusto, il dispositivo entrerà in boot-loop (ovvero mostrerà lo splash screen e poi si riavvierà da solo, senza mai arrivare a completare l'avvio). Se però, come consigliato al punto 5, avete fatto un backup nandroid prima di installare la nuova ROM o la mod/aggiornamento che ha provocato il problema, basterà riavviare in recovery il dispositivo e ripristinare il backup funzionante. In caso il dispositivo non si accendesse nemmeno più, potete fare la faccia come il culo e mandarlo in garanzia (se è ancora in garanzia), tanto ridotto com'è nemmeno i produttori sapranno rimetterlo in sesto né accenderlo, e al 99% ve ne daranno uno nuovo.

7) Cos'è la recovery?
La recovery è una modalità di ripristino dei dispositivi, da utilizzare per installare aggiornamenti eccetera. La recovery predefinita offre poche opzioni e non permette di flashare nulla che non abbia la firma digitale del produttore del dispositivo.
Ci sono diverse recovery custom, le più famose delle quali sono la ClockworkMod Recovery e la AmonRA Recovery. Queste recovery permettono di fare diverse operazioni estremamente utili, come backup/restore nandroid e wipe della memoria interna. Ce n'è una versione specifica per ogni dispositivo, come per le ROM. Ogni dispositivo ha un modo preciso per accedere alla recovery, ad esempio per l'HTC Desire bisogna accendere il telefono tenendo premuto il tasto volume giù; in questo modo si attiva la modalità bootloader, da cui si può scegliere la voce "Recovery" per avviare la recovery.
Ci sono diversi modi di avviare ed installare una recovery. Il più semplice, valido per la sola ClockworkMod Recovery, è far fare tutto a Rom Manager (gratis nel Market). In alternativa si può copiare manualmente lo zip di avvio nella memoria esterna, avviare in recovery e da lì, utilizzando l'opzione "Apply update.zip" della recovery predefinita, avviare la recovery custom. Ancora, si può utilizzare un computer ed alcuni comandi da shell tramite adb.

8) Cos'è nandroid? Come si usa?
Nandroid è uno script presente in moltissime recovery custom che consente di effettuare backup e restore dell'intero sistema. E' utile soprattutto perché, prima di installare mod o aggiornamenti o nuove ROM, è buona norma precauzionale effettuarne un backup, e nandroid è lo strumento ideale per farlo.
Per usarlo, si può accedere ad una recovery custom ed usarne i menu, oppure utilizzare ROM Manager (free nel market) che permette di effettuare automaticamente un backup prima di installare una ROM o un update, ed ha delle comode funzioni di gestione dei backup presenti nella memoria esterna.

9) Cos'è il wipe?
Il wipe è la procedura di eliminazione dei dati e delle applicazioni che non fanno strettamente parte della ROM dalla memoria interna del dispositivo. Quando si effettua un ripristino delle impostazioni di fabbrica del dispositivo dal menu Impostazioni, si sta di fatto effettuando un tipo di wipe. Ci sono anche altri tipi di wipe, ad esempio quello delle statistiche sulla batteria, utile nel caso in cui il dispositivo segnali erronei stati di carica (ad es. appena scollegato dal caricabatterie scende subito a 90%).

10) Cos'è ADB?
ADB (Android Debug Bridge) è un componente dell'Android SDK che permette di eseguire numerosissime operazioni su un dispositivo usando un computer. Esso consente, fra le altre cose, di copiare dati da/al dispositivo, installarvi/disinstallarvi applicazioni, effettuarne il debug, o aprire una shell di comandi del dispositivo sul computer. Gran parte dei programmi per computer atti ad interagire con un dispositivo Android si appoggiano ad ADB (ed eventualmente ad altri moduli, come busybox).


11) Cos'è A2SD/A2SD+?
A2SD (Apps To SD) è una modifica di Android che permette di spostare dalla memoria interna ad una partizione apposita della scheda di memoria esterna le applicazioni (e, nel caso dell'A2SD+, anche la cache Dalvik, ovvero parti di codice delle applicazioni estratte dagli apk ed ottimizzate per l'esecuzione rapida). In questo modo è possibile evitare problemi dovuti alla ridotta quantità di memoria interna in molti dispositivi, dal momento che essa viene liberata di parte dei suoi contenuti. Inoltre, dato che la velocità del terminale dipende anche dal quantitativo di memoria interna disponibile, questo velocizza il sistema stesso (a patto che la scheda di memoria sia sufficientemente veloce, ad esempio almeno Classe 4).
Queste modifiche, che richiedono il root per essere applicate, sono molto diverse dall'"A2SD" di Froyo, nel senso che questa funzione di Froyo non richiede il root e permette di installare le applicazioni - e solo in parte, ovvero solo gli apk, non la cache ed i dati, per le quali questa funzionalità è esplicitamente abilitata, nella partizione FAT32 della memoria esterna (quella che viene normalmente considerata la memoria esterna, e che in caso la scheda SD non sia stata partizionata altrimenti corrisponde all'interezza della memoria della SD). Nell'"A2SD" di Froyo gli apk vengono memorizzati in una cartella crittata ed accessibile solo dal telefono che l'ha creata, in modo da evitare la pirateria delle applicazioni ivi contenute (in teoria, visto che comunque è accessibile dal dispositivo stesso, ma evita che passando la SD si passino le app). Vi sono comunque dei metodi, per chi ha il root, per forzare lo spostamento di applicazioni sulla SD anche se non lo consentirebbero; questo però può avere effetti avversi, ad esempio i widget non funzioneranno, e le applicazioni non saranno disponibili se si collega il dispositivo come unità disco ad un computer.
L'A2SD/A2SD+ al contrario richiede il root ed una scheda SD partizionata nel seguente modo: una prima partizione FAT32 a prendere tutto lo spazio libero lasciato dalle altre partizioni, che rappresenterà la "memoria esterna", una partizione Ext2/Ext3 (file system nativo di Linux, Ext3 è preferibile) che tipicamente occuperà dai 512 MB ai 2 GB e conterrà le applicazioni, ed eventualmente una partizione di swap, che può anche non essere presente ed anzi è inutile. Per formattare la SD si può usare ROM Manager, che però permette di creare partizioni Ext2/Ext3 di massimo 512 MB, oppure altri tool come GParted (presente in Ubuntu).
A2SD/A2SD+ fa credere al sistema che gli apk (e la cache Dalvik, nel caso dell'A2SD+) si trovino ancora nella memoria interna del dispositivo, quindi permette di evitare le restrizioni dell'A2SD di Froyo. In sostanza quello che fa è spostare il contenuto delle cartelle /data/app e /data/app-private (ed anche /data/dalvik-cache nel caso dell'A2SD+) nella cartella /sd-ext, mappata sulla partizione Ext2/Ext3 della SD, in modo del tutto trasparente al sistema.


12) Cos'è DATA2SD?
Così come l'A2SD/A2SD+ sposta in modo trasparente le applicazioni in una partizione Ext della SD, DATA2SD permette di spostare l'intero contenuto di /data dalla memoria interna a questa partizione. In questo modo è possibile aumentare la memoria interna percepita dal sistema fino a 2 GB (è sconsigliato in genere usare partizioni più grandi di 2GB, comunque sovrabbondanti rispetto a qualunque attuale necessità). Ovviamente sono fattori critici il supporto a certe caratteristiche da parte del kernel installato nel dispositivo (cosa da verificare di caso in caso), il possesso dei privilegi di root e di una scheda SD partizionata in modo adeguato - come per l'A2SD, e che la SD sia il più veloce possibile, per non essere un collo di bottiglia per il sistema. Inoltre è fortemente sconsigliato utilizzare DATA2SD in congiunzione con l'A2SD (non quello di Froyo ovviamente) perché possono crearsi dei conflitti.