Как очистить кеш Flutter Build?
Кажется, есть проблема со сборкой флаттера.
Мне всегда нужно выполнять RUN > полный перезапуск Flatter каждый раз, когда я запускаю приложение на эмуляторе или устройстве.
В противном случае приложение загружает тело скаффолда, которое было в моем коде 2 недели назад, когда я впервые начал его кодировать.
Здесь текущий источник на pastebin
children: <Widget>[
new Opacity(
opacity: loader_visible ? 1.0 : 0.0,
child:
new Container(
padding: const EdgeInsets.all(32.0),
child: new CircularProgressIndicator()
)
),
пока вот итоговое дерево рендеринга:
Я предполагаю, что flutter кэшировал старый код и никогда не пытался заменить его новым, но я не уверен, как был реализован Hot Reload. В любом случае, я не думаю, что необходимо загружать старый кеш, когда мы уже выполнили полное восстановление.
Ответы
Ответ 1
Вы можете запустить flutter clean
.
Но, скорее всего, проблема с вашей IDE или аналогичной, как flutter run, создает совершенно новый apk. И горячая перезагрузка нажимает только модификации.
Попробуйте запустить приложение, используя flutter run
командной строки, а затем нажмите r
или R
для соответственно горячей перезагрузки и полной перезагрузки.
Ответ 2
Если в андроид студии
Tools-> Flutter-> Clean
Ответ 3
Или вы можете вручную удалить папку /build в папке /app-project вручную, если вы не можете запустить команду флаттера.
Ответ 4
Я нашел способ автоматизировать запуск очистки, прежде чем отлаживать код. (Предупреждение, это запускается каждый раз, когда вы нажимаете кнопку, даже для горячего перезапуска)
-
Сначала найдите меню Run> Edit Configurations
-
Нажмите значок "Внешний" инструмента "+" в разделе "Перед запуском: внешний инструмент", "Активировать окно инструмента".
- Запустить внешний инструмент
- Настройте его так. Поместите рабочий каталог в качестве каталога в свой проект.