Android is doing something funny with the icon I give it for my app. If I give it a square icon, it will create a white circle and place it in the middle of it. Is there any way of stopping this? I just want it to use my icon as provided.
Have a look at Android’s adaptive icons.
This post explains it well: How do I use Android's adaptive icons in Unity? - Game Development Stack Exchange
This is the way Android icons behave now. It’s called ‘Adaptive icons’. As stated on their documentation:
Android 8.0 (API level 26) introduces
adaptive launcher icons, which can
display a variety of shapes across
different device models. For example,
an adaptive launcher icon can display
a circular shape on one OEM device,
and display a squircle on another
device. Each device OEM provides a
mask, which the system then uses to
render all adaptive icons with the
same shape. Adaptive launcher icons
are also used in shortcuts, the
Settings app, sharing dialogs, and the
overview screen.
In short, the icons are composed by two layers: one with your foreground image (logo) and other layer that is placed beneath it as your background.
The Android SO in your phone is the one cropping your logo into a round form, so you’re probably seeing that white circle because you might have not set a background image and white is the default bg color.
I think there’s no workaround to avoid this, sorry :-/