Unreal is quite an overkill, also I forgot to write that I'm going for 2D games and I already have a good knowledge of C++, I've checked SFML but I've noticed that it doesn't officially support Android, what about SDL? it should be based on OpenGL as well but with mobile support right? also is going for pure OpenGL a bad idea for a beginner in game dev?
Well if you want to develop for Android then you have to use OpenGL - or at least one of the several mobile variants depending on your hardware and Android version and whatnot. DirectX is only available on the Windows or XBox platforms, Mantle is only available on desktop Windows, and... I think Apple has some sort of low-level Mantle-like API for their own products, but I can't remember the name right now.
For a beginner, it is much less important what you use, just that you make a choice and learn it. Since you want Android support, you must use OpenGL, so go ahead and learn it. If you change your mind and want to move to DirectX, Mantle, or something else later you'll already have learned a lot from using OpenGL that will transfer over, so your time won't be wasted.
This is, of course, assuming that whatever engine you use doesn't completely abstract away the graphics API - though understanding the basics of that API will make debugging issues much easier.