Почему изменения не сохраняются на устройстве после горячей перезагрузки?

Иногда я пишу и сохраняю некоторый код, Android Studio перезагружает мое подключенное устройство (Android) в горячем режиме, и изменения работают, как и ожидалось. Однако, если я останавливаю программу на телефоне или отключаю устройство от Android Studio, изменений нет - программа выглядит или работает так, как она работала до горячей перезагрузки изменений. Как будто изменения были в памяти телефона, а не сохранялись как часть APK на устройстве. ... Это ожидаемое поведение? (Если да, то какой параметр изменяет поведение, чтобы перезагруженный код компилировался и сохранялся как часть APK, загруженного на подключенное телефонное устройство?)

У меня Android Studio 3.5.3. Я видел этот пост, но ему уже несколько лет, и я действительно вижу свои изменения; они просто не сохраняются на устройстве.


person Al C    schedule 19.02.2020    source источник


Ответы (2)


Когда вы выполняете горячую перезагрузку, флаттер просто виртуально обновляет его, поэтому он работает так быстро.

Если вы хотите сохранить свои изменения, у вас есть два варианта:

  1. Перед отключением телефона перезапустите приложение (полное восстановление НЕ горячая перезагрузка)

    ИЛИ

  2. Запустите flutter run --release в терминале, это создаст APK-файл отладки для вашего приложения.

Надеюсь, это поможет.

person Arsh Shaikh    schedule 19.02.2020

В режиме отладки приложение Flutter работает на виртуальной машине Dart, а горячая перезагрузка просто перезагружает виртуальную машину, а не переустанавливает фактический APK.

person Michael Yuwono    schedule 19.02.2020
comment
Ответы на два вопроса, которые я задавал в течение двух дней. Благодарю вас! - person Al C; 20.02.2020