ГлавнаяНовостиПрограммыОбзоры и статьиСоветыПокупкаФорумСвязаться с нами
24
Февр
Изучаем Android. Что такое odex и deodex

Практически все, кто сталкивался с прошивкой своего Android планшета или телефона обращали внимание на то, что прошивки бывают odexed и deodexed.  И мало кто понимает, что скрывается за этими понятиями, и какие преимущества и недостатки несет с собой тот или иной тип прошивки.

Что такое odex и deodex

Сегодня я попытаюсь простыми словами объяснить, что же такое odex и deodex, и зачем оно нужно.

 

Если вы заглянете в папку с системными приложениями на планшете или телефоне со стоковой (заводской) прошивкой, то заметите, что каждое приложение имеет кроме apk-файла, его двойник, odex-файл. Например, файлу applikatoin.apk соответствует файл applikatoin.odex.

Зачем же нужен этот odex-файл? Если кратко (и упрощенно), то каждая программа состоит из набора инструкций, благодаря которым она работает, и вспомогательных данных, например,  картинок, которые отображаются на экране. Так вот, в файле odex и хранится сам код программы.

Все приложения в системе Android написаны (закодированы) на языке Java и для того, чтобы мозг устройства – его процессор смог выполнить этот Java код, он переводится на понятный для процессора язык виртуальной Java-машиной "Dalvik".

 

В деодексированной прошивке код находится внутри apk файла. Apk файлы упакованы так же, как и обычный zip файлы, поэтому деодексированная прошивка обычно имеет меньший размер.

Но код, содержащийся в файле odex оптимизирован для конкретного устройства, а код, хранящийся в apk файле может выполняться на любом устройстве.

Вы уже, наверное, и сами поняли, в чем преимущество odexed прошивки. Ее системные приложения уже оптимизированы для работы на конкретном оборудовании.

 

Зато код, который содержится в деодексированном приложении, может запускаться на любом android  устройстве и такие программы проще модифицировать. Например, чтобы заменить в нем изображения, достаточно распаковать apk  файл, как обычный zip архив, заменить картинки и упаковать приложение снова. С odexed приложениями такой номер не пройдет – после подобных изменений программа может перестать запускаться вообще.

 

Система Android при первом запуске системных приложений deodexed прошивки, извлекает из них код, перекомпилирует и сохраняет в специальном месте: в папке dalvik-cache и потом берет уже готовый код для нужного apk-файла из этой папки. Поэтому и рекомендуется при перепрошивке планшета или телефона делать очистку dalvik-cache (clear dalvik-cache) – программа в новой прошивке может измениться, а система будет при ее запуске использовать старый код. И поэтому так долго запускаются deodexed прошивки первый раз после их установки на устройство и очистки dalvik-cache.

 

Кроме того, считается, что odexed прошивки работают быстрее, чем аналогичные но, деодексированные.

 


Похожие материалы:

Что такое ClockworkMod Recovery. Полная инструкция.

Прошивка. Что это такое и зачем она нужна.

Изучаем Android. Ядро (Kernel) - что это такое.

Изучаем Android. Launcher (лончер) что это такое и зачем он нужен

Изучаем Android. Виджет – что это такое и как его добавить на рабочий стол.


 

Комментарии  

 
0 #5 Пётр 31.05.2016 10:02
Спасибо за прекрасное изложение!
Во встроенном приложении планшета появился невыносимо вредный вирус, который не может удалить ни один антивирус. Чтобы избавиться от этого вируса, мне необходима деодексированна я прошивка? Спасибо.
 
 
+18 #4 skull_911 15.08.2013 10:16
как узнать деодексирована ли прошивка?
 
 
+16 #3 Bro 31.10.2012 12:05
Спасибо за информацию, все понял.
 
 
+19 #2 Chupppy 05.04.2012 13:50
Для постоянного использования прошивки лучше ОДЕКСировать. Быстрее робит и стабильнее.
 
 
+31 #1 a805mp 25.02.2012 19:02
Спасибо за материал написано кратко и доходчиво, давно хотел это узнать. И вообще отличная рубрика. Еще раз огромное спасибо.
 

Регистрация / Вход

Голосование

Какой браузер вы используете на своем планшете?