Android offers a ton of opportunities for developers: it is a versatile, open platform used by millions of users worldwide with a fantastically easy distribution platform to help reach a large audience. Fortunately, there are also plenty of Android developer tools to get you started and plenty of support. Better yet, the number of these tools is increasing all the time, while each one continues to become more efficient and intuitive. There has never been a better time to create your own Android app!
In this post, we’ll run down a selection of the best tools for Android development, from IDEs and game engines to emulators and design tools.
Top Android developer tools
No list of Android development tools would be complete without Android Studio. This is the official IDE (Integrated Development Environment) for Android, making it the number one choice for the majority of developers looking to make basic apps in-keeping with Google’s Material Design and with access to all the advanced features of the platform.
The IDE is where any developer will spend most of their time: it acts as an editor for the chosen programming language (Android Studio supports Java, C++ and now Kotlin, though Java is the official language of Android), a compiler that can create APK files and a file system for arranging your project. It also includes an XML editor and ‘design view’ for arranging elements on the screen. Android Studio offers an entire suite of additional tools too – some of which we’ll examine in this post – and thankfully most of this will now come bundled together as a single download. In fact, it also comes bundled with the Android SDK itself, though you will still need to download and install the Java JDK separately. You should also check out our full Android Studio tutorial for beginners.
Developing with Java and the Android SDK does have a somewhat steep learning curve, but in terms of integration, support and features Android Studio can’t be beaten.
The AVD Manager tool is bundled with Android Studio. AVD stands for ‘Android Virtual Device’, so essentially this is an emulator for running Android applications on your PC. This is useful because it means that you can test your apps quickly without having to constantly install them on physical devices. More importantly, the AVD Manager allows you to create lots of different emulators with different screen sizes, specifications and versions of Android. This means you can see what your creation will look like on any given device and thereby ensure support across the most popular gadgets. Performance is getting better all the time, especially with the fast virt mode, which runs an Intel version of Android on your PC and removes the need for instruction level emulation.
Android Device Monitor
Another built-in Android development tool, the Android Device Monitor allows you to monitor your device or virtual device during runtime and get access to information such as how many processes are running on what thread, network stats, the LogCat and more. It’s great for testing the performance of your apps and seeing what’s going on under the.
Android Debug Bridge
The ADB shell is a useful little command-line tool that you can use to communicate with or run commands on a connected Android device (virtual or physical). It comes with Android Studio and for the most part you won’t need to worry about it. Every now and then though, you’ll be following a tutorial and find you need to open it up. To do so, navigate to the platform-tools folder of your Android SDK installation or whichever folder adb.exe is located and open up a command line (Shift + RMB > Open Command Window Here).
Unity 3D is the first of our recommended tools that doesn’t come pre-installed with Android Studio. It is a game engine and IDE for cross-platform game development. Unity is easy to learn and comes with a large variety of features for game development. While it’s possible to create a game with Android Studio, Unity lends itself to that kind of work much more readily and will save you considerable amounts of time and headache. You can even use it to create virtual reality apps for Daydream, Cardboard or the Gear VR! Check out our introduction to Unity3D for more.
Unreal Engine is also a game engine and is a alternative option for those interested in cross-platform, full-featured game development. Like Unity, Unreal offers easy support for Android and is actually graphically superior along with being open source. That said Unity has slightly better built-in support for mobile and 2D creations and is the preferred option for most mobile game devs. Which one you ultimately decide to go with is your call and a they are both free, there’s no reason you can’t give them both a shot. Start here if you want to learn how to write a 3D game for Android using Unreal Engine.
GameMaker: Studio is another tool for game developers, this time for 2D games. This is a little easier than using Unity or Unreal 4 and enables you to create apps with effectively zero code. If you do want to add a little more customization though, then you can get to grips with the very beginner-friendly GML or ‘GameMaker Language’.
However, what you get in ease-of-use, you lose to some extent in power and functionality. It’s also worth noting that GameMaker isn’t free, although there is a free trial available for those that want to give it a shot. Check out our GameMaker: Studio tutorial for beginners for more information.
B4A (or Basic for Android) is a lesser known Android development tool from Anywhere Software, focused on ‘rapid’ development. As the name suggests, this is an IDE and interpreter that allows developers to create apps using the BASIC programming language. For those that aren’t familiar with BASIC, it’s essentially a much simpler, procedural programming language that reads closer to regular English. Despite essentially being a one-man project, B4A manages to pack in a lot of useful advanced features, including wireless debugging over Bluetooth, a visual editor for adding and arranging views and more. It’s not free but it’s how I got started on Android and I highly recommend it.
You can do pretty much anything that you would do with Java, but a lot more quickly and with less boilerplate. Any performance penalty seems minimal. That said, it’s still worth learning the official method for creating apps and especially if you hope to use specific libraries (though that said, Java libraries can be wrapped for Basic4Android). This is especially important if you ever hope to sell your IP to another publisher. Interested, then check out our full introduction to Basic4Android.
It would seem that Android developer tools have a fondness for acronyms! AIDE is ‘Android IDE’ and is unique to this list in that it runs on Android. That means that you can create apps using your phone or tablet and then test them right there on that same device.
Obviously this lacks some of the advanced features of Android Studio (okay, a lot of them) and there’s no real advantage to using this over a more fully-featured Android development tool. Where it comes in handy though is for learning Java and the Android SDK. The ability to follow tutorials with highlighted code and then test them in real time is a real boon for those struggling to get started. It’s not free and whether or not it offers good value is up for debate; but it is certainly at least worth looking into. For more, check our article on how to start building Android apps using AIDE.
Visual Studio With Xamarin
In the days before Android Studio, developers made do with Eclipse as the primary Android development tool. This is a general IDE that supports multiple different programming languages, including Java with the Android SDK. Unlike Android Studio, Eclipse does not offer this support ‘out of the box’ and requires a bit more setting up as a result. Official support has also been dropped by Google, so really there’s no reason to opt for Eclipse over Android Studio. I include it here as you might find it comes up from time to time when you’re doing your own research. If a tutorial is based on Eclipse, you can essentially presume it is very dated and move on.
GitHub is an online tool that you can use in order to share projects and also keep track of multiple versions and ‘forks’ of those projects when you’re working in a team. It’s handy for backing up your work, for collaboration and for finding code samples and tutorials you can work through. For beginners, your exposure to GitHub will likely be limited to downloading sample projects that you can reverse engineer. If you ever work on a large app as a team though, this is a developer tool that you’ll need to become very familiar with.
Other Android development tools
As well as the tools listed above there are many more options out there such as PhoneGap, Cordova or IntelliJ IDEA for building simple apps, or Andyroid and Blustacks if you need Android emulation without installing Android Studio and the AVD Manager. Developers will also need to get to grips with a range of other software to supplement their coding activities. You might consider using Photoshop or GiMP for example in order to edit images, or Illustrator for high definition vector art. Maybe you like the idea of using a wire-framing design tool such as InVision to design your app’s layout, or maybe you’d rather sketch it up by hand. Maybe you’ll use Blender to create 3D models for your Android games or maybe you’ll use FL Studio 12 to compose some backing tracks. My advice? Don’t do it all yourself but rather use something like Fiverr.com or UpWork and work with freelancers.
Tons of programs can be used as Android development tools and the options that are right for you will depend on your work style, preferences and aims. Hopefully this list has given you a good introduction to some of the most fundamental tools out there, so that you can dive in and get started.
Of course let us know in the comments below which tools you are partial to!