Android supports adaptive icons, which can be resized to a user's desired shape. As of Android 13, this also allows users to change the color of their icon to match their theme, if the adaptive icon is configured correctly.
I believe this is what this patch does: https://lists.sr.ht/~emersion/goguma-dev/patches/37791
that could very well work, I don't understand how the icon is set up very well right now
I was digging around a bit, and there appear to be a few "pure-flutter" ways to do it: https://pub.dev/packages/flutter_launcher_icons
That package only automates the image generation, and doesn't support vector images.