adblock check

Разработчик создал самый маленький файл APK весом в 1 757 байт

Благодаря различным манипуляциям с компонентами файла APK Джейми Лэнчу удалось создать рекордно «легкий» установочный файл

«Пустое» (не выполняющее никаких функций) простейшее приложение-окно для «зеленого робота», созданное в Android Studio (интегрированной среде разработки), весит 1,5 МБ. Разработчику по имени Джейми Лэнч (Jamie Lynch) удалось уменьшить файл APK (установочный файл для Android) этой программы до рекордно маленького размера — 1 757 байт. В своем блоге программист наглядно показал, как ему удалось это сделать с помощью определенных манипуляций. 

Первое, что сделал Лэнч в ходе эксперимента, — выявил наиболее «тяжелые» компоненты файла APK:

  1. classes.dex (содержит весь скомпилированный код в формате DEX, а также ссылки на различные библиотеки в Android) — 74%.
  2. res (содержит графические компоненты приложения) — 20%.
  3. resources.arsc (содержит ссылки на каждый из компонентов файла в res) — 4%.
  4. META-INF (содержит инструменты, проверяющие «целостность» APK-файла) — 2%.
  5. AndroidManifest (содержит информацию о приложении, требуемую операционной системе) — меньше 1%.

Проанализировав установочный файл, разработчик приступил к оптимизации исходного кода. Первым делом Джейми Лэнч удалил из APK неиспользуемые библиотеки и ссылки на них, которые Android Studio автоматически добавляет при создании файла. Это действие позволило уменьшить размер APK на 50%. Далее программист оптимизировал «громоздкие» изображения в формате PNG, хранящиеся в папке res. Благодаря этому, установочный файл уменьшился с 786 до 108 КБ. Все последующие действия разработчик выполнял с меньшими по размеру файлами — resources.arsc, META-INF и AndroidManifest. 

В конечном итоге у Джейми Лэнч вышел рекордно «легкий» установочный файл весом всего в 1 757 байт (против исходного на 1,5 МБ). Всю инструкцию «оптимизации» APK с подробными комментариями программист опубликовал в своем блоге

BoobyBoo85 BoobyBoo85
Без вести проспавший
Android Android
46,2K участников
Вступить
25 комментариев по лайкам по дате
Оставьте комментарий...
Оставьте комментарий...
maxcubeecrafter
По-моему, фамилия «Lynch» транслитерируется как «Линч», а не «Лэнч». Никто же не видел фильмов от Дэвида Лэнча.
id197067879
id197067879 7 лет
Там люди ещё немного поработали над apk (в оригинальной записи есть ссылка на проект на github). Теперь он весит 820 байт.
bIgGuN
bIgGuN 7 лет
678 уже
REG_horse
REG_horse 7 лет
Хотелось бы видеть повальный тренд на сжатие apk файлов, примерно такой же когда сняли ограничение в 50мб в Google play.
MaksimMarkous
MaksimMarkous 7 лет
А где его скачать?
saska31
saska31 7 лет
Зачем?
MaksimMarkous
MaksimMarkous 7 лет
Чтобы иметь брата по разуму
dneese
dneese 7 лет
APK он сжал а блог про это расписал аж на 3 МБ
saska31
saska31 7 лет
Я знаю джаву на столько что могу только и создать пустой апк установщик))
flopberry
flopberry 7 лет
Он не установится тебе на телефон.
Zdorowij
Zdorowij 7 лет
1700 байт=1,5 кбайта, разве нет?
saibaken
saibaken 7 лет
1700 байт =1.66015625 КБайт, ну или ~1.7
ltybcj
ltybcj 7 лет
Статья о статье?
NickMeller
NickMeller 7 лет
Создал пустой текстовый документ в блокноте с расширением *.apk. Напишите про меня новость?
ajsenzaharov
Вахах, есть и полноценные игры с 0.20 мбайт
id292364208
id292364208 7 лет
Tetris 2017
Monstercat
Monstercat 7 лет
Вот если бы он сжал 1 гб на 100 мб, может бы я удивился, а так незнаю…
FaXiR
FaXiR 7 лет
1 Гб сжать на 100Мб?
Ну… 1 гб = 1024Мб
1024 -100 Мб = 924Мб.

А 1Гб до 100Мб сжать не получится. Хотя если например замутить сжиматор с базой данных до 1Тб, то можно размахнуться и из 1Гб сделать 1Мб.
Оставьте комментарий...
Оставьте комментарий...