در سیستم فایل های اندروید، برنامه ها در بسته هایی با فرمت apk ارائه می شوند. این بسته های نرم افزاری یا apk ها حاوی فایل های Odex مشخصی هستند که وظیفه آن ها صرفه جویی در فضاست. این فایل های Odex در واقع کلکسیونی از اجزای برنامه هستند که قبل از بالا آمدن گوشی بهینه می شوند. انجام این کار سرعت بالا آمدن را افزایش می دهد، به دلیل اینکه قسمتی از برنامه پیش بارگذاری شده است. از طرف دیگر باعث می شود که هک این چنین برنامه هایی سخت شود زیرا قسمتی از کدها پیش از راه اندازی در مکان دیگری استخراج شده است. یک فایل Deodex چیست؟
فرآیند Deodex کردن در واقع دوباره بسته بندی کردن این apk ها در یک مسیر مشخص می باشد، به طوری که مجددا در قالب فایل های Classes.dex در آیند. با انجام این کار، تمام قسمت های یک برنامه در یک مکان دوباره در کنار هم قرار داده می شوند، بنابراین نگرانی از تناقض بین یک apk دستکاری شده با اجزای Odex آن از بین می رود. به طور خلاصه، رام ها یا برنامه های Deodex تمام اجزای نرم افزار خود را در یک محل در کنار هم دارند، که به توسعه دهندگان اجازه اصلاح آسان آن ها، نظیر ساخت تم را می دهند. به دلیل اینکه هیچ کدی از یک مکان خارجی نمی آید، رام های کاستوم یا Apk ها برای اطمینان از یکپارچگی، هموارهDeodex می باشند. این فرآیند چگون عمل می کند؟
سیستم عامل اندروید از یک ماشین مجازی براساس جاوا برای اجرای برنامه ها استفاده می کند که Dalvik Virtual Machine نام دارد. یک فایل Deodex حاوی کشی می باشد که توسط این ماشین برای برنامه استفاده شده است(Dalvik-cache) و این کش در داخل فایل Apk ذخیره شده است. در طرف دیگر یک فایل Odex، ورژن بهینه شده همان فایل.dexاست که در کنار فایل apk ذخیره شده است نه در داخل آن. اندروید این تکنیک را به صورت پیشفرض بر تمام برنامه های سیستمی اعمال می کند.حال زمانی که یک سیستم پایه اندرویدی بالا می آید، Dalvik-cache برای ماشین مجازی Dalvik توسط این فایل های .odex ساخته می شود که به سیستم عامل اجازه می دهد تا یادبگیرد که کدام برنامه ها بارگذاری می شوند و درنتیجه فرآیند بالا آمدن سریع تر انجام پذیرد. با Deodex کردن این برنامه ها، توسعه دهنده در واقع دوباره این فایل های .odex را به درون بسته های apk خود می فرستد. به دلیل اینکه هم اکنون تمام کدها درون یک فایل apk می باشند، امکان اصلاح و دستکاری یک برنامه فراهم می شود. مزایا و معایب
مزیت Deodex کردن ایجاد امکان اصلاح فایل ها و برنامه ها می باشد. این مسئله به صورت گسترده در رام های کاستوم و تم ها استفاده می شود. یک توسعه دهنده همیشه رام را Deodex می کند، زیرا علاوه براینکه امکان اصلاح مجدد برای خود او فراهم می شود، قابلیت نصب تم بعد از نصب رام نیز وجود خواهد داشت. از طرف دیگر به دلیل اینکه فایل های .odex قرار بوده است که به سرعت Dalvik-cache را بسازند، خارج کردن آن ها به معنی زمان بالا آمدن بیش تر می باشد. هرچند که این مسئله فقط برای بالا آمدن اول بعد از فرآیند Deodex می باشد، زیرا cache با گذر زمان ساخته می شود. بالا آمدن طولانی مجددا زمانی دیده می شود که Dalvik-cache بنا به هر دلیلی پاک شود. برای کاربران عادی، مهمترین دلیل امکان نصب تم می باشد. تم های اندروید نیز به صورت apk می باشند و بنابراین اگر می خواهید هر کدام از آن ها را اصلاح کنید باید یک رامDeodex را انتخا کنید. مزایای رام های دئودکس
این رام ها به دلیل ایجاد تغییر در ساختار سیستمی فایل اصلی انعطاف پذیر و قابل اصلاح کردن آن قابلیت هرگونه تغییر دلخواه از قبیل نصب تمه ، مد ها و... رو دارند و همچنین بصورت پیش فرض روت شده هستند و ریکاوری آن ها به CWM تغییر یافته و حتی تغییرات دیگر نیز بسته به نظر سازندش خواهند داشت.