Как да се намали размера на файла APK

Как да се намали размера на файла APK
Всеки знае, че Android Market се самоограничава в размера на публикуваните програми. Днес в магазина можете да поставите на молбата, размерът на които не надвишава 50 MB, но какво ще правиш, ако излезе от това ограничение? Дейвид Карлсон. архитект на приложения от Sony Ericsson, предвижда няколко съвета, които могат да помогнат за намаляване на размера на APK файла.

Какво е APK формат?

APK - съкращение на пакета за Android приложение (Android архивен файл на програмата). Всяко заявление за Android е опакован във файла APK, който съдържа изпълним код (.dex файлове), ресурси, активи и файла на манифеста. В действителност, APK е стандартен компресиран архивен файл, така че няма смисъл да компресирате файловете предварително ресурси от всеки архиватор.

Как да се намали размера на файла APK
Ето няколко съвета, които да ви помогнат да се намали размера на вашите Android програми.

използване ProGuard

ProGuard - това Obfuscator, едновременно компресиране размера на код. Както е добре известно, Java приложения са събрани в байт код, от който просто се възстанови Java изходния код. За да усложни живота любителите обратен инженеринг изобретил Obfuscators. Obfuscator е да обърка изходния код, запазвайки оригиналната функционалност. Оказва се, работещ код, има малко подходящ за четене от човек. програма ProGuard еквилибристика освен всъщност компресира изходния код, което го прави по-бързо и по-малко взискателна към паметта. Много е важно, след като се използва ProGuard поведение приложения задълбочено изпитване, получени. Може да има ситуации, когато по време на оптимизацията и код еквилибристика променят своята функционалност. В такива случаи е важно да се грижи за поддържането на картографирането на символ, така че може да се възстанови от изходния код на явен и се опитват да се установи източникът на проблемите.

Премахване на информация за отстраняване на грешки

Дейвид препоръчва преди съставянето на окончателния вариант на програмата, за да се премахнат всички от тях, свързани с отстраняване на грешки в дизайна, тъй като те не носят нищо полезно потребител.

Част от компилатора Android SDK е в състояние автоматично да премахнете кода отстраняване на грешки от освобождаване, но програмистът трябва да се грижи за правилното изпълнение на програмата, поставяне на командите за отстраняване на грешки в специална единица:


Често начинаещите програмисти правят това, за отстраняване на грешки код под формата на индивидуални методи

Това не е най-доброто решение, тъй като блокът ако (отстраняване на неизправности), ще бъдат премахнати в момента натрупването освобождаване. но metodmyDebugPrint () и поканата ще остане непокътнат и ще остане на мястото си.

Премахване на отстраняване на грешки символите на местните библиотеки

Използване на символите за отстраняване на грешки има смисъл, когато молбата Ви е в процес на разработка. Ако решите да се съберат на освобождаването, Дейвид препоръчва да се премахне за отстраняване на грешки символите на местните библиотеки (Така че файлове). Това може да стане, като се обадите на командния ръка-EABI-лентата на Android НДК.

Компреси PNG файлове

Използвайте 9patch PNG за мащабируем изображение

9patch PNG - специален формат, който може да се използва за създаване на разтегливи субстрати. Най-често формат се използва за създаване бутони и други елементи на потребителския интерфейс. Като част 9patch картина е разделен на сегменти 9 - четири ъгли, четири страни и централната част. Въз основа на тези изображения могат да бъдат създадени от всякакъв размер субстрат, където ъглови сегменти не мащабирани; ребра и протегна централна отсечка (повторени няколко пъти), за да запълни празнините между ъглите. По-долу е 9patch картина и две генерирани на базата на бутоните му. Използването на този формат може да намали значително размера на графиките, необходими за създаването на интерфейса.

Премахване на неизползваните ресурси

Като правило, влязло в папка съдържа няколко неизползвани ресурси. За да ги премахнете, можете да използвате специални utilituandroid-неизползвани ресурси. която сканира вашия код и премахва неизползваните ресурси от проекта.

избегне дублирането

Уверете се, че да не се дублират функциите и активи (линии, рисунки и т.н.), в молбата си. Важно е да се разбере това, което се използва програмния интерфейс на Android, и да знаят тяхната функционалност. То може да бъде, че в програмата си за решаване на проблем, който може да бъде решен с помощта на API вече е свързан, свържете новия API. Дублирането на код, например, включване на функции правят едно и също нещо, също води до подуване на файловете, APK.