Jako nováček v systému Android mě nejvíce trápilopřekonávání terminologie za mým porozuměním. Nepocházející z linuxového prostředí bylo obtížné držet krok s tak často používanými slovy rozšířenými po celé vývojové komunitě. Stejně tak, protože jsem nerozuměl těmto podmínkám, nemohl jsem tedy určit, že pro mě něco bylo nebo nebylo užitečné. Z toho, co jsem viděl, se tento problém týká mnoha nováčků i průměrných uživatelů.
Jedno běžně se vyskytující slovo při hranívlastní ROMy a firmware a dokonce i témata jsou deodexována a odexedována. Většina uživatelů nechápe, co tyto pojmy ve skutečnosti znamenají, a zatímco vývojáři by se mohli znovu a znovu chlubit deodexováním jejich témat a ROMů, průměrný uživatel je bezradný, co se děje.
V tomto článku se pokusíme vysvětlit, co znamená odexed a deodexed a jaké důsledky to pro běžného uživatele přináší.
CO JE SOUBOR ODEX?
V systému souborů Android přicházejí aplikacebalíčky s příponou .apk. Tyto aplikační balíčky nebo soubory APK obsahují určité soubory .odex, jejichž předpokládanou funkcí je úspora místa. Tyto „odexové“ soubory jsou ve skutečnosti kolekce částí aplikace, které jsou optimalizovány před zavedením systému. To urychlí proces spouštění, protože předběžně načte část aplikace. Na druhé straně to také ztěžuje hackování těchto aplikací, protože část kódování již byla před spuštěním extrahována na jiné místo.
Poté přichází DEODEX
Deodexing v zásadě přebaluje tyto soubory APK určitým způsobem, takže jsou znovu sestaveny do classes.dex soubory. Tímto způsobem jsou všechny kusy aplikačního balíčku sestaveny zpět na jednom místě, čímž se eliminuje starosti s modifikovaným APK, který by byl v konfliktu s některými samostatnými odexedovanými částmi.
Stručně řečeno, Deodexed ROM (nebo APK) mají všechnyjejich aplikační balíčky se skládají zpět na jednom místě, což umožňuje snadnou úpravu, jako je tematizace. Protože z jakéhokoli externího umístění nepřicházejí žádné kódy, vlastní ROMy nebo APK jsou vždy deodexovány, aby byla zajištěna integrita.
JAK TENTO PRÁCE
Pro více podivínské mezi námi používá operační systém Android virtuální stroj založený na Java pro spouštění aplikací, zvaný Dalvik Virtual Machine. Deodexed, nebo .dex soubor obsahuje mezipaměť používanou tímto virtuálním strojem (označovanou jako Dalvik-cache) pro program a je uložen uvnitř APK. An .odex soubor, na druhé straně, je jeho optimalizovanou verzí .dex soubor, který je uložen další na APK na rozdíl od uvnitř. Android tuto techniku použije ve výchozím nastavení na všechny systémové aplikace.
Nyní, když se zavádí systém se systémem Android, je pomocí nich vytvořena mezipaměť davlik pro Davlik VM .odex soubory, což OS umožňuje naučit se předem, jaké aplikace budou načteny, a tak urychluje proces zavádění.
Deodexováním těchto souborů APK vývojář skutečně vloží soubor .odex soubory zpět do jejich příslušných balíčků APK. Protože veškerý kód je nyní obsažen v samotném souboru APK, je možné upravit jakýkoli balíček aplikací, aniž by to bylo v rozporu s prováděcím prostředím operačního systému.
VÝHODY NEVÝHODY
Výhodou deodexingu je modifikacemožnosti. Nejčastěji se používá ve vlastních ROMech a tématech. Vývojář vytvářející vlastní ROM by se téměř vždy rozhodl nejprve deodexovat ROM balíček, protože by mu to nejen umožnilo upravit různé APK, ale také ponechat prostor pro následné instalace.
Na druhé straně, od .odex soubory měly rychle stavět dalvikmezipaměť, jejich odstranění by znamenalo delší počáteční časy spuštění. Platí to však pouze pro první spuštění systému po deodexování, protože mezipaměť by se během používání aplikací stále stavěla. Delší spouštěcí časy lze znovu zobrazit pouze v případě, že je mezipaměť dalvik vymazána z nějakého důvodu.
Pro příležitostného uživatele je hlavní důsledek v tematických možnostech. Témata pro Android přicházejí také v souborech APK a pokud chcete některou z nich upravit, měli byste si vždy vybrat dedikexovanou vlastní ROM.
Byl tento článek užitečný? Pokud jste zmateni s některými dalšími podmínkami a chcete, abychom je vysvětlili, dejte nám prosím vědět v komentářích.
Komentáře