Obsah:
Clark píše,
Čo to sakra vlastne znamená odex a deodex? Výrazy uvedené takmer v každom vlákne ROM vidím a nedokážem nájsť odpoveď, ktorej rozumiem. Dúfam, že služba Android Central môže pomôcť.
Úžasná otázka, Clarku. A myslím si, že na to môžeme odpovedať tak, že väčšina ľudí bude rozumieť. Ako ste si už všimli, na mnohých fórach vidíte výrazy odex a deodexované o vlastných ROMoch alebo rôznych hackoch pre telefóny aj tablety. Vývojári potrebujú veľa práce na vytvorení deodexovaných ROM z „akciových“ ROM, ako sú tie, ktoré ponúkajú OEM aj spoločnosti Google.
Na začiatok potrebujeme vedieť, čo je súbor odex. Je to súčasť aplikácie (súbor.apk), ktorá bola predinštalovaná na rýchlejšie načítanie Dalvik Virtual Machine s použitím menších zdrojov. Ak sa pozriete do priečinka / system / app / na telefóne alebo tablete s Androidom, uvidíte, že takmer každá aplikácia má súbor.apk aj.odex. Tieto súbory spolupracujú prostredníctvom nástroja Dalvik VM, aby mohli aplikácie bežať tak, ako by mali na našich zariadeniach. Po prestávke to všetko prelomíme.
Dalvik VM
Dalvik VM je veľká časť systému Android. Je to komponent, ktorý umožňuje spustenie aplikácií tretích strán napísaných v jazyku Java v telefóne alebo tablete. Samotný systém spustí modul DVM a keď stlačíte, čím spustíte aplikáciu, bude fungovať. Prevezme údaje do súborov.apk a pomocou kompilátora Just-in-time (JIT) vytvorí informácie do programu a potom ich spustí. Ak už sú časti kódu optimalizované a zabudované do súboru, ktorý môže spustiť DVM, proces je rýchlejší a spotrebuje menej zdrojov. To je súbor odexu.
Súbory Odex
Súbory odexu, ktoré vidíte v systémovom priečinku, vytvárajú ľudia, ktorí napísali a vytvorili samotnú aplikáciu. Aplikácie pre Android sú napísané v jazyku Java a potom prevedené na bajtkód. Potom sa konvertujú zo štandardných súborov.class kompatibilných s Java Virtual Machine do špeciálneho typu súboru, ktorý dokáže Dalvik VM prečítať. Tieto súbory sa nazývajú.dex. Ak sú tieto súbory.dex umiestnené mimo zvyšku kódu (ktorý je v súbore.apk), zostane vám samostatný súbor.odex.
Existuje veľa dobrých dôvodov, aby ste mali samostatné súbory.odex. Zrýchľujú zavádzacie časy (najmä prvé zavádzanie) tým, že pri zavádzaní systému budujú Dalvik-cache. Tiež ušetria miesto tým, že poukazujú na rámec Android, kedykoľvek je to možné, a umožňujú vývojárom aplikácií optimalizovať svoje programy. Ale mať seperate.odex súbory nie sú príliš hackerské.
Deodexing
Deodexingové súbory znamenajú prevzatie samostatného súboru.odex a.apk a ich opätovné zostavenie tak, aby všetky tieto preddefinované informácie o aplikácii boli obsiahnuté v súbore.apk namiesto jeho vlastného súboru. Vopred zostavené údaje pre Dalvik VM sa teraz nachádzajú v súbore Class.dex vo vnútri súboru.apk, ako na obrázku vyššie. Vďaka tomu sú súbory.apk o niečo väčšie a pri spustení systému ich nemožno vopred načítať. Hackeri a hackeri ich však môžu spätne navrhnúť.
So všetkými kódmi a údajmi programu na jednom mieste môžete použiť nástroje na „odbudovanie“ aplikácie a jej úpravu, akokoľvek sa vám páči. Takto sa vytvárajú motívy a vyladenia, ako sú napríklad percentuálne úpravy stavu batérie pre „zásobné“ ROM. Keď vývojár vykoná svoje zmeny, znova zostaví súbor.apk a zmeny sa môžu spustiť. Toto nebude mať vplyv na žiadnu inú časť systému, pretože žiadny z kódu alebo údajov nie je zdieľaný s inými aplikáciami.
Ktoré by ste si mali zvoliť?
To je naozaj na vás a aké budú vaše potreby, ale navrhujem, aby ste vždy, keď je to možné, blikali verziu deodexu. Áno, odex ROM sa spúšťajú rýchlejšie, ale naozaj si to všimnete pri prvom zavedení systému, keď sú všetky systémové aplikácie uložené v mezipamäte pomocou Dalvik VM. Môžete tiež ušetriť veľa miesta použitím súborov odex, ale tento priestor je celý v systémovom oddiele a nedá vám priestor pre ďalšie aplikácie, ak váš telefón alebo tablet používa samostatný oddiel aplikácií. S dnešnými modernými telefónmi a ich viacjadrovými procesormi a obrovskými bankami RAM si ani nevšimnete rýchlejšie načítanie aplikácií.
Ak chcete robiť zmeny ako stavový riadok alebo motív TouchWiz alebo Sense, budete potrebovať deodex ROM. Budete tiež potrebovať deodex ROM, aby ste vykonali niektoré z skutočne skvelých vylepšení systému, ako je zmena ponuky nastavení alebo úpravy rámca. Stručne povedané, ak ste už odomkli bootloader a zakorenili ste a ste pripravení na vlastnú ROM, výber deodexovanej verzie je pravdepodobne najlepšou voľbou. Budete sa diviť, čo títo blázniví vývojári dokážu prísť, a určite sa dostanete do niekoľkých, ktoré chcete vyskúšať sami.