1) Для каждого типа архитектуры (x86 и ARMv7) делайте отдельный билд;
Build Settings - Other settings - Device Filter2) В графе
Stripping Level установите
Use micro mscorlib3) Используйте упрощенную библиотеку:
Build Settings - Other settings - Api Compatibility Level - .NET 2.0 Subset4) Правильно используйте текстуры/изображения (обычно главная причина большого размера apk):
- используйте текстуры POT(Power of two), т.е стороны картинки должны быть кратны степени двойки, например, 64x64, 512x256, 2048x512
Если это условие выполняется, то размер рассчитывается следующим образом (если не ошибаюсь), например картинка 512x256:
512 * 256 * 0.5 ~ 65kb
Если же картинка не POT, например 511x257, с глубиной 32bit (т.е 8 * 4 (каналы r, g, b, a)):
511 * 257 * 4 ~ 0.53mb
Для текстур без альфа канала можно использовать сжатие ETC (поддерживается всеми Android устройствами)
Если же использование не POT текстур невозможно, для них можно применять сжатие ASTC, хорошо сжимает "неправильные" текстуры, но поддерживается не всеми устройствами. Если устройство не поддерживает какой либо алгоритм сжатия то, насколько мне известно, текстура отображаться будет, но на её загрузку(обработку) устройству понадобится больше времени и оперативная память для одного изображения будет использована дважды, т.к будет происходить переконвертация.
Чтобы отследить что и сколько занимает места в apk билде, можно просмотреть лог: после построения билда перейдите на вкладку
Console, справа вверху окна нажмите на маленькую стрелочку и выберите
Open Editor Log.
Там вы сможете просматривать подробную информацию о Вашем билде (не забывайте его очищать, чтобы легче потом было ориентироваться, если несколько раз билдить).