Обратите также внимание на это:
Если вы строите свой apk, используя flutter build apk
, он будет содержать apk как arm-32, так и arm-64 (Какой флаттер будет отображаться в коноле при создании apk). Если вы строите комплект приложений, это не проблема, и его размер намного меньше.
Чтобы избежать одного плоского apk, содержащего arm-32 и arm-64, вы можете построить их отдельно, используя две команды:
flutter build apk --target-platform=android-arm
Выше будет выдан arm-32
бит apk. Go в project -> build -> app -> release
и переименуйте apk в это: app-armeabi-v7a-release.apk
.
, затем увеличьте код версии в pubspe c .yaml, затем flutter pub get
и сделайте это:
flutter build apk --target-platform=android-arm64
Выше будет выдан arm-64
бит apk. Go в project -> build -> app -> release
и переименуйте apk в это: app-arm64-v8a-release.apk
.
Затем вы можете отправить два apk отдельно (сначала нижняя версия apk).
Так как вы должны запустить увеличивая код версии двумя командами, flutter упростил эту команду (думаю, flutter> 1.5.4): flutter build apk --split-per-abi
. Эта команда будет увеличивать код версии apk для второго apk и давать вам два переименованных apks (обратите внимание, что эта команда будет генерироваться с более высоким кодом версии (например, 3222)).
From do c:
Из командной строки:
Enter cd <app dir>
(Replace <app dir> with your application’s directory.)
Run `flutter build apk --split-per-abi`
(The flutter build command defaults to `--release`.)
Эта команда приводит к двум файлам APK:
<app dir>/build/app/outputs/apk/release/app-armeabi-v7a-release.apk
<app dir>/build/app/outputs/apk/release/app-arm64-v8a-release.apk
<app dir>/build/app/outputs/apk/release/app-x86_64-release.apk
Удаление флага --split-per-abi
приводит к толстому APK, который содержит ваш код, скомпилированный для всех целевых ABI. Такие APK больше по размеру, чем их разделенные аналоги, поэтому пользователь загружает собственные двоичные файлы, которые не применимы к архитектуре их устройства
Подробнее читайте здесь .
Также отметьте это:
- В качестве другого упомянутого ответа удалите все ненужные ресурсы (изображения, шрифты и файлы).
Если у вас слишком много шрифтов, которые влияют на apk sizely и flutter также создали решение для этого, создав пакет для вас, чтобы вы могли получать шрифты из библиотеки шрифтов google (потрясающий пакет, который дает вам доступ к такому количеству шрифтов и гибкости для использования в любом месте). Получите пакет здесь и Подробнее здесь .
- Удалите ненужные пакеты / плагин, который не использует (хотя и не сильно влияет).