Odex deodex разница


Пользователей Android можно разделить на две группы. Первая – те, кому важно стабильная работа и чтобы телефон просто работал. Вторая – те, кому не терпится испробовать новые функции и проверить другую прошивку для своего телефона, кто очень любить ковыряться в телефоне. Тут и кроется основная разница между ODEX и DEODEX прошивками.
ODEX (одексированные) прошивки – это официальные, фирменные или заводские прошивки Android. DEODEX (деоксированные) – это модифицированные пользователями прошивки.
Зачем же такое разграничение?
«Одексированная» прошивка сразу же выдаст себя наличием файлов с расширение .odex в папке /system/app. Аббревиатура odex означает – «Optimized Dalvik Executable File”. Такого рода файл очень нужен для чёткой системной структуры, в которой содержится вся информация о приложении. Android получает данные сразу же напрямую, не разархивируя apk файлы. Файлы .odex обычно загружают в Dalvik-cache, в котором хранится информация о программах которые часто использует пользователь. Скорость работы системы при этом значительно возрастает.
В преимущества ODEX-прошивок можно записать то, что приложения быстрее открываются и файлы apk занимают мало места. Недостатки заключаются в сложности взлома и изменения программ. Но большинству пользователям это и не нужно, они ценят скорость и стабильность работы системы.
К примеру такая прошивка – идеальное решение для тех, кто хочет просто скачать игры на планшет андроид (http://vipsmart.org/all-genres/tablet/).
DEODEX

В прошивках «деодексированных» информация приложения содержится в apk файле. Код, обычно вставляемый в odex файл, включается в apk с именем classex.dex.
Основные преимущества таких прошивок в том, что модифицировать их значительно легче (все данные лежат в одном месте), а системные программы проще удаляются.
Из недостатков можно выделить то, что запускаются программы дольше. Но недостаток этот не очень существенный. В Dalvic-cache хранятся все данные о приложениях, которые часто использует пользователь. И программы долго загружаются только после очистки кэша Dalvic. Например, после установки обновления прошивки или в других случаях.
Подводя итоги, можно с уверенностью сказать, что прошивки «одексированные» (заводские) рекомендуются тем, кому важна скорость и стабильность работы. «Деоксированные» (кастомные) больше по душе подойдут тем, кому важно настроить прошивку полностью под свои потребности, попробовать новые функции и «поковыряться» в системе Android.

Пользуясь разными Android прошивками, Вы наверняка встречались с такими понятиями как »odexed» и »deodexed». И часто, при совершении каких либо манипуляций с прошивкой, нужно знать она »odexed» или »deodexed», чтобы не натворить глупостей. Так что скрывается за этими двумя терминами?

Оdexed ROM

Если прошивка имеет маркировку odexed, тогда в папке системных приложений /system/app Вы встретите файлы с расширением .odex. Это расширение расшифровывается как »Optimized Dalvik Executable File». Помимо нормального APK файла вы найдете его .odex копию. Например, Browser.apk и browser.odex.

Что такое .odex файл?

Этот файл в первую очередь служит для организации структуры любого приложения, содержит в себе инструкции приложения, и позволяет Android быстро добраться к ним без лишнего поиска и извлечения из .apk файла. Odex файлы напрямую загружаются в кэш виртуальной Java-машины «dalvik”, это позволяет системе работать на много быстрее.

Преимущества Оdexed прошивки

Приложения запускаются гораздо быстрее, поскольку их код заранее загружается в кэш dalvik. Размер .apk файлов небольшой, поэтому они занимают меньше места.

Недостатки Оdexed прошивки

Приложение modding/themes/hacking становится гораздо сложнее, поскольку код теперь находится в двух разных местах. Если Вы удаляете какое либо приложение, .odex файл тоже нужно удалить. Если его не удалить, могут возникать ошибки.

Deodexed ROM

Что касается этого типа прошивки, то все инструкции и код к приложениям находится в .apk файлах. Код, который хранился в .odex файле теперь заложен в .apk под названием classes.dex.

Преимущества Deodexed прошивки

Deodexed намного проще для modding/themes/hacking, поскольку весь код теперь находится в одном .apk файле. Системные приложения проще удалять, поскольку нужно удалить всего один APK файл.

Недостатки Deodexed прошивки

Приложения стартуют медленнее. Но не только приложения, а и сама система загружается дольше, поскольку содержимое приложений загружается из системы, а не напрямую.

Android прошивки, которые поступают напрямую от производителей разных устройств в основном odexed. Кастомные прошивки, в 9 случаев из 10, наоборот deodexed. А получаем мы то, что odexed прошивки обладают лучшей скоростью работы, Deodexed больше приспособлены для хаков, моддинга и других манипуляций. Вот так, коротко о главном.

Я лично хотел узнать ответ на это немного назад. Вот что я придумал:

Odexed и Deodexed

Предполагается, что стандартное ПЗУ должно быть odexed для выпуска, которое обеспечивает более плавную и быструю загрузку приложений в память. Каждый .apk имеет соответствующий .odex. Когда приложение используется либо системой, либо пользователем, используется .odex, чтобы начать загрузку приложения. ПЗУ, которое дедексируется, имеет только файл .apk. Когда приложение вызывается в память только извлечения данных из этого .apk, это занимает больше времени, поскольку не оптимизируется для более легкого извлечения из системы.

Частые вопросы, которые меня часто задают, следующие:

  1. Почему пользовательский ROM дедексирован?
  2. Должен ли я использовать odexed или deodexed ROM?

Чтобы ответить на эти вопросы, это сводится к одному слову, пригодности. Если вы поговорите с кем-нибудь о том, что темы ROM’а, они скажут вам, что очень просто прочесть дедексированный ROM. Поскольку мы начали использовать дедексированные ROM, теперь пользователи могли создавать темы для применения к ROM, а не утомительный вариант для темы самого ПЗУ (выпуск пользовательского ПЗУ для темы). Если вы используете odexed ROM и пытаетесь применить темы, это не сработает или будет только тема некоторых визуальных аспектов, что даст вам ужасный пользовательский интерфейс, чтобы испытать.

Deodex Cons

Готов поспорить, теперь вы задаетесь вопросом, почему … почему есть возможность загрузить пользовательский ПЗУ, который является odexed? Ответ на это — скорость. Помните, как я сказал, что odexed файлы оптимизированы для облегчения поиска? Просто попробуйте оптимизировать его (например, индексировать таблицу данных), чтобы система могла быстрее открывать .apk.

Deodex и zipalign

Каждый стремился к лучшему из обоих миров так быстро после того, как дезоксированная тенденция начала пик, эти опытные разработчики ПЗУ придумали решение для zipalign при загрузке. Это оптимизирует каждый .apk при каждой перезагрузке, которая затем позволяет системе получать доступ к приложениям более эффективно и, что наиболее важно, быстрее. Конечно, недостатком является немного более медленное время загрузки.

Резюме

Если у вас есть выбор для загрузки пользовательского ROM, одексерованного или дедексированного, я бы просто пошел с дедеокс ROM. Вы никогда не знаете, когда захотите испытать тему или сделать некоторые изменения самостоятельно, и приятно иметь простые варианты, а не мигать совершенно новым ПЗУ. С более новыми устройствами вы даже не можете заметить заметную разницу в zipalign при загрузке. Если ваше устройство довольно медленно и устарело, тогда я бы предложил подумать об этом немного сложнее. Я бы пообещал, что некоторые из вас предпочтут получить хороший минимально оптимизированный (odexed) ROM для лучшей производительности и скорости над настройкой пользовательского интерфейса.

Если вы новичок в теме, вы можете найти некоторые общие термины, расположенные в моей первоначальной записи: http: //codeversed.com/deodexed-vs-odexed-rom

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