Using extensions in Android OpenGL ES 2.0 It is no secret that according to the official documentation extensions are not available under OpenGL ES 2.0. Nevertheless, the glext.h file present in the NDK platform-include directories makes me think that extensions are indeed available. I know that working with OpenGL under NDK doesn't differ from working with standalone OpenGL. So, if I make something like a JNI bridge between my java engine interface and these extensions, I could use them.

So the question is: what architectural solution should I use if I want to use available OpenGL ES extensions on ES2.0 devices?
I have encountered devices that advertise certain extensions via glGetString(GL_EXTENSIONS) and do not expose the entry points. I have also encountered the opposite, the extension was not in the extension strings but the entry points were there and it worked. It depends on whether the vendor has disabled any features in the driver from the GPU provider.

You will need to check both the extension strings and check if the entry point is not NULL via eglGetProcAddress.

Apart from that, each extension should conform to the Khronos registry of extensions so you can include gl2ext.h directly from there if you wanted.