Als een Android-newbie, wat me het meest stoorde wasterminologie tegenkomen die mijn begrip te boven gaat. Omdat het geen Linux-achtergrond was, werd het moeilijk om de oh zo vaak gebruikte woorden bij te houden die verspreid waren over de hele ontwikkelingsgemeenschap. Omdat ik de voorwaarden niet begreep, kon ik dus ook niet vaststellen of iets nuttig voor me 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 metaangepaste ROM's en firmware, en zelfs thema's zijn gedodexed en odexed. De meeste gebruikers begrijpen niet wat deze voorwaarden eigenlijk inhouden, en hoewel ontwikkelaars keer op keer zouden opscheppen over het feit dat hun thema's en ROM's gedodexed zijn, heeft de gemiddelde gebruiker geen idee wat er aan de hand is.
In dit artikel proberen we uit te leggen wat odexed en deodexed betekent en welke implicaties het heeft voor een gewone gebruiker.
WAT IS EEN ODEX-BESTAND?
In het Android-bestandssysteem komen applicaties binnenpakketten 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 voor het opstarten. Dit versnelt het opstartproces, 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 naar een andere locatie is geëxtraheerd vóór uitvoering.
DAN KOMT DEODEX
Deodexing is in feite het opnieuw verpakken van deze APK's op een bepaalde manier, zodat ze opnieuw worden geassembleerd in classes.dex bestanden. Door dit te doen, worden alle onderdelen van een toepassingspakket op één plaats teruggezet, waardoor de zorg voor een gewijzigde APK die conflicteert met sommige afzonderlijke odexed-onderdelen wordt geëlimineerd.
Samenvattend hebben Deodexed ROM's (of APK's) allemaalhun applicatiepakketten worden op één plaats samengevoegd, zodat ze eenvoudig kunnen worden aangepast, zoals een thema. Omdat er geen stukjes code van een externe locatie komen, worden aangepaste ROM's of APK's altijd gedodexed om de integriteit te waarborgen.
HOE DIT WERKT
Voor de meer geeky onder ons gebruikt Android OS een op Java gebaseerde virtuele machine voor het uitvoeren van applicaties, de Dalvik Virtual Machine genoemd. Een deodexed, of .dex bestand bevat de cache die wordt gebruikt door deze virtuele machine (ook wel Dalvik-cache genoemd) voor een programma en wordt opgeslagen in de APK. Een .odex bestand is daarentegen een geoptimaliseerde versie hiervan .dex bestand dat is opgeslagen volgende naar de APK in tegenstelling tot erin. Android past deze techniek standaard toe op alle systeemapplicaties.
Wanneer een Android-systeem wordt opgestart, wordt de davlik-cache voor de Davlik VM hiermee gebouwd .odex bestanden, waardoor het besturingssysteem van tevoren kan leren welke applicaties worden geladen, en dus het opstartproces versnelt.
Door deze APK's te deodxen, plaatst een ontwikkelaar de .odex bestanden terug in hun respectieve APK-pakketten. Aangezien alle code zich nu in de APK zelf bevindt, wordt het mogelijk om elk toepassingspakket te wijzigen zonder conflicten met de uitvoeringsomgeving van het besturingssysteem.
VOORDELEN NADELEN
Het voordeel van deodexing is in modificatiemogelijkheden. Dit wordt het meest gebruikt in aangepaste ROM's en thema's. Een ontwikkelaar die een aangepaste ROM bouwt, kiest er bijna altijd voor om eerst het ROM-pakket te deodesxen, omdat hij hierdoor niet alleen verschillende APK's kan wijzigen, maar ook ruimte laat voor post-installatie.
Aan de andere kant, sinds de .odex bestanden moesten de dalvik snel bouwencache, het verwijderen ervan zou langere initiële opstarttijden betekenen. Dit geldt echter alleen voor de eerste keer opstarten na deodexing, omdat de cache na verloop van tijd nog steeds wordt opgebouwd als applicaties worden gebruikt. Langere opstarttijden kunnen alleen weer worden gezien als de dalvik-cache om een of andere reden wordt gewist.
Voor een gewone gebruiker is de belangrijkste implicatie de themamogelijkheden. Thema's voor Android komen ook in APK's, en als u een van deze wilt wijzigen, moet u altijd een dedoexed aangepaste ROM kiezen.
Was dit artikel behulpzaam? Als u verward bent met enkele andere voorwaarden en wilt dat wij u helpen deze uit te leggen, laat het ons dan weten in de opmerkingen.
Comments