Подтвердить что ты не робот

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

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

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

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

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

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

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

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

4b9b3361

Ответ 1

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

Ответ 2

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

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

Ответ 3

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

Ответ 4

Проблемы:

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

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

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

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

Объяснение в chat