8

I will set a square app icon for my Android App made with Android Studio.

I set my own app icon with File -> New -> Vector Asset
This creates a normal and a round app icon.

If I copy and rename (ic_launcher_round.png) the quadratic app icon and install it for example on OnePlus Launcher i get the round icon, too.

My Logo is square, so it is really ugly to see it round.
How I can force a quadratic app icon? Is this possible?

If I set only android:icon="@mipmap/ic_launcher" instead of this and android:roundIcon="@mipmap/ic_launcher_round" in my Manifest.xml nothing change.

Phantômaxx
  • 37,901
  • 21
  • 84
  • 115
Hannes
  • 223
  • 1
  • 3
  • 9

3 Answers3

8

Your app's icon will be rounded when a launcher decides to make it rounded.

The "launcher" is just another app, like yours, but it is not your app - it is separated completely from it, and you can't normally influence any process that is separated from your app's process, OS will forbid that. Only sometimes you would be able to do something like that by utilizing some form of Inter Process Communication (IPC) offered by your OS, assuming of course that the process you want to communicate with is also 'willing to talk' with you [utilizes the same form of IPC to allow other process to change some of its behaviors].

Also the purpose of the Android Studio's wizard you used was to help you generate ready-to-use drawable files and it was just to save your time on making these drawables all by yourself in some image editor.

Any drawable set inside XML manifest file for being your app's round icon will be rounded a t the end and that is no matter how it actually looks. I don't think you can expect any currently available major launcher application to display some apps' icons as round and some as square. It would significantly harm its user experience.

I'm afraid you will have to adapt to this situation and make your square app's logo a little bit smaller and leave some empty space around it to allow end user's launcher app to draw a circle around this logo.

Here you can find official recommendations for designing Android apps' launcher icons: https://material.io/guidelines/style/icons.html#icons-icons-for-android and here you can read about the most current approach in a subject of Android apps' icons: Adaptive ones. Any other type of icon can be treated as 'legacy' and used only for compatability reasons when targeting APIs below 26.

Edit: In the comments section OP mentioned some apps that do currently have square icons in their newest versions and that turned out to actually be a small UX design flaw of its developers.

Just as an example, I've downloaded Bytecoin app OP mentioned, and this is how it looks like on my phone, Android 7.0: Red object cut off

The red object in the corner has ben cut off. I think we can assume that every other app on the Google Play that displays there with square logo [which looks good in their store pages because Google Play allows square logos] will look bad when installed on phones with modern versions of launchers, especially api >=26.

Android developer
  • 1,272
  • 1
  • 12
  • 17
  • Thank you for this detailed explanation! Is there a list available where I can see the required pixels for the different sizes? If necessary, I would have to manually adjust the round icons in a photo editor. The app icons rounded by the launcher are really ugly.... But I have one more question. How can the icon of the "Bytecoin" app or the "DB Navigator" app remain square with rounded edges? Does the launcher make this arbitrary? – Hannes Feb 17 '18 at 21:15
  • @Hannes Please see my edited answer. I have added some links that may already answer your first question and if they don't completely, I don't think it would be anything that you couldn't Google yourself and know the answer in just a few minutes. About your second question: sorry but I don't know and I'm afraid I can't help you without knowing anything specifically about your private phone and launcher. – Android developer Feb 17 '18 at 21:26
  • Thanks, I marked it as solution. Some of my users have a oneplus 3t with OnePlus Launcher. – Hannes Feb 17 '18 at 21:30
  • I see, one of the users has also installed Warship (https://play.google.com/store/apps/details?id=net.wargaming.wows.blitz). This has a quadratic icon.... – Hannes Feb 17 '18 at 21:31
  • @Hannes In a perfect world, when OS manfuacturer announces a new convention for its system, all of its developers immediately adapt to this convention, but here, in our world, things are kind of different. Apps you mentiond indeed all have quadratic icons, but actually, they shouldn't. Just to prove you this 'concept' I have just downloaded that "Bytecoin" app and here is how it looks on my phone [Android 7.0]: https://i.imgur.com/GrueuD0.jpg As you can see - the red object is cut off - this is a (small) UX flaw of its developers. – Android developer Feb 17 '18 at 21:52
  • I like the wallpaper tho – Medet Tleukabiluly Aug 17 '19 at 06:56
  • @RadekKłos in a perfect world the OS manufacturer would respect the branding decisions the developer made in previous iterations where this convention did not exist rather than trampling on every one else's brand in a pointless crusade for uniformity. Having enforced circular icons on the launcher, they are now enforcing rounded squares in the play store. It makes no sense. – QuantumTiger Sep 11 '19 at 14:08
8

If your target SDK is 26 and android device version is 8, the app icon will be round.

One of the ways to achieve this is (Not sure if it is the right/best way to do it)

In AndroidManifest.xml I had to set

android:targetSdkVersion=“20”

<uses-sdk android:minSdkVersion=“16" android:targetSdkVersion=“20” />

android:roundIcon=“@mipmap/ic_launcher_round”

<application android:hardwareAccelerated=“true” android:icon=“@mipmap/ic_launcher” android:label=“@string/app_name” android:roundIcon=“@mipmap/ic_launcher_round” android:supportsRtl=“true”>

Ensure the ic_launcher_round images are Squared one.

I used the android studio to generate adaptive and legacy icons…

I deleted the ic_launcher_round images generated by the android studio.

I copied ic_launcher images(Generally the Square icons) to ic_launcher_round.

Now my ic_launcher_round is Squared icons.

(ic_launcher_round.png, ic_launcher.png, icon.png) all of them are the same images

After making this changes, rebuild the app. Now you should see Square icon when you install the app.

Trupti M Panchal
  • 250
  • 3
  • 10
  • Thanks, setting targetSDK to 25 restored my square icon. Probably not the right solution, but it'll do for now. – Serdnad Jun 19 '18 at 03:36
  • 4
    Starting August 1st, Google will force setting targetSdk of new apps to +26. Ref: https://developer.android.com/distribute/best-practices/develop/target-sdk – gioravered Jul 03 '18 at 07:26
  • 1
    Adding `android:roundIcon="@mipmap/ic_launcher_round"` worked for me :) – Tom Hall Aug 16 '18 at 19:50
0

Since Android 8.0 (Oreo)

The new way of designing app icons for Android now is described there :

Android 8.0 (API level 26) introduces adaptive launcher icons, which can display a variety of shapes across different device models.

When using adaptative icons, launcher icons have 2 layers : foreground and background (see Creating adaptive icons in XML).

The shape (round, square...) can vary depending of the system / launcher settings.

Before Android 8.0

Legacy icons can be generated this way : Create a legacy launcher icon

Guillaume Husta
  • 4,049
  • 33
  • 40