Several frameworks are available in the market to enable Android game development. But with more choices, you might be looking for the best in the collection. Developers commonly end up opting Android Studio which is an upgrade of Eclipse. However, you have options like Eclipse and NetBeans.
Some key attributes distinguish a great Android game engine. It is worth noting here that game engines that are suitable for PC and console development are not always optimal choices when targeting the Android market. There is a need for CPU and memory efficiency to deliver acceptable results on a wide range of mobile devices.
Therefore, solutions that utilise an intermediate runtime rather than compiling directly for the JVM are likely to be suffered from frame rate issues. But if frameworks with advanced memory management features (such as built-in object pooling) can reduce the stuttering from garbage collection and enhance the overall gaming experience.
Best options for you
Unity 3D offers you cross-platform support to let you develop your game for Android as well as iOS devices. It gives you the feature to deploy one code for multiple platforms with less time. The framework also has a great asset store to make your game development faster through the availability of ready-made codes.
If you are looking for something more advanced than Unity and at zero cost burden, CryEngine is just made for you. The platform has started shipping its free versions (until you start making a lot of money).
The primary scripting language for CryEngine is Lua and C++ and C# are also available to ease your development experience.
GameMaker Studio has been used to build a ton of hit games including Hotline Miami, Spelunky, Undertale, Risk of Rain and Nuclear Throne. It offers viable shortcuts to support certain types of 2D projects, especially where tile-based graphics are concerned.
A couple of useful things that you should know before getting started with GameMaker. Firstly, a middle mouse clicking in the code will show you what it is. Secondly, if you made a function or variable then the clicking operation will show you where it was established, and if it is something related to GameMaker, then you will be redirected to the help page.
You initially need to understand and think about your game. For 2D games, you can opt for a free solution like CryEngine or GameMaker. But if you want to develop an advanced gaming experience with all 3D graphics and surround sound, you can pick a popular paid option like Unity 3D. It also depends on you that what programming languages you would like to consider for your game project and what is your skill level of programming.