"No assets changed, skipped."

I’m trying to get a working icon for push notifications but when I change the file and do another “expo publish” I get “No assets changed, skipped.” and don’t get a new .apk.

expo build:status still shows the same latest build (### 0)…

[17:26:29] =================
[17:26:29] Builds Statuses
[17:26:29] =================

[17:26:30] ### 0 | Android | https://expo.io/builds/389a0350-c68c-48a0-ae5d-3ba2a34651b4 ###
[17:26:30] Build finished.
[17:26:30] APK: https://exp-shell-app-assets.s3.us-west-1.amazonaws.com/android/%40buxtonfringe/buxtonfringe-3bf1333ece41436f82d749837f2bca96-signed.apk

This is with changing the png file referenced in app.json’s notification field…

"notification": {
    "icon": "./assets/images/notification.png",
    "color": "#F68026"

The file is named the same but has been updated since the last build.

I’m using sdk 29 and expo-cli 2.4.0

Is there a step I’m missing?

Hey @buxtonfringe,

In order to have the notification change take effect, you need to build a new binary. There are certain things that publishing will not work for that you can read about here. We’re working on some tooling improvements to make this less confusing for users.


Ah OK, I see now - that worked.

Many thanks!


1 Like

Actually, though this is working now I’m still confused by the fact that when I changed an image file the publish step said “No assets changed, skipped.”. It’s confusing if it didn’t actually skip the file and had uploaded it (which it must have done if a later build did indeed add it to the generated apk).

Is it that the "No assets changed, skipped.” message refers to assets explicitly referenced in .js files rather than those referenced by the app.json’s assetBundlePatterns? Mine seems to be set to include everything but is this just the default perhaps?

“assetBundlePatterns”: [



if you changed an image file but that file isn’t referenced in your app with a require or import then it won’t be uploaded

So if it is only referenced in the app.json notification field then a change won’t be picked up?

I had earlier added a dummy require(’./assets/images/notification.png’) into my App.json AppLoading startAsync but wasn’t sure if it needed to be used. Yet even if it is I still get the “No assets changed, skipped.” message.


perhaps we should add that to this list of limitations: https://docs.expo.io/versions/v28.0.0/workflow/publishing/#limitations

I’m just unclear what the limitation is. I’m happy to have to rebuild a new binary but do I also need a dummy require for the image?

This topic was automatically closed 20 days after the last reply. New replies are no longer allowed.