Kao Android novak ono što me najviše smetalo bilo jenailazeći na terminologiju izvan mog razumijevanja. Ne dolazeći iz Linux pozadine, bilo je teško pratiti oh-tako uobičajene riječi koje se šire po čitavoj razvojnoj zajednici. Isto tako, budući da nisam razumio izraze, prema tome nisam mogao utvrditi je li mi nešto od koristi ili ne. Iz onoga što sam vidio, ovaj se problem proširuje na mnoge početnike, pa čak i prosječne korisnike.
Jedna uobičajena riječ pri igri saprilagođeni ROM i firmware, pa čak i teme su deodexed i odexed. Većina korisnika ne razumije što ti pojmovi zapravo podrazumijevaju, a iako bi se programeri uvijek iznova hvalili temama i ROM-ovima koji su deodeksirani, prosječni je korisnik ostao bez riječi o tome što se događa.
U ovom ćemo članku pokušati objasniti što odexed i deodexed znači i koje implikacije ima za slučajnog korisnika.
ŠTO JE ODEX FILE?
U Android datotečnom sustavu dolaze aplikacijepaketi s nastavkom .apk. Ovi aplikacijski paketi ili APK-ovi sadrže određene .odex datoteke čija je pretpostavljena funkcija ušteda prostora. Ove 'odex' datoteke zapravo su zbirka dijelova aplikacije koji su optimizirani prije pokretanja. Na taj se način ubrzava postupak pokretanja, jer se prethodno učitava dio aplikacije. S druge strane, otežava i hakiranje tih aplikacija jer je dio kodiranja već izveden na drugo mjesto prije izvršenja.
TAKO DOSTAO DEODEX
Deodexing u osnovi prepakiva te APK-ove na određeni način, tako da se ponovno sastavljaju u classes.dex datoteka. Na taj se način svi dijelovi aplikacijskog paketa spajaju na jedno mjesto, čime se uklanja briga o modificiranom APK-u koji je u sukobu s nekim odvojenim dijelovima.
Ukratko, deodeksirani ROM (ili APK-ovi) imaju svenjihovi se paketi aplikacija sastavljaju na jednom mjestu, omogućujući jednostavne izmjene, poput tematizacije. Budući da nijedan komad koda ne dolazi s bilo kojeg vanjskog mjesta, prilagođeni ROM-i ili APK-ovi uvijek su deodeksirani kako bi se osigurala integritet.
KAKO TO RADI
Za još luđački među nama, Android OS koristi virtualni stroj temeljen na Javi za pokretanje aplikacija, nazvan Dalvik Virtual Machine. Deodeksirano, ili .dex datoteka sadrži predmemoriju koju ovaj virtualni stroj koristi (naziva Dalvik-cache) za program i ona je spremljena unutar APK-a. .odex datoteka, s druge strane, optimizirana je inačica istog .dex datoteka koja je pohranjena Sljedeći u APK, za razliku od unutar njega. Android ovu tehniku zadano primjenjuje na sve sistemske aplikacije.
Sada, kada se sustav sa sustavom Android pokreće, davlik predmemorija za Davlik VM izgrađena je pomoću ovih .odex datoteke, omogućujući OS-u da unaprijed nauči koje će se aplikacije učitavati i na taj način ubrzati postupak dizanja sustava.
Deodeksiranjem ovih APK programera zapravo postavlja .odex datoteke unutar njihovih odgovarajućih APK paketa. Budući da je sada cijeli kod unutar samog APK-a, moguće je izmijeniti bilo koji aplikacijski paket bez sukoba s izvršnim okruženjem operacijskog sustava.
PREDNOSTI MANE
Prednost deodeksinga je u modifikacijiMogućnosti. To se najčešće koristi u prilagođenim ROM-ima i temama. Programer koji gradi prilagođeni ROM gotovo bi uvijek prvo izabrao deodeks ROM paketa, jer mu to neće samo omogućiti izmjenu različitih APK-ova, već će ostaviti i prostor za poslijeinstaliranje.
S druge strane, od .odex datoteke su trebale brzo izgraditi dalvikpredmemorija, njihovo uklanjanje značilo bi duže početno vrijeme pokretanja. Međutim, to se odnosi samo na prvo pokretanje nakon deodexinga jer će se predmemorija s vremenom i dalje graditi tijekom upotrebe aplikacija. Dulja vremena dizanja mogu se ponovo vidjeti samo ako se dalvik predmemorija izbriše iz nekog razloga.
Za povremenog korisnika glavna je implikacija u tematskim mogućnostima. Teme za android dolaze i u APK-ima, a ako želite modificirati bilo koji od njih, uvijek biste trebali odabrati prilagođeni ROM s prilagođenim datotekama.
Je li ovaj članak bio koristan? Ako ste zbunjeni s nekim drugim izrazima i želite da vam pomognemo objasniti ih, javite nam u komentarima.
komentari