how I can change default icon in chrome extension?

with the new manifest v3 the standard for changing an icon at runtime is now

chrome.action.setIcon()

If you want to change the browser action default icon, just change

"browser_action": {
  "default_icon": "star-on.png", //<--this line: change "star-on.png" to the icon you want
  "popup": "shopcmp.htm"  
},

That line indicates the default icon on first load of the extension.
To change the icon in code, call chrome.browserAction.setIcon(details).

If you want to change the extension icon (the icons that shows during installation, in the Chrome Web Store, in the extension management page, and as a favicon), add an icons property to your manifest.json file.


To change the default chrome extension pragmatically you can do:

chrome.browserAction.setIcon({ path: "my-icon.png" });

or for custom sizes:

chrome.browserAction.setIcon({
  path: {
    19: "my-icon19.png"
  }
});

Full docs: https://developer.chrome.com/docs/extensions/reference/browserAction/#method-setIcon