Wat is Odex en Deodex in Android [Volledige gids]

click fraud protection

Als Android-beginner stoorde ik me het meest aan terminologie die ik niet begreep. Niet afkomstig van een Linux-achtergrond, werd het moeilijk om de oh-zo-veel gebruikte woorden bij te houden die verspreid waren over de hele ontwikkelingsgemeenschap. Evenzo, aangezien ik de termen niet begreep, kon ik daarom niet vaststellen of iets mij van nut was of niet. Van wat ik heb gezien, strekt dit probleem zich uit tot veel beginnende en zelfs gemiddelde gebruikers.

Een veel voorkomend woord bij het spelen met aangepaste ROM's en firmware, en zelfs thema's, is deodexed en odexed. De meeste gebruikers begrijpen niet wat deze termen eigenlijk betekenen, en terwijl ontwikkelaars er keer op keer op zouden scheppen opnieuw over hun thema's en ROM's worden deodexed, de gemiddelde gebruiker heeft geen idee wat er aan de hand is Aan.

In dit artikel proberen we uit te leggen wat odexed en deodexed betekent en welke implicaties het voor een gewone gebruiker heeft.

WAT IS EEN ODEX-BESTAND?

In het Android-bestandssysteem worden applicaties geleverd in pakketten met de extensie .apk. Deze toepassingspakketten of APK's bevatten bepaalde .odex-bestanden waarvan de veronderstelde functie is om ruimte te besparen. Deze odex-bestanden zijn eigenlijk verzamelingen van delen van een applicatie die zijn geoptimaliseerd voordat ze worden opgestart. Hierdoor wordt het opstartproces versneld, omdat het een deel van een applicatie vooraf laadt. Aan de andere kant maakt het ook het hacken van die applicaties moeilijk omdat een deel van de codering al voor de uitvoering naar een andere locatie is geëxtraheerd.

instagram viewer

DAN KOMT DEODEX

Deodexing herpakt deze APK's in feite op een bepaalde manier, zodat ze weer in elkaar worden gezet classes.dex bestanden. Door dat te doen, worden alle onderdelen van een applicatiepakket weer op één plaats samengevoegd, zodat de zorgen over een gewijzigde APK die in strijd is met enkele afzonderlijke odexed-onderdelen, worden weggenomen.

Samengevat hebben Deodexed ROM's (of APK's) al hun applicatiepakketten weer op één plaats samengebracht, waardoor ze gemakkelijk kunnen worden aangepast, zoals thematisering. Aangezien er geen stukjes code afkomstig zijn van een externe locatie, worden aangepaste ROM's of APK's altijd gedeëxporteerd om de integriteit te waarborgen.

HOE DIT WERKT

Voor de meer geeky onder ons, Android OS gebruikt een op Java gebaseerde virtuele machine voor het uitvoeren van applicaties, genaamd de Dalvik Virtual Machine. Een deodexed, of .dex bestand bevat de cache die door deze virtuele machine wordt gebruikt (ook wel Dalvik-cache genoemd) voor een programma en wordt opgeslagen in de APK. Een .odex bestand, aan de andere kant, is een geoptimaliseerde versie hiervan .dex bestand dat is opgeslagen De volgende naar de APK in plaats van erin. Android past deze techniek standaard toe op alle systeemtoepassingen.

Wanneer nu een op Android gebaseerd systeem wordt opgestart, wordt de davlik-cache voor de Davlik VM gebouwd met behulp van deze .odex bestanden, waardoor het besturingssysteem van tevoren kan leren welke applicaties worden geladen, en dus het opstartproces versnelt.

Door deze APK's te deodexen, plaatst een ontwikkelaar de .odex bestanden terug in hun respectievelijke APK-pakketten. Omdat alle code zich nu in de APK zelf bevindt, wordt het mogelijk om elk toepassingspakket te wijzigen zonder in strijd te zijn met de uitvoeringsomgeving van het besturingssysteem.

VOORDELEN NADELEN

Het voordeel van deodexing zit in modificatiemogelijkheden. Dit wordt het meest gebruikt in aangepaste ROM's en thema's. Een ontwikkelaar die een aangepaste ROM bouwt, zou er bijna altijd voor kiezen om eerst het ROM-pakket te deodex, omdat dat hem niet alleen in staat zou stellen om verschillende APK's te wijzigen, maar ook ruimte zou laten voor post-installatie theming.

Aan de andere kant, aangezien de .odex bestanden zouden de dalvik-cache snel moeten bouwen, het verwijderen ervan zou langere initiële opstarttijden betekenen. Dit geldt echter alleen voor de allereerste keer opstarten na deodexing, aangezien de cache na verloop van tijd nog steeds wordt opgebouwd naarmate applicaties worden gebruikt. Langere opstarttijden kunnen alleen opnieuw worden gezien als de dalvik-cache om de een of andere reden wordt gewist.

Voor een informele gebruiker is de belangrijkste implicatie in themamogelijkheden. Thema's voor Android komen ook in APK's, en als je een van deze wilt wijzigen, moet je altijd een dedoexed aangepast ROM kiezen.

Was dit artikel behulpzaam? Als je verward bent met een aantal andere termen en je wilt dat we ze helpen uitleggen, laat het ons dan weten in de comments.

watch instagram story