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

Как уменьшить размер приложения (.apk)

Help!

Когда я устанавливаю свое приложение на телефоне для тестирования, он отображается, чтобы быть ОГРОМНЫМ размером, 11.35 МБ. Это очень простое приложение, которое позволяет пользователю просматривать интересные факты. Единственная причина, по которой я могу думать, состоит в том, что в чертежах есть 14 файлов JPEG, которые служат в качестве фоновых изображений забавных фактов. Средний размер их составляет около 500 КБ.

Я хотел бы обрезать размер моего приложения, чтобы не использовать драгоценные ресурсы на пользовательском устройстве. Есть ли способ оптимизировать размер файла apk, кроме как избавиться от фотографий?

ИЗМЕНИТЬ: фотографии - это фотографии, сделанные мной с помощью телефона Android.

4b9b3361

Ответ 1

Я бы рекомендовал максимально сжать файлы .jpg, это должно значительно уменьшить размер вашего файла .apk. Инструмент, такой как Paint.NET, который является бесплатным, должен помочь вам в этом. Он имеет большие варианты изменения размера.

Ответ 2

Другие ответы говорят о сокращении изображений. Вы также можете попробовать ProGuard уменьшить размер байт-кода. Здесь статья о применении ProGuard к Android-приложению.

Ответ 3

Убедитесь, что ваш jpg не сохранен в любом более высоком разрешении, чем необходимо. Хороший Android-телефон имеет разрешение экрана 1920x1200 или 2560x1440 (около 2015 года) 800 x 480, поэтому ваши фоны не должны содержать больше пикселей, чем это (если ваше приложение не поддерживает какое-то масштабирование). Кроме того, фотографии фона? Если нет, вы можете обнаружить, что использование векторного формата изображения, такого как svg, или одного с динамической палитрой типа gif, еще больше уменьшит размер файла.

Ответ 4

UPDATE

С введением библиотеки поддержки 23.2 теперь вы можете заменить многие из ваших объектов изображения на SVG (без анимации), чтобы уменьшить размер apk.

ОРИГИНАЛ

Это может быть поздний ответ, но может быть полезен для будущих пользователей.

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

  • Используйте ProGaurd
  • Удалите любую информацию об отладке, которую вы используете в приложении (такие заявления, как Log.i()). Они могут быть завернуты в состояние, которое разрешено только при тестировании приложения.
  • Используйте рекомендуемые форматы носителей.
    • Изображение: PNG orJPG
    • Аудио: AAC
    • Видео: H264 AVC
  • Сжатие изображений с помощью OptiPNG или PNGCrush li >
  • Используйте 9patch для масштабирования изображений
  • Найти неиспользуемые ресурсы с помощью этого инструмента и удалить их.
  • Избегайте использования нескольких ресурсов для достижения той же функциональности. Ресурсы не только ограничивают изображения, но распространяются на API. Иногда сингулярный API может предоставлять несколько результатов вместо использования двух или трех разных API. Дублированные строки и активы также являются пустой тратой пространства.

Ответ 5

Помимо оптимизации изображений, я также счел полезным проверить библиотеки поддержки, которые вы используете. У меня есть относительно простые платформы таргетинга приложений с API >= 10, но мой APK оказался 2.2M или после использования ProGuard, 1.4M. Когда я заглянул в APK, код был 1.5M, и было много дополнительных ресурсов (abc_ *), о которых я ничего не знал.

Тогда я нашел это: https://developer.android.com/tools/support-library/features.html

Оказывается, мне не нужен appcompat-v7, только поддержка-v4, и внесение этого изменения в мои зависимости уменьшило размер APK до 1.7M (0.9M с ProGuard). Понятно, что в библиотеках поддержки много дополнительных (код и ресурс), поэтому убедитесь, что вы используете только те, которые вам нужны, могут помочь.

(Несмотря на то, что -0.5M не имеет значения для 11-мегабайтного приложения, я размещаю это здесь, потому что я продолжал заканчиваться на этой странице при поиске решения...)

Ответ 6

  • Используйте tinypng сжимайте свой проект png или jpg формат файлов изображений, он может значительно уменьшить размер изображения без потери качества изображения;
  • Некоторые изображения используют tinypng compress могут искажать, вы можете конвертировать эти изображения в формате webP, используйте 智 图 или iSparta может конвертировать другой формат в webP;
  • Использовать Lint для проверки неиспользуемых ресурсов и их удаления;

Ответ 7

Еще одна вещь, которую нужно добавить в размер файла изображения - разные алгоритмы могут существенно повлиять на конечный размер. Я обнаружил, что Yahoo www.smushit.com намного эффективнее (по крайней мере, для .png), чем компрессоры и кодеки, которые у меня есть на моем компьютере прямо сейчас.

Ответ 8

Есть две вещи, которые я могу указать из опыта.

  • Если вы используете eclipse для создания файла apk, ресурсы дублируются (по крайней мере, это произошло в моем случае), вы можете попробовать использовать ant и build.xml для создания apk и сравнить размер.
  • Также смотрите на сглаживание ресурсов. Ссылка на него здесь.

Ответ 9

Я знаю, что я опаздываю здесь, чтобы ответить на этот вопрос, но я уменьшаю размер своего приложения, используя нижеприведенные методы, поэтому я хочу поделиться этими вещами со всеми.

1). Используйте изображения WebP вместо изображений Jpeg, это окажет огромное влияние на размер apk, если вы используете несколько изображений.

2) -Используйте VectorDrawables, если вы используете простые маленькие значки в своем приложении.

3) - Использовать свойство tint View в xml, чтобы избежать нескольких одинаковых значков, но различаться по цвету.

поиск DrawableTint и TintableImageview

4). Используйте 9-патч-изображения и избегайте дублирования изображения или чего-либо в коде приложения.

Ниже приведены ссылки для ссылки на сокращение размера APK.

https://developer.android.com/topic/performance/reduce-apk-size.html

https://developer.android.com/studio/build/configure-apk-splits.html#configure-split

https://developer.android.com/training/multiple-apks/index.html

Ответ 10

Формат изображения WebP: обеспечивает сжатие с потерями (например, JPEG), а также прозрачность (например, PNG), но может обеспечить лучшее сжатие, чем JPEG или PNG

Конвертировать изображения в WebP

Ответ 11

Я думаю, что это сообщение дало бы вам лучшее представление обо всех возможных методах, которые можно было бы использовать для максимального уменьшения размера apk.

Я дам вам отрывок из этого же.

  • Используйте только необходимые библиотеки из Служб Google Play.
  • Примените ProGuard к своему приложению.
  • Свернуть и сжать.
  • Принять векторные образы.
  • Используйте безвоздушный пульт.
  • Разделите apk на основе архитектуры.
  • Добавление resConfigs в файлы gradle для указания языков локализации.

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

Ответ 12

Вот что вы можете сделать для уменьшения размера сборки с помощью изображений (также может работать для iOS) Здесь я использую отличный инструмент под названием "OPTIPNG" (вы можете скачать здесь), который поможет нам сэкономить сборку, используя изображения, Это уменьшит размер изображения для PNG, которые мы используем, не ухудшая качество (разрешение и цвет) изображения.

Пример. Если размер вашего изображения не совпадает с 698 КБ, тогда он будет простым уменьшенным размером до 564 КБ.

Вот шаги выполнения для OPTIPNG 0.7.5

1) Terminal → CD/YourLocal путь OPTIPNG

2) введите "./configure"

3) введите "sudo make install"

Теперь нужно сделать интралатацию

4) введите "optipng/ваш путь к изображению

Вы получите результат в байте и можете также проверить свой размер

Ответ 13

Вы также можете попробовать http://www.webresizer.com/resizer/ Его онлайн-инструмент, сделал для меня очень хорошую работу.

Ответ 14

Я использовал Trimage image compressor для сжатия изображений и уменьшения размера apk.It имеет хорошую степень сжатия, прост в использовании, сохраняет качество и также доступен в Ubuntu. Кроме того, я включил ProGuard и работал над проблемами Lint, чтобы уменьшить размер APK.

Ответ 15

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

https://medium.com/@fahimsakri/put-your-apks-on-diet-cc3f40843c84#.m860q8s1u

Proguard

векторные чертежи

Apk расщепляется

Оптимизация изображений png

Удалить неиспользуемые ресурсы

9-патч-изображения

Сжатие изображений Jpeg

Удалить информацию об отладке

Избегайте дублирования

Используйте lint экстенсивно

Ресурс повторного использования по возможности

Рекомендуемые форматы носителей

Ответ 16

Вы можете уменьшить размер apk с помощью del R.class и заменить ссылку на константу.

Смотрите это: https://github.com/mogujie/ThinRPlugin

Ответ 17

APK содержит zip файл всех вещей, которые есть у вашего мобильного приложения, включая файлы классов Java, файлы ресурсов среди других.

Один из простых способов уменьшить APK - уменьшить количество и размер ресурсов, которые он содержит. В частности, вы можете удалить ресурсы, которые ваше приложение больше не использует, и вместо файлов изображений можно использовать масштабируемые объекты Drawable.

Ответ 18

Использовать MinifyEnable true и ShrinkResources true

MinifyEnabled уменьшит ваш код при его сжатии. Хотя shrinkResources сокращают ресурсы.

Чтобы использовать ShrinkResources, вы должны установить minifyEnbled true.

Ответ 19

используйте SVG-изображения вместо jpg, чтобы уменьшить размер apk. поместите свои файлы изображений в базу данных.. чтобы пользователи вашего приложения могли загрузить его из базы данных, и это значительно уменьшит размер приложения.