Определите причину раздувания размера файла odex

Мой apk был 13 МБ, и при установке занятое пространство составляло 25 МБ. Однако после внесения нескольких изменений (добавление библиотек, создание модулей и организация приложения лучше) размер apk увеличился до 14 МБ, тогда как odex-файл теперь составляет 56 МБ. Есть ли способ определить, почему размер увеличился?

У меня есть корневое устройство. Поэтому я могу использовать больше, чем традиционные подходы, если они есть. Я проверил несколько блогов и форумов. Все объясняют функциональность odex-ing и deodex-ing.

EDIT : размер файла odex увеличивается со временем. (От 25 МБ до 81 МБ).

Этот SO Q / A объясняет, что такое odex, но я не могу найти места, которое объясняет, как растет файл odex (из-за отсутствия лучшего слова).

Возможным вариантом может быть то, что при использовании ресурсов приложения файлы odex приложения генерируют больше ссылок, чтобы поддерживать время запуска / скорость?

EDIT 2 : Поскольку многие люди отвечают на это, предлагая мне проверить мои библиотеки / зависимости и уменьшить их. Я хочу подчеркнуть это замечание. Размер файла увеличивается после установки в следующих нескольких запусках приложения. Если это связано с добавлением библиотек, размер APK увеличивается, что вполне понятно. Остальные файлы (.db, общие настройки и т. Д.) Увеличиваются в размере, который ожидается. Я не могу понять, почему увеличивается .odex после его установки, которое продолжает увеличиваться после каждого запуска. Это увеличение размера только для файла .odex.

Я проверил эти файлы, потому что я использую корневое устройство.

Solutions Collecting From Web of "Определите причину раздувания размера файла odex"

Он вырос, потому что вы добавили библиотеки. Возможно, вам нужна только одна функция из библиотеки, но вы добавили целую библиотеку с большим количеством ресурсов и функций, поэтому apk вырос. Что касается увеличения времени: ваша программа (или используемая вами библиотека) может кэшировать изображения, сетевые запросы, писать в базу данных и т. Д., Поэтому размер программы растет.

Я считаю, что он растет по мере увеличения размера файла APK, в основном из-за добавления библиотек, графических ресурсов и т. Д.

Вы можете попытаться уменьшить размер APK с помощью ProGuard , возможно, тогда файл odex тоже сжимается.

Попробуйте установить shrinkResources true в файле сборки gralde для удаления неиспользуемого ресурса

Проблемы

Внесение нескольких изменений (добавление библиотек, создание модулей и организация приложения лучше

Теперь подумайте об этом.

Вы добавляете разные библиотеки. Когда библиотеки являются внешними или сторонними библиотеками, код упаковывается вместе с вашим apk. Но когда библиотеки уже являются библиотеками рамок android, которые уже доступны на устройстве, они не попадут в apk. Но они будут включены в файлы odex, и именно поэтому вы видите раздувание.

Поэтому мое предположение заключается в том, что дополнительные модули и библиотеки, которые вы использовали, имеют много новых системных библиотек. Или библиотеки, которые вы использовали для внутреннего использования системных библиотек. Вы могли бы алаллизировать в этом направлении, пытаясь удалить или использовать минимальную версию этих библиотек, и посмотреть на размер файла odex влияет.

Объяснение в чате