У apk Flutter build есть ошибки, а отладка идеальна - PullRequest
0 голосов
/ 21 апреля 2020

Отладочная версия приложения отлично работает на эмуляторе и на моем android устройстве. Даже установка app-debug.apk в порядке. Однако, когда я 'flutter build apk', app-release.apk содержит странные ошибки, а кнопки и некоторые другие анимации перестают выполнять свои задачи. Я не мог ничего узнать об этом онлайн. Кто-нибудь из вас сталкивался с этой проблемой? Может ли это быть проблемой с управлением государством провайдера? Я не понимаю, как, потому что app-debug.apk работает отлично.

Это началось на мастер Flutter, но затем я попробовал каждый из других каналов, и у всех была та же проблема.

Флаттер 1.18.0-6.0.pre.106 • мастер канала • Инструменты • Дарт 2.9.0 (сборка 2.9.0-1.0.dev a12c36dd97)

Флаттер 1.12.13 + исправление.9 • стабильный канал • Инструменты • Дарт 2.7.2

Флаттер 1.17.0 • Канал бета • Инструменты • Дарт 2.8.0 (сборка 2.8.0-dev.18.0 eea9717938)

Флаттер 1.18.0-dev .5.0 • channel dev • Инструменты • Dart 2.8.0 (build 2.8.0-dev.20.0 89b0f67261)

На всех эмуляторах (3-4) и устройствах (2), которые я пробовал, версия выпуска либо не открывался, или если он действительно открывался, в нем были ошибки.

Это тысячи строк кода, и я не знаю, где ошибка, но в любом случае вот ссылка на репо: https://github.com/burhanhaq/PomodoroApp/tree/master/lib

РЕДАКТИРОВАТЬ : выяснил проблему. У меня была ошибка с контроллером в режиме отладки, о котором я не заботился. Я вызывал setstart () во время перестройки / перерисовки виджета, и это было ошибкой.

Ответы [ 3 ]

1 голос
/ 21 апреля 2020

То, как вы создаете apk - это толстый APK, попробуйте использовать следующую команду в терминале, это уменьшит основные ошибки c, потому что он будет создан для определенных c устройств flutter build apk --split-per-abi, вы можете прочитать об этом больше здесь Сборка и выпуск Android приложение

1 голос
/ 21 апреля 2020

Вы должны попробовать отключить progaurd и minifyEnabled. Из файла build.gradle, который находится внутри / android / app /

Это может произойти, когда progaurd выполняет свои действия в версии выпуска, запутывая ваш код, который иногда может нарушить вашу сборку.

0 голосов
/ 22 апреля 2020
  1. Попробуйте отключить R8, который является новым средством сжатия кода от Google, и он включен по умолчанию. Он может изменить ваш код при оптимизации и может привести к сбою приложения в некоторых конкретных c проектах, подобных вашему. Для этого передайте флаг --no-shrink на flutter build apk или flutter build appbundle. Вы можете прочитать полные документы о R8 здесь .

  2. Второй вариант, который Вы можете попробовать - это построить apk через Android Studio IDE. Когда вы открываете Android Studio, открываете папку /android как проект, затем попробуйте собрать apk через IDE вместо Terminal.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...