Изучаем Android. Что такое odex и deodex
Практически все, кто сталкивался с прошивкой своего Android планшета или телефона обращали внимание на то, что прошивки бывают odexed и deodexed. И мало кто понимает, что скрывается за этими понятиями, и какие преимущества и недостатки несет с собой тот или иной тип прошивки.
Сегодня я попытаюсь простыми словами объяснить, что же такое 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. Виджет – что это такое и как его добавить на рабочий стол.
Свежие материалы:
Популярное прошлых лет
- Изучаем Android. Десять основных команд ADB и fastboot, которые вы должны знать
- TouchPal – удобная клавиатура для вашего планшета
- Skype для Android обновился до версии 2.9.0.315. Улучшена работа с Bluetooth и исправлены ошибки (Скачать)
- Ускоряем скорость работы WiFi, 3G и 4G интернет-соединений в Android с помощью Internet Speed Master
- Программы для Android. Автоматизация любых действий на Android планшете или телефоне с помощью Android Bot Maker
- Получение Root прав с помощью программы Z4root. Инструкция
- Как установить все apk файлы на Android устройство с компьютера одним кликом.
- Wacom Cintiq Companion и Companion Hybrid: мультимедийные планшеты для художников и дизайнеров
- Сканер Wi-Fi для Android. Wi-Fi Analytics Tool – Анализ Wi-Fi сетей.
- Android – советы и подсказки. Что означает звездочка появившаяся в панели уведомлений рядом со значками WiFi и Bluetooth