lock
lock

Reputation: 6614

How to clear Flutter's Build cache?

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: 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

Answers (13)

AmirMohamamd
AmirMohamamd

Reputation: 412

Run this:

flutter packages pub run build_runner build --delete-conflicting-outputs

Upvotes: -2

Aadil Ansari
Aadil Ansari

Reputation: 331

Use this command to clean cache in flutter

flutter pub cache clean

Upvotes: 24

Amer Al zibak
Amer Al zibak

Reputation: 1961

you may find it useful if you delete the .pubcache inside your flutter sdk directory.

Upvotes: 3

Rootdevelopper
Rootdevelopper

Reputation: 149

Besides running flutter clean... The IDE sometimes has its own cache, Android invalidate 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

Deshan Maduranga
Deshan Maduranga

Reputation: 110

open your terminal in IDE type flutter clean and press Enter then hot Reload the project again

Upvotes: -3

Muhammad Bilal ahmad
Muhammad Bilal ahmad

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

Zhou Haibo
Zhou Haibo

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 filekernel_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

Reas Soe
Reas Soe

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

psygo
psygo

Reputation: 7603

There are basically 3 alternatives to cleaning everything that you could try:

  • flutter clean will delete the /build folder.
  • Manually delete the /build folder, which is essentially the same as flutter clean.
  • Or, as @Rémi Roudsselet pointed out: restart your IDE, as it might be caching some older error logs and locking everything up.

Upvotes: 11

Tigran Sarkisian
Tigran Sarkisian

Reputation: 1093

If in android studio Tools->Flutter->Clean

enter image description here

Upvotes: 50

ThinkDigital
ThinkDigital

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)

  1. First, find the Run > Edit Configurations Menu

  2. Click the External tool '+' icon under Before launch: External tool, Activate tool window.

  3. Run External Tool
  4. Configure it like so. Put the working directory as a directory in your project.

Edit Configurations. Configurations

Run External Tool Add Flutter Clean

Upvotes: 3

hatted
hatted

Reputation: 1597

Or you can delete the /build folder under your /app-project folder manually if you cannot run flutter command.

Upvotes: 0

R&#233;mi Rousselet
R&#233;mi Rousselet

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

Related Questions