Android is an operating system developed and maintained by Google, and it’s the most widely spread mobile OS in the world. It’s no wonder that there are numerous developers creating apps for the system, so Google has provided them with a convenient tool to design, build, and debug their programs.
Such software is commonly referred to as an IDE, which stands for an Integrated Development Environment. It includes all necessary elements to cover the needs of software developers, including a code editor, debugger, and build automation tools. Google provides its own IDE for creating Android applications. It is called Android Studio, and it’s available on Windows, Linux, and macOS.
Upon launching Android Studio, you will see a menu where you can create a project or open an existing one. There, you can also remove a file from Version Control, debug an APK (Android Package, which is used for distribution and installation of Android apps and games), and import a whole project or a sample of code from other IDE.
Tools for Development
The Refactor menu allows developers to rename classes, variables, and methods, extract methods or their particular parameters, and implement other small design changes.
Code formatting tools
Android Studio provides a shortcut to reformat all code within a project automatically. To reformat your code, press CTRL+ALT+L or Command+Option+L.
Navigation graph visual editor
The Navigation Graph Editor allows you to use Design view to modify UI visually or Text view to access and edit underlying XML. The tool also shows attributes for a chosen item.
Layout visual editor
The Layout Editor eliminates the need to write XML code for modifying layouts. Using this tool, you can drag UI elements directly into the Editor to quickly modify the layouts and adjust them to different screen sizes.
Layout validation tool
This tool was designed to provide developers with a convenient way to display multiple configurations and preview layouts on different devices simultaneously. It is especially useful for testing layouts with different font sizes and user languages.
Real-time Layout inspector
Using the Layout inspector, one can gain a comprehensive view of their app’s UI behavior while it is deployed on a device (or an emulator) in real time. API level 29 or higher is required to use the tool.
Tools for Running
This tool allows you to emulate Android devices, change their hardware settings, and choose an SDK version. You can save custom configurations inside the emulator for future use.
Device file explorer
The file explorer can be used to review, copy, and delete files on an Android device. This tool helps you examine files created by your app or transfer data between your PC and mobile device.
Android Debug Bridge
The Debug Bridge is a cross-functional command-line tool, designed to allow you to communicate with a device directly (e.g. access the Unix shell).
Tools for Testing
Testing tools (JUnit, UI tests, monkey testing)
JUnit is a framework for unit testing, which can be activated in a few clicks and run on the local JVM. You can also use the Monkey tool to simulate pseudo-random user events or the Espresso Test Recorder to perform UI tests without writing additional code.
Tools for Debugging
Logging in Android Studio is performed within the Logcat window, where you can see system messages and access logs history.
The Profiler was introduced in Android Studio 3.0 to replace the Monitor tool. It is used to track the CPU, memory, and battery usage by your app.
Android Studio has an in-built debugger, which allows users to select devices for debugging, set breakpoints in their code, and examine variables at runtime.
Other Useful Tools
Within the Translations Editor, you can view and edit both default and translated string resources in an app. Git integration While working with an existing Git repository containing a project, Android Studio users can view, create, and push commits, view diffs, and switch between different branches.
The build system of the Studio is based on Gradle, which provides a highly customizable, fast, and powerful solution for build automation.