PDA

توجه ! این یک نسخه آرشیو شده میباشد و در این حالت شما عکسی را مشاهده نمیکنید برای مشاهده کامل متن و عکسها بر روی لینک مقابل کلیک کنید : [ آموزش ] , [ متوسط - پیشرفته ] عبارت Odex و DeOdex به چه معنی است ؟



Ali Fatehi
2012/09/15, 00:23
12913



زمانی که سال 2005 آندروید به عموم معرفی شد . کمتر کسی فکر می کرد که آندروید چند ماهی از تولدش نگذشته باشد به رشد الان خود برسد . شاید یکی از دلایل اون همه پیشرفتش اپن سورس بودنش باشه ( بین خودمان باشه 100 درصد هم اپن سورس نیست ) . و باعث شد گروه های مختلف از دنیا به غیر از تیم توسعه اندی روبین ( گوگل ) به توسعه این سیستم عامل بپردازند . از جمله این توسعه دهندگان را می توان گروه چینی MIUI و گروه سیانوژن مد را نام برد . خوب برای توسعه یک منبع اپن سورس یکسری اصطلاحات وجود دارد. امشب دو تا از این اصطلاحات را می خواهم بگویم خوب البته سطح این گفته گوی برای دوستانی که تازه با آندورید اشنا شده اند کمی مشکل است . خوب راستش نیاز هم نیست که یاد بگیرید .


Odex چیست ؟
خوب می دانید که برنامه و بازی های که برای سیستم عامل آندروید نوشته است با پسوند ApK مشخی می شود برای مثال : File_Explorer_1_0_rc2.apk یا franco_Kernel_updater_6.6.apk یا هر برنامه و بازی . معنی لغوی Odex یعنی بهینه شده . در واقع Odex فایل یا بخشی است که زمان لود یا همان بارگذاری زودتر از فایل های apk لود می شود . به عبارت ساده تر زمانی که تلفن همراه آندرویدی را ریست می کنیم فایل odex برنامه هایی که نیاز است در زمان ریستارد لود شود . بروی گوشی بارگذاری می شود در واقع با این کار مدت زمان باگذاری سیستم عامل آندروید به شدت کاهش می یابد چون دیگه نیاز نیست کل برنامه را بارگذاری کند.

{ آندروید از بخش های مختلفی درست شده است و زمانی که بوت ( لود ) می شود برنامه های مورد نیازش مثل : Phone , Gmail , Message , map و دیگر برنامه لود می شود . در واقع برنامه ای مثل تلفن که برای ارتباط تلفنی با کاربران است جدا برنامه نویسی شده است که می توان به راحتی انرا تغییر و یا عوض کرد بدون اینکه نیاز باشه کل سیستم عامل آندروید را تغییر بدهیم }

برای درک بهتر به تصویر زیر نگاهی بیاندازید .

این تصویر زیر مربوط به تلفن همراه روت نشده Galaxy Nexus است ( راستش حال نداشتم گوشیم رو یه بار به حالت اول برگردونم = همین جا از تیم talkandroid تشکر می کنم به خاطر تصویر. )
مسیر این عکس :


system/app/Phone.apk و system/app/Phone.odex





12914





این تصویر زیر مربوط به تلفن همراه روت شده Google Nexus One است ( تلفن همراه خودم با رام سیانوژن 9 و آندروید 4.0.4 با پردازنده فرکانس 1113 MHz و برنامه Root Explorer )
مسیر این عکس :

system/app/Phone.apk




12915









DeOdex چیست ؟
همین طور که در تصویر بالا می بینید فایل odex تصویر اول تاپیک به فایل dex تبدیل شده است . به این معناست با عمل DeOdex کردن تمام اجزای فایل های Apk به یک پکیج تبدیل می شود . و فایل odex به Classes.dex تبدیل می شود . ( البته یه تعریف دیگر نزدیک به این عبارت بالا هم است که : زمانی که فایل odex داخل فایل apk گنجانده شود به این عمل هم DeOdex هم می گویند .)

البته مراحل اجرا برنامه در سیستم عامل در حالت DeOdex و Odex متفاوت است که بعدا اینو توضیح می دهم.