- - Kas yra „Odex“ ir „Deodex“ „Android“ [Visas vadovas]

Kas yra „Odex“ ir „Deodex“ „Android“ [Visas vadovas]

Man, kaip „Android“ naujokui, labiausiai trukdėperžengianti mano supratimą terminologija. Ne „Linux“ fone tapo sunku neatsilikti nuo dažniausiai naudojamų žodžių, paplitusių visoje plėtros bendruomenėje. Be to, nesupratau terminų, todėl negalėjau nustatyti, ar kažkas man buvo naudinga, ar ne. Iš to, ką mačiau, ši problema apima daug naujokų ir net paprastus vartotojus.

Vienas dažniausiai pasitaikantis žodis žaidžiant supasirinktiniai ROM ir programinė įranga, netgi temos yra iškoduojamos ir dedikuotos. Daugelis vartotojų nesupranta, ką šie terminai iš tikrųjų reiškia, ir nors kūrėjai vėl ir vėl galėtų pasigirti, kad jų temos ir ROM yra dekoduojami, paprastas vartotojas negali žinoti, kas vyksta.

Šiame straipsnyje pabandysime paaiškinti, ką reiškia „odexed“ ir „deodexed“ ir kokias pasekmes tai sukelia atsitiktiniam vartotojui.

KAS YRA ODEX byla?

„Android“ failų sistemoje naudojamos programospaketai su plėtiniu .apk. Šiuose programų paketuose arba APK yra tam tikri .odex failai, kurių tariama funkcija yra vietos taupymas. Šie „odex“ failai iš tikrųjų yra programos dalių, kurios yra optimizuotos prieš paleidimą, rinkiniai. Tai pagreitina įkrovos procesą, nes iš anksto įkeliama programos dalis. Kita vertus, tai taip pat apsunkina įsilaužimą į šias programas, nes dalis kodavimo jau buvo išgauta į kitą vietą prieš vykdant.

Tada ateis DEODEX

„Deodexing“ iš esmės yra tam tikrų būdų šių APK perpakavimas, kad jie būtų surinkti į classes.dex bylos. Tokiu būdu visos programos paketo dalys yra sudedamos atgal į vieną vietą ir taip pašalinamas susirūpinimas dėl modifikuoto APK, prieštaraujančio kai kurioms atskiroms odexed dalims.

Apibendrinant galima pasakyti, kad visi „Deodexed ROM“ (arba APK) turijų programų paketai sudedami atgal į vieną vietą, kad juos būtų galima lengvai modifikuoti, pavyzdžiui, pakeisti. Kadangi jokia kodo dalis nepateikiama iš jokios išorinės vietos, pasirinktiniai ROM arba APK visada dekoduojami, kad būtų užtikrintas vientisumas.

KAIP ŠIS VEIKIA

Labiau geidulingiems mūsų „Android“ OS naudoja „Java“ pagrindu sukurtą virtualią mašiną, skirtą programoms paleisti, vadinamą „Dalvik“ virtualia mašina. Dedeksifikuota arba .dex faile yra talpyklos, kurią ši virtualioji mašina (vadinama „Dalvik-cache“) naudoja programai, ir ji yra saugoma APK. An .odex failas, kita vertus, yra optimizuota to paties versija .dex saugomas failas Kitas APK, o ne viduje. „Android“ šią techniką pagal numatytuosius nustatymus taiko visoms sistemos programoms.

Dabar, kai paleidžiama „Android“ pagrįsta sistema, „Davlik“ VM „Davlik“ talpykla yra sukurta naudojant šias .odex failus, leisdami OS iš anksto sužinoti, kokios programos bus įkeltos, ir taip pagreitinti paleidimo procesą.

Iškoduojant šiuos APK, kūrėjas iš tikrųjų įdėjo .odex failus atgal į atitinkamus APK paketus. Kadangi visas kodas dabar yra pačiame APK, tampa įmanoma pakeisti bet kurį programų paketą, neprieštaraujant operacinės sistemos vykdymo aplinkai.

PRIVALUMAI IR Trūkumai

Dekodavimo pranašumas yra modifikavimasgalimybės. Tai plačiausiai naudojama pasirinktiniuose ROM ir temose. Kūrėjas, sukūręs pasirinktinį ROM, beveik visada pasirenka pirmiausia dekoduoti ROM paketą, nes tai ne tik leistų modifikuoti įvairius APK, bet ir paliktų vietos juos vėliau įdiegti.

Kita vertus, nuo .odex failai turėjo greitai sukurti dalvikątalpyklą, jų pašalinimas reikštų ilgesnį pradinį įkrovos laiką. Tačiau tai pasakytina tik apie pirmąjį įkrovos procesą po deodeksavimo, nes laikinoji atmintis vis tiek bus sukurta laikui bėgant, kai naudojamos programos. Ilgesni įkrovos laikai gali būti vėl matomi tik tuo atveju, jei dalvik talpykla dėl tam tikrų priežasčių bus nuvalyta.

Atsitiktiniam vartotojui svarbiausia yra jų panaudojimo galimybės. „Android“ temos taip pat yra APK, ir jei norite modifikuoti kurią nors iš jų, visada turėtumėte pasirinkti pasirinktinį ROM, kurį panaikinsite.

Ar šis straipsnis buvo naudingas? Jei esate supainioti su kai kuriomis kitomis sąvokomis ir norite, kad padėtume jas paaiškinti, praneškite mums komentaruose.

Komentarai