Godot: Minimum Android target sdk level 18 (version 4.3) required even for 3.1 with GLES2

Created on 3 Sep 2018  路  6Comments  路  Source: godotengine/godot

You still need a device that is atleast at version 4.3 (The one that has GLES3 support) even with the GLES2 backend. May be related #21710

archived discussion android buildsystem

Most helpful comment

I have an Android 4.4 device for testing purpose, but not below 4.4
It's really hard to get such old devices these days.
so, it's not easy to confirm or fix a bug if a bug was reported.

according to the link from @akien-mga, Android OS distribution and difficulty of maintenance,
it's better to drop supporting below 18, IMO.

All 6 comments

https://developer.android.com/about/dashboards/
according to this statistics, under 18(4.3) has about 3.6% distribution.
should we support them too? I don't know.

See #18627 - basically if we supported SDK below 18, we couldn't ship applications on the Play Store.

Context: Starting in April (2017), if a JAR file is signed with MD5, Oracle will treat it as unsigned (https://www.infoworld.com/article/3159186/security/oracle-to-java-devs-stop-signing-jar-files-with-md5.html)

I have an Android 4.4 device for testing purpose, but not below 4.4
It's really hard to get such old devices these days.
so, it's not easy to confirm or fix a bug if a bug was reported.

according to the link from @akien-mga, Android OS distribution and difficulty of maintenance,
it's better to drop supporting below 18, IMO.

@akien-mga do you have a reference link saying that SHA1 signed APKs can't be submitted to the play store? I couldn't find such an announcement.

I had a look at this since my personal device was on SDK 16. My export got as far as the loading screen but encountered some issue compiling the fragment shader (possibly an issue specific to my device?). It could be a useful starting point if someone else wants to try:
https://github.com/stewbasic/godot/tree/android16

@stewbasic See #18626 and #18627. Since April 2017, JAR files signed with MD5 (and SHA-1) are treated as unsigned, so they produce invalid APKs for Android. We now need to use SHA-256, which is not supported on API level < 18 as per https://github.com/godotengine/godot/pull/18626#issuecomment-387295977

And anyway the hardware and graphics drivers of such < 18 devices is way too old for us to be able to support, so it's a good change that the minimum is now 18.

It worth a trouble to support only 4.3 (0.4%) anyway?
image
I would suggest to support at least 4.1 (3.0%, 4.1-4.3), others (like Unity) do that (4.1+).
With GLES2 in 3.1 it make even more sense.
Or drop it completely in favour 4.4+.

Was this page helpful?
0 / 5 - 0 ratings