Reputation: 6614
There seems to be a problem with flutter's build.
I always need to perform RUN > Flutter Full Restart everytime I run the app to an emulator or device.
Otherwise, the app loads a scaffold body which my code had from 2 weeks ago when I first started coding it.
Here's the current source on pastebin
children: <Widget>[
new Opacity(
opacity: loader_visible ? 1.0 : 0.0,
child:
new Container(
padding: const EdgeInsets.all(32.0),
child: new CircularProgressIndicator()
)
),
while here is the resulting render tree:
I'm guessing flutter has cached the old code and never bothered replacing it with the new one, but I am not sure how it's Hot Reload was implemented. Anyways, I don't think that it is necessary to load the old cache when we have already performed a full rebuild.
Upvotes: 119
Views: 486612
Reputation: 412
Run this:
flutter packages pub run build_runner build --delete-conflicting-outputs
Upvotes: -2
Reputation: 331
Use this command to clean cache in flutter
flutter pub cache clean
Upvotes: 24
Reputation: 1961
you may find it useful if you delete the .pubcache
inside your flutter sdk directory.
Upvotes: 3
Reputation: 149
Besides running flutter clean
... The IDE sometimes has its own cache,
If that still does not work try deleting the app from the emulator or using a new emulator. I believe the app itself might be the one caching part of the application.
Upvotes: 9
Reputation: 110
open your terminal in IDE type flutter clean and press Enter then hot Reload the project again
Upvotes: -3
Reputation: 325
I was facing the same issue and i found out that I was having two terminals in visual studio code, On first terminal it was already running my flutter project and on the other terminal I was running different solutions shared in this thread. Due to this reason no solution was working for me. So there are two ways you can solve this problem. 1- Restart visual studio code (it will automatically close the terminals) 2- Stop the terminal in which flutter project is already running and then run flutter clean command.
Upvotes: 1
Reputation: 2078
Same issue with mine.
New to Flutter. I'm using VS build-in terminal to do flutter run
, to run the app in iPhone. It gives me error Error when reading 'lib/student_model.dart': No such file...
, which is an old code version in my code. I have changed it to lib/model/student_model.dart
.
And I search this line 'lib/student_model.dart'in the project, it appears file
kernel_snapshot.d` containing it. So, it build the project with old code version.
For me, Flutter clean
is not working. Restart VS fix the issue, not sure the problem is due to Flutter or VS?
And I'm wondering if there is some command to just build flutter project without run?
Upvotes: 1
Reputation: 11
I tried flutter clean
and that didn't work for me. Then I went to wipe the emulator's data and voila, the cached issue was gone. If you have Android Studio you can launch the AVD Manager by following this Create and Manage virtual machine. Otherwise you can wipe the emulator's data using the emulator.exe command line that's included in the android SDK. Simply follow this instructions here Start the emulator from the command line.
Upvotes: 1
Reputation: 7603
There are basically 3 alternatives to cleaning everything that you could try:
flutter clean
will delete the /build
folder./build
folder, which is essentially the same as flutter clean
.Upvotes: 11
Reputation: 3539
I found a way to automate running the clean before you debug your code. (Warning, this runs everytime you hit the button, even for hot restart)
First, find the Run > Edit Configurations Menu
Click the External tool '+' icon under Before launch: External tool, Activate tool window.
Upvotes: 3
Reputation: 1597
Or you can delete the /build folder under your /app-project folder manually if you cannot run flutter command.
Upvotes: 0
Reputation: 277577
You can run flutter clean
.
But that's most likely a problem with your IDE or similar, as flutter run creates a brand new apk. And hot reload push only modifications.
Try running your app using the command line flutter run
and then press r
or R
for respectively hot-reload and full-reload.
Upvotes: 211