I replaced all the images everywhere (by this I mean in drawable folders and all Windows Assets folders and iOS Resources folder), but it still shows me the default Xamarin
png
's in mipmap folders with your new iconobj
folder from Android project directoryThis problem had me stumped for a while and none of the answers I found contained the solution.
Xamarin Forms/Android puts 2 icons in each mipmap folder (mipmap-mdpi, mipmap-hdpi, mipmap-xhdpi, etc) - icon.png
and launcher-foreground.png
.
Replace both these images in each of the mipmap folders. I kept the same names but it should be possible to use a different name.
I cleaned and re-built the solution a number of times, however, the app was still deploying with the default icons.
It turned out that the original/default icons still existed in the Android project obj
folder, even after cleaning and re-building multiple times.
Delete the obj
folder from the Android project and build the solution. This successfully deployed the app with the new icon.
If you changed the icon name(s) please ensure you update the reference on MainActivity.cs
[Activity(Label = "MyName", Icon = "@mipmap/myicon", Theme = "@style/MainTheme"]
public class MainActivity : global::Xamarin.Forms.Platform.Android.FormsAppCompatActivity
{
}
You may also need to update the reference to launcher_foreground
in icon.xml
and icon_round.xml
in the mipmap-anydpi
folder.
For iOS, please see Managing Icons with Asset Catalogs. A summary taken from the linked page is provided below:
For icons, a special
AppIcon
image set can be added to theAssets.xcassets
file in the app's project.To use an Asset Catalog, do the following:
- Double-click the Info.plist file in the Solution Explorer.
- Click on the Visual Assets tab and click on the Use Asset Catalog button under App Icons.
- From the Solution Explorer, expand the Asset Catalog folder.
- Double-click the Media file to open it in the editor.
- Under the Properties Explorer the developer can select the different types and sizes of icons required.
- Click on given icon type and select an image file for the required type/size.
- Click the Open button to include the image in the project and set it in the xcasset.