Sommario:
Clark scrive,
Cosa diavolo significa odex e deodex? Vedo i termini menzionati in quasi tutti i thread ROM personalizzati e non riesco a trovare una risposta che io possa capire. Spero che Android Central possa aiutarti.
Domanda fantastica, Clark. E penso che possiamo rispondere in termini che la maggior parte della gente capirà. Come hai notato, vedi i termini odex e deodexed in molti post nei forum su ROM personalizzate o hack assortiti per telefoni e tablet entrambi. Ci vuole molto lavoro per gli sviluppatori per creare ROM deodexed da ROM "stock", come quelle offerte sia dagli OEM che da Google.
Per cominciare, dobbiamo sapere cos'è un file odex. Fa parte di un'applicazione (il file.apk) che è stata precompilata per consentire alla macchina virtuale Dalvik di caricarla più velocemente utilizzando meno risorse. Se guardi nella cartella / system / app / sul tuo telefono o tablet Android, vedrai che quasi ogni applicazione ha sia un file.apk che un file.odex. Questi file funzionano insieme attraverso la VM Dalvik per far funzionare le app come dovrebbero sui nostri dispositivi. Analizziamo tutto dopo l'interruzione.
La VM Dalvik
La VM Dalvik è una parte importante di un sistema Android. È il componente che consente l'esecuzione di applicazioni di terzi scritte in Java sul telefono o sul tablet. Il sistema stesso avvia il DVM e, quando si preme per avviare un'app, funziona. Prende i dati all'interno dei file.apk e usa un compilatore Just-in-time (JIT), costruisce le informazioni in un programma, quindi le esegue. Avere parti del codice già ottimizzate e integrate in un file che DVM può eseguire rende il processo più veloce e utilizza meno risorse. Ecco cos'è un file odex.
File Odex
I file odex che vedi nella tua cartella di sistema sono creati dalle persone che hanno scritto e creato l'applicazione stessa. Le app Android vengono scritte in Java, quindi convertite in bytecode. Quindi, vengono convertiti dai file.class standard compatibili con Java Virtual Machine in un tipo speciale di file che la VM Dalvik può leggere. Questi sono chiamati file.dex. Quando questi file.dex vengono inseriti al di fuori del resto del codice (che si trova nel file.apk), viene lasciato un file.odex autonomo.
Ci sono molte buone ragioni per avere file.odex autonomi. Consentono di accelerare i tempi di avvio (in particolare il primo avvio), costruendo la cache di Dalvik all'avvio del sistema. Inoltre risparmiano un po 'di spazio puntando al framework Android ogni volta che è possibile e consentono allo sviluppatore dell'applicazione di ottimizzare i propri programmi. Ma avere file seperate.odex non è molto adatto agli hacker.
Deodexing
Deodexing file significa prendere il file.odex stand-alone e il file.apk e ricostruirli in modo che tutte queste informazioni pre-compilate sull'applicazione siano contenute all'interno del file.apk invece del suo file. I dati predefiniti per la VM Dalvik sono ora in un file classes.dex all'interno del file.apk, come nella figura sopra. Ciò rende i file.apk un po 'più grandi e non possono essere precaricati quando il sistema viene avviato. Ma possono essere retroingegnerizzati da hacker e tematici.
Con tutto il codice e i dati per il programma in un unico posto, puoi utilizzare gli strumenti per "decomprimere" l'app e modificarla come preferisci. Ecco come vengono creati temi e modifiche come le mod percentuali di batteria per ROM "stock". Dopo che uno sviluppatore ha apportato le proprie modifiche, ricostruisce il file.apk e le modifiche possono essere eseguite. Ciò non influirà su nessun'altra parte del sistema perché nessuno dei codici o dei dati viene condiviso con altre app.
Quale dovresti scegliere?
Dipende davvero da te, e quali saranno le tue esigenze, ma ti suggerisco di mostrare una versione deodex quando possibile. Sì, le ROM odex si avviano più velocemente, ma lo noti davvero solo al primo avvio quando tutte le app di sistema sono pre-memorizzate nella cache dalla VM Dalvik. Puoi anche risparmiare un bel po 'di spazio usando i file odex, ma questo spazio è tutto nella partizione di sistema e non ti darà spazio per più app se il tuo telefono o tablet utilizza una partizione di applicazione separata. Con i moderni telefoni di oggi e i loro processori multi-core e enormi banchi di RAM, non noterai nemmeno tempi di caricamento delle applicazioni più rapidi.
Se vuoi fare cose come cambiare la barra di stato o il tema TouchWiz o Sense, avrai bisogno di una ROM deodex. Avrai anche bisogno di una ROM deodex per apportare alcune delle modifiche davvero interessanti del sistema, come la modifica del menu delle impostazioni o le modifiche al framework. In breve, se hai già sbloccato il bootloader e il root e sei pronto per una ROM personalizzata, scegliere una versione deodexed è probabilmente la scelta migliore. Rimarrai stupito dalle cose che questi pazzi sviluppatori possono escogitare e sicuramente ne incontrerai alcune che vorresti provare tu stesso.