Choosing min and target SDKs used to compile Android APK file

:information_source: Attention Topic was automatically imported from the old Question2Answer platform.
:bust_in_silhouette: Asked By Blastblood

I have a 4.2.2 version Android phone. I know it is old but I broke my phone so I use this for now. I exported my mobile game I made on Godot and tried to install it on my phone but it gave an error. Tried my mother’s phone and worked. Tried exporting it on Godot 3.1 with Gles 2 didn’t work. As I investigated the problem I saw that min sdk Godot uses to compile apk doesn’t include my version of Android. How can I lower this? Should I compile it manually or something?
I mean not many people use 4.2 but when i search for games on playstore most of them support 4.2 and particularly Godot games are the ones not compatible. I think 3% of the android os users use 4.2 and below and my project is a small arcade game not a 3D or complex one. What if I want to support 4.2 too? I don’t think it’s an important issue but it bugs me to see godot games are incompatible with my old phone while other games made with other engines aren’t. Is there a way to solve this issue? I have been searching for a solution but couldn’t find one yet for no one cares (can’t blame them).

:bust_in_silhouette: Reply From: eons

You can change the minsdk from on the source code only, and there is no guarantee that will work without problems because was only tested on the current minimum (19 I think).

Change this line

and recompile the template.

...
[Initial build] Compiling ==> drivers\gles2\rasterizer_canvas_gles2.cpp
=====
b"drivers\\gles2\\rasterizer_canvas_gles2.cpp:1371:4: error: use of undeclared identifier 'glBindVertexArray'\r\n                        glBindVertexArray(cc->array_id);\r\n                        ^\r\ndrivers\\gles2\\rasterizer_canvas_gles2.cpp:1378:2: error: use of undeclared identifier 'glBindVertexArray'\r\n        glBindVertexArray(0);\r\n        ^\r\n2 errors generated.\r\n"
=====
scons: *** [drivers\gles2\rasterizer_canvas_gles2.android.opt.armv7.neon.o] Error 1
scons: building terminated because of errors.

It goes on compiling for 5-7 mins and then gives an error like this even I had changed nothing on the source. I don’t know what do I miss. Can anyone familiar with this help me?

Blastblood | 2018-12-27 15:17

Anyway instead I decompiled the godot android template and changed minsdk 18 to 17. Compiled again. Did this for both release and debug. Then added them as custom templates while exporting apk. At least icon shows on my phone but still can’t install it. Before this, I tried changing an unsigned exported apk’s minsdk value and recompiled it and signed. This time it installed but the game crashed. The game’s only a few Area2d’s doesn’t even involve physics.

Blastblood | 2018-12-27 16:17

custom export template need the same version of the engine used,

ruruarchy | 2019-11-12 08:42