Как сжать файл .APK, скажем, Winrar (.rar), а затем преобразовать его обратно в .APK? - PullRequest
0 голосов
/ 01 мая 2018

Как вы все знаете, недостатком приложений Xamarin Forms является их огромный размер. Несмотря на то, что я использовал разные сценарии для уменьшения размера приложения, такие как Linking и использование Proguard, мой размер Android APK все еще очень высок (около 30 МБ). Дело в том, что когда я сжал этот apk WinRar размером примерно 11 МБ. Я переименовал этот сжатый файл .rar в файл .apk, но при попытке установить этот файл я получил сообщение: «Произошла ошибка при разборе пакета».

Итак, мой вопрос: есть ли механизм, позволяющий использовать сжатие такого инструмента, как winrar, для файла APK, чтобы его можно было установить на любое устройство Android?

Ответы [ 2 ]

0 голосов
/ 03 мая 2018

К сожалению, это не так просто. В процессе упаковки архив вашего приложения будет хэширован. Если вы проанализируете его или сделаете какое-либо другое вмешательство в архив, полученный архив приложения будет иметь другой хеш, чем тот, с которым он был создан. Это приведет к тому, что ваш apk станет недействительным при установке из-за соображений безопасности.

0 голосов
/ 01 мая 2018

Затем вам придется снова распаковать его на устройстве. Вы не можете просто пойти и переименовать файл и ожидать, что он будет работать, бинарная структура совершенно другая.

Вам потребуется, чтобы пользователь скачал приложение, способное распаковать .rar (или любой другой формат, который вы выбрали), и научил пользователя извлекать APK-файл оттуда, а затем устанавливать его. Вы должны принять во внимание, что пользователь должен быть немного технически подкованным, чтобы иметь возможность сделать это, и в некоторых случаях может даже потребоваться больше прав на устройство, чем обычно. Насколько я знаю, нет механизма доставки, который сделал бы это для вас.

Если вы спросите меня, 30 МБ - это не так много, и проблема, связанная с этим, не стоит тех нескольких мегабайт, которые вы сбрили. Если вы посмотрите на средние приложения в магазине, они легко больше, чем это.

...