Come velocizzare la vostra Custom ROM ed ottimizzare Android!
Avete installato una delle migliori Custom ROM sul vostro dispositivo? Bene, oggi vi insegneremo un trucchetto per ottimizzare qualsiasi ROM, senza andare a toccare parametri sensibili come in overclocking o compressioni della RAM, e rendere il vostro smartphone più veloce, stabile e performante!
Cosa intendiamo per ottimizzare? Aumentare la velocità della ROM, migliorarne la stabilità, incrementare la durata della batteria, ridurre l’impatto sulla RAM e sbarazzarsi dei fastidiosi rallentamenti spesso riscontrati nell’apertura delle app di sistema. Volete sapere come? Continuate a leggere!
ATTENZIONE: la procedura che andrò ad illustrarvi non è rischiosa, ma, come ormai saprete, non esiste mai una sicurezza al 100% quando si va ad intervenire sul sistema. Per questo motivo vi consiglio di effettuare un NANDroid backup prima di procedere.
Come si rende più veloce una custom ROM?
Grazie ad un semplice, ma incredibile strumento creato dallo sviluppatore italiano MatrixDJ96, è possibile rendere ODEXED le app di sistema e l’intero framework con pochi passaggi. Siete più confusi di prima? Nessun problema, facciamo un breve riepilogo.
Dovete sapere che, normalmente (in tutte le ROM stock e in pochissime Custom ROM), parte del codice delle app e del sistema viene precaricato in file ODEX. Questo ottimizza la gestione della memoria, in quanto non c’è bisogno di caricare l’intero codice, ma solo una porzione di esso.
Allo stesso tempo però, questa procedura rende molto più difficile la modifica da parte degli sviluppatori. È proprio per questo motivo che la stragrande maggioranza delle Custom ROM sono DEODEXED. Il tool di MatrixDJ96 interviene qui, riODEXando (passatemi il termine) la vostra Custom ROM e rendendola più scattante!
Materiale necessario
Prima di mettervi al lavoro verificate di avere ottenuto i permessi di root e di aver scaricato il giusto file da flashare:
- Permessi di root: per ovvi motivi.
- Odexer Tool: un file zip da flashare sul telefono che contiene gli script necessari al procedimento. Scaricate il file adatto all’ABI del vostro processore, come spiegato nel punto 1 della procedura. Se per qualche ragione il link non dovesse andare, usate i seguenti:
- Odexer Tool per ABI armeabi.
- Odexer Tool per ABI mips.
- Odexer Tool per ABI x86.
- Per ODEXare il framework: vi occorre almeno il 16% di spazio libero nella cartella system.
- Per ODEXare le app di sistema: vi occorre almeno il 26% di spazio libero nella cartella system.
- Gestore file con permessi di root: per controllare l’ABI del processore. Va bene uno qualsiasi, ma tra i tanti reputo ES Gestore File il migliore.
NB: la percentuale di spazio libero è relativa alla sola partizione di sistema e non ha nulla a che fare con la memoria interna del telefono (mostrata ad esempio dai widget o nelle impostazioni). Esistono diversi metodi per vedere quanto spazio rimane all'interno di system, uno di questi è tramite l’app Partition Table:
Una volta aperta l'app, vi basterà toccare in alto a sinistra e selezionare Mounts. La partizione system non è già in elenco, ma potrete aggiungerla grazie al pulsante in alto a destra, scrivendo “/system” e infine selezionando Add. Fate i dovuti calcoli in base a cosa volete ODEXare e, nel caso, liberate spazio disinstallando bloatware (quelle app di sistema che non usate mai o quasi) o eliminando ad esempio alcune suonerie di sistema (all'interno di “/system/media/audio”).
Procedura
Ecco la procedura da seguire per poter finalmente mettere il turbo alla vostra Custom ROM migliorando le prestazioni generali del vostro dispositivo:
- Scaricate la versione di Odexer Tool adatta all’ABI del vostro processore. La grande maggioranza è armeabi, ma controllate leggendo la riga “ro.product.cpu.abi=” del file build.prop contenuto in /system. L’operazione è possibile con un qualsiasi gestore file con permessi di root; con ES Gestore File basta premere in alto a sinistra della x, selezionare /Dispositivo e trovare la cartella system.
- Copiate il file sul dispositivo.
- Riavviate in Recovery (tutto sulla Recovery Mode) e selezionate “install zip …”, scegliendo il file appena copiato. Riavviate il dispositivo.
- Aprite l’app Emulatore terminale e scrivete “su” e poi invio per ottenere i permessi di root in quell’applicazione (premete poi “consenti” nella finestra d’avviso).
- Adesso potrete eseguire gli script contenuti nell’Odexer Tool, scrivendo “odex” e poi invio.
Script
Odexer Tool contiene diversi script che potrete eseguire tramite Emulatore terminale, una volta scritto “odex” e invio. Vi basterà scrivere uno script della seguente lista e premere invio per avviare il processo ODEX desiderato:
- “frame”: ODEXerà solo il framework.
- “sysapp”: ODEXerà solo le app di sistema.
- “all”: ODEXerà sia il framework, sia le app di sistema.
- “set 1”: abilita o disabilita la rimozione del classes.dex e lo zipalign. Non toccate se non sapete a cosa serve!
Durante il processo, potrebbero comparire avvisi di chiusura forzata di alcune app di sistema. Non preoccupatevi e chiudete gli avvisi, tutto si risolverà riavviando il dispositivo alla fine della procedura. La prima volta che riavvierete il vostro dispositivo, comparirà la finestra “Upgrade di Android”. È normale, semplicemente Android sta ricostruendo la dalvik-cache.
Noterete immediatamente un aumento di fluidità della vostra ROM e nella velocità di apertura delle app di sistema.
Cosa ne pensate di Odexer Tool? Se avete dubbi o problemi, non esitate a commentare!
OK, interessante argomento, davvero, ma mi pare che lo script linkato risalga a molti secoli or sono. Direi che sia il caso di fare un po' di chiarezza sul funzionamento di detti script, o di eventuali loro versioni aggiornate, in caso di Nougat ROMs
Ciao,
ho provato a seguire i passi ma l'Odexer non ha funzionato.
Queste tutte le info e la procedura seguita.
Ho un S3 GT-I9300 con CynaogenMod 13.0-20160419-NIGHTLY-i9300 (Android 6.0.1)
Ho la BusyBox installata ed ho attivato il terminale (seguendo una tua guida ;-) )
Ho verificato ro.product.cpu.abi=armeabi-v7a ed ho scaricato l'odexer tool v.1.8 BETA ARMEABI
Con la ClockworldMOD ho flashato il .zip dell'Odexer (situato nella cartella Download)
Ho attivato il terminale, fatto "su" e da root ho lanciato l'Odexer che mi scrive:
[...]
Runtime selected:
Remove classes.dex: Disabled
Your rom can't be odexed..
File preloaded-classes not fount!
Please fix your framework before.
Ho per caso saltato qualche passaggio?
Se anche riuscissi a "odexare" la mia ROM, potrei comunque aggiornare la nightly o dovrei "riodexare" tutto?
Grazie
Salve, hoeseguito tutti i passaggi, ma nel terminale mi dice alle ultime due righe:
File preloded-classes not found
Please fix you framework befor
vorrei capire come fare, ringrazio in anticipo
p.s.Ho un Galaxy Nexus con Cyanogeanmod 12.1 e android 5.1.1
Vorrei capire cosa accade a rom come CyanogenMod versione nightly, aggiornata quasi giornalmente.....Devo ripetere la procedura ogni volta che aggiorno?
Esiste un modo per farlo anche su lollipop? Perche quando ho fatto il comando odex mi ha detto così
Product model: GT-I9300
Android version: 5.0.2(LolliPop)
Sorry but LolliPop isn't supported
Spero che tu abbia una risposta
ciao, ho provato ad eseguire questa procedura, solo che quando apro l'app del terminale e digito "su" mi esce il messaggio "su: uid 10080 not allowed to su", ho un galaxy s3 con lollipop 5.1 omnirom, hai idea di come risolvere? grazie
L'idea c'è l'ho in effetti, speriamo che funzioni :)
Prova a scaricare dal Play Store l'app Busybox Installer, aprila e segui la procedura per installare Busybox sul tuo dispositivo. In poche parole, Busybox si tratta di una serie di comandi di sistema che sono di supporto a tutte le app che hanno a che fare con il root. "su" è, infatti, uno di questi comandi ed in particolare serve a "loggare" con i permessi di root nella console/terminale.
Purtroppo, eliminando l'eliminabile in System, non arrivo oltre il 23%, per cui devo rinunciare a provare il tool.
..Certo che se Google facesse le cose per benino, i weekend non li passeremmo tutti a ODEXARE e DEODEXARE le custom ROM laggose ;-)
Sarebbe possibile eliminare l'odexer senza dover riflashare la ROM? Grazie in anticipo :)
Ciao, volevo sapere...cos'è l'ABI di un processore? come faccio a scoprire quello del mio processore? Grazie :).
Edit: come non detto ahahha ora ho trovato la parte in cui lo spieghi
Ciao, mi è piaciuto molto questo articolo, ma quali sono i giovamenti se ho potuto solo "Odexare" il framework? Non sono riuscito a liberare abbastanza spazio in system...
Vi ringrazio anticipatamente.
Ok grazie!
Ciao, guida molto utile e completa, ma volevo chiederti se le CyanogenMod scaricate dal sito ufficiale sono Odexed o DeOdexed, ho paura di fare qualcosa di sbagliato in caso la mia sia CM 10.2 stable sia già Odexed... in quanto allo spazio sulla cartella /system, hai voglia, ne ha utilizzato solo il 35% xD
Grazie! Tranquillo, sono tutte deodexed! ;)
è andato tutto a meraviglia sul mio HTC droid DNA con ROM cyanogenmod adesso va velocissimo. Grazie
Grazie a te per il feedback ;)
;) male, sarebbe stato meglio metterlo nella procedura dato che per il flashing ... bene o male lo abbiamo gia' fatto tutti e la prefazione ... è solo la prefazione, cmq capito! grazie
scusate se ho postato 2 volte il logo del terminale ma ovviamente il telefono non funziona bene. prima di arrivare a questo punto ho provato Set 1 riavviato (peggio si n prima) ho rifatto la procedura è x il Framework dava odexed x le applicazioni partial odeex . ho fatto nuovamente "all" e mi ha generato uno script da flashare, fatto sono a questo punto con tutto odexed ... non mi costa nulla riflashare un rom ma vorrei capire ... cosa non è andato a buon fine. grazie
Grazie mille per aver postato tutto il codice!
Da quello che leggo mi sorge un dubbio: prima di ripetere la procedura di questo articolo, hai fatto il dirty flashing (ri-flashare la tua rom senza fare "wipe data", ma solo "wipe cache" e "wipe dalvik cache")?
EDIT:
Per non farti perdere ulteriore tempo, ripeto tutti i passaggi da fare per risolvere il problema:
1) Recuperare il file .zip dell'esatta ROM che hai al momento sul tuo dispositivo (stesso produttore, stessa versione... identica ;) )
2) Entra in Recovery Mode.
3) Fai SOLO "wipe cache" e "wipe dalvik" cache (in questo modo non perderai alcun dato personale, app, impostazioni, etc.).
4) Flasha lo zip della ROM. Riavvia il tuo dispositivo.
5) In questo momento hai cancellato ogni modifica effettuata con Odexer Tool! Ora non ti resta che ripetere i cinque punti della procedura dell'articolo.
6) Adesso, anziché avviare un processo ODEX (“frame”, “sysapp”, "all”), scrivi "set 1" e invio per attivare "Remove classes.dex & zipalign" (comparirà enabled).
7) Una volta attivato il "Remove classes.dex & zipalign", scrivi "all" (o un'altro comando) e premi invio.
FINE ;)
ok grazie, anche se nella procedura non mi sembra che sia specificato che vada "wippata" la dalvik e la cache" cmq questo week provo un altra rom ( mi piace smanettarci ) e magari a questo punto flassho (se si puo' scrivere) direttamente lo zip odex in partenza ed eseguo lo script subito ;)
ciao grazie
Non era specificato perché faceva parte dei passaggi per il "dirty flashing", ovvero la procedura per rimuovere completamente Odexer Tool ed ogni sua modifica (che ti dava problemi) senza dover resettare il telefono.
Fai bene comunque ;) Anche io cambio spesso ROM! Ah, ricordati di controllare lo spazio libero nella partizione system prima di avviare lo script nelle altre ROM!
ciao ... mi ero ripromesso di riprovare. .. e a parte che "set 1" non me lo prendeva .. ora con "all" è una scheggia!
cyanogenmod 11 m10
unica domanda .... ho notato che la procedura "odexa" (passami il neologismo) le varie app ... OK...ma x nuove installazioni è già il framework che ci pensa? o ogni tanto è meglio rifare la procedura di odex?
Bene, sono contento che ci sei riuscito!
No, la procedura odexa solo le app di sistema (quindi app come messaggi, email, lettore e tutte le altre app preinstallate). Quindi le app che hai scaricato tu e che scaricherai in futuro non verranno toccate, tuttavia la fluidità della ROM è dovuta in gran parte all'odexamento del firmware, quindi non ti perdi nulla ;)
Product model: GT-I9300
Android version: 4.3 (Jelly Bean)
Framework is: Odexed
System apps are: Odexed
System free space: 281 Mb
Remove classes.dex & zipalign: Enabled
Available command:
Change settings => set
Exit from the script => exit
=> all
Useless command for your Rom...
Do you want to proceed anyway? (Y/N) n
u0_a118@m0:/ $ su
root@m0:/ # odex
Odexer Script 1.2
For All Rom & Device
Go to my webpage on xda to see more info
http://forum.xda-developers.com/showthread.php?t=2527268
MatrixDJ96 - XDA Senior Member
Product model: GT-I9300
Android version: 4.3 (Jelly Bean)
Framework is: Odexed
System apps are: Odexed
System free space: 281 Mb
Remove classes.dex & zipalign: Enabled
Available command:
Change settings => set
Exit from the script => exit
=> all
Useless command for your Rom...
Do you want to proceed anyway? (Y/N) n
ok grazie ho fatto tutto ma ... ora ogni volta che riavvio la dalvik viene riaggiormata sempre con il conto delle applicazioni da 0 a 282 ... (è normale o mi sono perso qualche passaggio)
Non è normale, dovrebbe farlo solo al primo riavvio! Comunque tranquillo, si può risolvere:
1) Segui le stesse indicazioni che ho dato nel commento precedente per rimuovere tutte le modifiche.
2) Ora che hai la ROM "come prima", ripeti tutta la procedura dell'articolo, ma questa volta, dopo aver scritto "odex" e premuto invio (punto 5 della procedura), devi scrivere anche "set 1" per abilitare l'opzione "Remove classes.dex & zipalign". Controlla sull'emulatore che questa opzione sia "enabled" e poi procedi con un opzione di ODEX (“frame”, “sysapp”, "all”).
Salve, ho seguito la procedura usando Odexer ARMEABI e le app vanno in crash anche dopo il primo riavvio. Idem per la ricostruzione della Dalvik. Inoltre non riesco più ad effettuare le telefonate. E' possibile annullare la procedura senza resettare il sistema ?
Mi dispiace! Hai controllato che l'ABI del tuo processore fosse armeabi e seguito tutte le indicazioni alla lettera?
Hai effettuato un NANDroid backup come ho consigliato ad inizio articolo? Se sì, ti basta rientrare nella Recovery e ripristinare il backup per tornare al momento esatto in cui lo hai effettuato.
In caso contrario puoi comunque annullare tutto con un Dirty Flashing della tua Custom ROM, senza alcun reset: in parole povere, scarica l'esatta versione della ROM che hai attualmente sul tuo dispositivo e flashala dalla Recovery, SENZA fare il "Wipe Data/Factory Reset", ma solo "wipe cache" e "wipe dalvik cache".
una delucidazione per i non addetti ai lavori, la differenza tra i metodi di "velocizzazione" della rom con cui si va ad interagire? e se "per qualsiasi rom" intendi che cmq non da problemi ...anzi sarebbe bene, grazie
“frame”: ODEXerà solo il framework.
“sysapp”: ODEXerà solo le app di sistema.
Certo! Allora...
Con "qualsiasi ROM" intendo che il tool è versatile al 100%; sia con CyanogenMod, sia con Omni ROM e via dicendo. Anche con ROM stock precedentemente DEODEXate... L'importante è che questo tool venga quindi usato su ROM DEODEXED (per ovvi motivi).
Tutti i miglioramenti che ho specificato, derivano dall'uso di questi file ODEX che vengono creati durante il processo. Se quindi si esegue solo sul firmware ("frame") non vedremo benefici nelle app di sistema e viceversa ("sysapp"). Per il massimo risultato consiglio di ODEXare entambi ("all").
articolo cool ma ... il link x ottenere il tool non va ... o meglio: ti porta alla pagina del download, ma poi nothing!
Ahah grazie! Ho provato personalmente Odexer Tool per armeabi e funzionava! Prova a scaricarlo di nuovo ;)
NB: ho provato a scaricare anche le altre due versioni e non ho avuto problemi.
EDIT: ho riprovato questa sera sul PC e mi ha dato l'errore "403. We're sorry, but you do not have access to this page", nonostante ieri sera (e oggi pomeriggio dal telefono) funzionasse tutto perfettamente. Questi sono gli unici link disponibili, se la situazione non cambia nuovamente, provvederò a contattare lo sviluppatore.
Scusate per il disguido!
Buon giorno, adesso sembra andare, io ne approfitterei :)
Grazie della segnalazione!
In ogni caso ho aggiunto dei link supplementari nel caso in cui non dovesse funzionare nuovamente.