Godot version:
3.0.3
OS/device including version:
Android devices with Android Oreo (8.0.0) or higher.
Issue description:
Godot does not support Android Adaptive Icons and Android's roundIcon (https://developer.android.com/guide/practices/ui_guidelines/icon_design_adaptive.html), therefore Android games exported from Godot do not have icons that adapt to the user's system settings. Since this is the new standard way of defining app icons on Android, I think Godot should support it too in the export options.
Steps to reproduce:
Run a game on an Android 8.0.0+ device and see how the icon does not adapt it's shape to the other app icons. The icon also doesn't animate like the other icons do when the user interacts with it.
About this feature I would go a bit further, since android allows application to use their own icons, it would have been great if you can add files to the res
folder directly from the project itself.
https://developer.android.com/guide/topics/ui/notifiers/notifications
In the export panel, I suggest to add a path field allowing the developer to select a path to the res
directory, and this directory will be copied during the export to the res
directory of exported apk.
There this now.
Google has published a timeline for mandatory API level adoption. Generally, API levels that are a year old will become mandatory for new and updated apps. This will begin in August 2018, when targeting API level 26 (Android 8.0, released August 2017) will be mandatory for new apps. A month later, the requirement kicks in for all app updates.
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.
So to update an app after August you need to use and adaptive icon. Therefore this should be quite a priority.
@alvarlagerlof As I read it the requirement is only to target API level 26 (which Godot 3.0.3 does, and the upcoming 2.1.5 will too).
Adaptive icons are a feature available in API level 26, but its availability doesn't mean that it's a requirement to support it.
I'm not saying that we shouldn't work on supporting it though, but it doesn't seem to be urgent as per this new app update policy.
Ah, I see. But this happens, and it doesn't look too good.
For now, I found a workaround.
replace android:icon="@drawable/icon"
with these two
android:icon="@mipmap/ic_launcher"
android:roundIcon="@mipmap/ic_launcher_round"
under platform/android/AndroidManifest.xml.template
also, add you mipmap folders in res folder
recompile apks and add them to your project.
More about compiling apks read here http://docs.godotengine.org/en/3.0/development/compiling/compiling_for_android.html
Thanks for the workaround. I don't think we're able to add the two layers (foreground and background) Google talks of in the res/mipmap-v26/ic_launcher.xml file though. If we created that XML file, I doubt Godot would currently do anything with it?
@kristijandraca I tried that workaround but nothing's changed, not even the apk, I copied it to my git folder and the git didn't even marked the apk as changed, have I done something wrong?
We need to fix this problem urgently. The lack of adaptive icons greatly reduces the download of the application. I have lost 30% of users on all apps since August.
This issue does not have a milestone. This means that this problem will not be fixed soon. This means that users of my applications will look at these terrible icons for a long time. This makes me very sad.
@SmithJohnFirst Godot is a community-developed project. We don't have hard ETAs on anything, as people work on what they want to work on.
If you want it to happen faster, you'll have to contribute this feature or pay someone to do it.
I'll work on this and we should have adaptive icons soon.
It will also fix the fact that the proper density icons are not really being used by the currently exported apps. The icons are added to the apk, but not being present on the resources.arsc file they are just "dead weight".
Most helpful comment
I'll work on this and we should have adaptive icons soon.
It will also fix the fact that the proper density icons are not really being used by the currently exported apps. The icons are added to the apk, but not being present on the resources.arsc file they are just "dead weight".