Flutter images not loaded (EXCEPTION: resolving an image codec)

75,575

Solution 1

Get rid of the leading / in your path to the png. It should be images/p8.png.

Also, consider using the cleaner Image.asset constructor, for example:

new Image.asset('images/p8.png', width: 100.0, height: 100.0)

Solution 2

One thing to note is the 'assets:' tag must be correctly indented with the 'flutter:' tag, but it only throws an error occasionally when loading an asset. So this won't work:

flutter: 
assets:
    - images/

But this will:

flutter: 
  assets:
    - images/

Solution 3

Add '/' correctly in all image paths

In Android Studio,

Tools->Flutter->Flutter Clean

Solution 4

with new flutter version you also could put folders in pubspec.yaml, not only files

flutter:
  uses-material-design: true
  assets:
    - images/

Solution 5

Besides the directory path make sure your image is valid, I have a png file which was not supported that was causing this error.. just make sure by opening the image in any image viewer to confirm the file is supported...

Share:
75,575
Andrea Zanini
Author by

Andrea Zanini

Updated on July 09, 2022

Comments

  • Andrea Zanini
    Andrea Zanini almost 2 years

    When I try to run images assets doesn't get properly loaded, I am getting an exception:

    The following assertion was thrown resolving an image codec: Unable to load asset: /images/p8.png`

    Some weeks ago it was working and now it stopped. I tried to run from different pc and mac too (with simulator) anв still no images can be loaded. Fonts instead are properly loaded.

    This is how I load the images, they are rendered inside a GridView Below is the code:

    return new Expanded(
          child: new GridView.count(
              crossAxisCount: 2,
              padding: const EdgeInsets.fromLTRB(16.0, 25.0, 16.0, 4.0),
              children: <Widget>[
                new MaterialButton(
                  onPressed: () {
                    Navigator.of(context).pushNamed('/biliardo');
                  },
                  child: new Column(
                    children: <Widget>[
                      new Image(
                        //parte importante, definire gli asset per trovarli più velocemnte
                        //si inseriscono nel pubspec.yaml
                        image: new AssetImage('/images/p8.png'),
                        height: 100.0,
                        width: 100.0,
                      ),
                      new Text(
                        "BILIARDO",
                        style: new TextStyle(
                          color: (darkTheme) ? Colors.blue : Colors.black,
                        ),
                      )
                    ],
                  ),
                ),
    
                .....
    
        );
    

    pubsec.yaml file code:

    flutter:
      uses-material-design: true
      assets:
        - images/emptyBall.png
        - images/p1.png
        - images/p2.png
        - images/p3.png
        - images/p4.png
        - images/p5.png
        - images/p6.png
        - images/p7.png
        - images/p8.png
        - images/p9.png
        - images/p10.png
        - images/p11.png
        - images/p12.png
        - images/p13.png
        - images/p14.png
        - images/p15.png
        - images/basket.png
        - images/volley.png
        - images/tennis.png
        - images/rugby.png
        - images/numbers.png
      fonts:
        - family: ShotClock
          fonts:
            - asset: utils/ShotClock.ttf
    

    Logs

    flutter analyze

    Analyzing D:\Android\AndroidStudioProjects\flutter_app...
    No issues found!
    Ran in 5.2s
    

    flutter -v run

    https://docs.google.com/document/d/133Z7029VGJXBDCYLgCrj09F9cLbvIQQ5X8yBS4pPC7I/edit?usp=sharing
    

    Flutter Doctor

    flutter doctor -v

    [√] Flutter (Channel beta, v0.3.1, on Microsoft Windows [Versione 10.0.16299.371], locale it-IT)
        • Flutter version 0.3.1 at C:\Program Files\Flutter\flutter
        • Framework revision 12bbaba9ae (12 days ago), 2018-04-19 23:36:15 -0700
        • Engine revision 09d05a3891
        • Dart version 2.0.0-dev.48.0.flutter-fe606f890b
    
    [√] Android toolchain - develop for Android devices (Android SDK 27.0.3)
        • Android SDK at C:\Users\Zanini\AppData\Local\Android\sdk
        • Android NDK location not configured (optional; useful for native profiling support)
        • Platform android-27, build-tools 27.0.3
        • Java binary at: C:\Program Files\Android\Android Studio\jre\bin\java
        • Java version OpenJDK Runtime Environment (build 1.8.0_152-release-1024-b02)
        • All Android licenses accepted.
    
    [√] Android Studio (version 3.1)
        • Android Studio at C:\Program Files\Android\Android Studio
        • Flutter plugin version 24.0.1
        • Dart plugin version 173.4700
        • Java version OpenJDK Runtime Environment (build 1.8.0_152-release-1024-b02)
    
    [√] Connected devices (1 available)
        • Nexus 5X • 01cde5e7db8d4c14 • android-arm64 • Android 8.1.0 (API 27)
    
    • No issues found!
    
  • Fifer Sheep
    Fifer Sheep almost 6 years
    Not able to do this, even after an upgrade. What version was this introduced?
  • tomcounsell
    tomcounsell almost 4 years
    could you suggest an "image viewer" to use?
  • Jerin
    Jerin almost 4 years
    I used Windows image viewer itself
  • tomcounsell
    tomcounsell almost 4 years
    I had a normal .png file that opens fine as an image file, but Flutter throws this (EXCEPTION: resolving an image codec). I exported it to .jpg then Flutter displayed it. I wonder what codecs Flutter supports and how to provide support of all standard codecs that fall under .png filetype
  • Tiago Santos
    Tiago Santos almost 4 years
    Stranger thing to me is that sometimes my png is loaded, but others is not. It tends to throw this exception particularly in the beginning of the app run
  • Wai Ha Lee
    Wai Ha Lee over 3 years
    This is what most of the other answers already stated. Duplicate answers should not be posted and will be deleted. From Review.
  • Omatt
    Omatt about 3 years
    It's better to share code snippets using code blocks instead of images. With code blocks, the snippets can be easily read and shared. It'll also helpful if you can explain how or why your answer solves the issue. Here are other tips on how to write a good answer stackoverflow.com/help/how-to-answer
  • 13garth
    13garth almost 3 years
    Thank you!!!!! This fixed my problem, I was trying everything. Turns out I just needed to run flutter clean XD Thank you
  • M E S A B O
    M E S A B O over 2 years
    Why doesn't flutter indicate that it is in fact that?