I still remember that day back in May of 2013. I was sitting in Moscone Center, eager to hear what Google had to announce at its annual Google I/O conference. And then it happened. Android Studio was announced. The crowd went wild. And I joined the hundreds of other conference-goers in an attempt to download the brand new app over the conference wifi.
Fast forward to today, it’s been ten years, and Android Studio continues to deliver on its promise. We are both faster and more productive as app developers due to its existence.
So in honor of its ten-year anniversary, here are ten features that will make you fall in love ❤️ with Android Studio. In no particular order…
Feature 1: Based on IntelliJ IDEA
The beloved IntelliJ IDEA IDE is a fan favorite for developing, debugging, and refactoring Java and Kotlin applications. Its massive plugin ecosystem, smart code suggestions, and intuitive navigation make it a joy to develop with. Having Android Studio built on this foundation was a brilliant decision.
Feature 2: Editor Margin
Next up is the editor margin. You can learn a lot about a line of code by paying attention to the margins. For example, you can see which line of code is causing crashes from Android Vitals. Understand that a given line of code is going to execute asynchronously. See the color represented by a resource id. And much more. A true time-saver.
Feature 3: String Previews
String Previews allows you to see a preview of how your text will look in your app before you actually build and run it. It’s one of those little things that makes Android Studio a delight to use.
I’m often in and out of various codebases; this feature helps me to understand quickly the purpose of a given screen or composable.
Feature 4: Android Vitals
I no longer have to jump back and forth between Chrome and Android Studio to debug reported crashes. Android Vitals has entered the building in the latest release. I use Android Vitals to help improve the quality of our app on Google Play.
Since this is the data that Google is using to determine how our app is performing in the store. It’s “vital” to pay attention to these metrics and debug reported issues.
Feature 5: Firebase Crashlytics
Another feature that helps improve app quality is the Firebase Crashlytics integration. You can watch me geek out about it in the video below. It’s the convenience of having this critical information in your IDE that makes it a game-changer. You can go directly from a stack trace to the line in the code that caused the issue. If you’re not using it yet, do give it a try.
Five more features to go. In love yet?
Feature 6: Logcat
Logcat and I were not the best of friends. It was a struggle to do the most basic things:
- filter out unwanted logs
- search for specific words
- copy the message text
And then Logcat got a serious upgrade. 😎 Not only can you do all of the basic things faster, they’ve added new features. Here are my favorites:
agefilter to restrict log messages based on their timestamp
- ability to quickly create a Scratch file from JSON
- ability to fold log messages that you’re never interested in
- the built-in color scheme that makes it simple to parse the logs
If you’ve been frustrated with Logcat in the past, time to give it another try.
Feature 7: Android Emulator
Android fragmentation: multiple devices, multiple versions, multiple headaches. What’s a developer to do? You can’t install all the things. Enter the Android emulator. The emulator ships with tons of functionality. I run and debug all of my apps on it and use it to capture screenshots and videos. You can change the location, language, battery strength; the list goes on and on. It’s the Swiss Army knife of Android Studio.
Feature 8: Layout Inspector
The Layout Inspector helps you figure out what’s going on with your app’s layout while it’s running. You can see the view hierarchy and check out the properties of each view. It’s perfect for spotting layout issues and unexpected behavior, especially for dynamic layouts.
One of the aspects that I appreciate is the ability to isolate a single view. Our app has complex layouts. It’s helpful to view only a subset of the views when debugging. Then if you want, you can go directly to the code where it’s defined.
Feature 9: App lnspection
The Network Inspector shows you what’s happening with your network in real-time. You can see the data being sent and received on a timeline. I use it to debug API responses being made from my apps. Specifically, I find it easier to inspect the headers and responses in this view over Logcat.
Another feature of the Network Inspector that was new to me is the Rules tab. It lets you change your API responses – status codes, headers, and bodies. To create a new rule, give it a name and say where the response comes from. Then, say what you want to change in the response. I use it to test how my app’s UI behaves when receiving bad responses.
Feature 10: Studio Bot
The newest kid on the block is Studio Bot. Since AI is everywhere, why not in Android Studio? 😅 I was skeptical at first. However, I find that it’s useful for my many Jetpack Compose questions. Keep in mind, however, that it’s still experimental. This means that occasionally it spits out some invalid code.
I believe there’s a solid future for Studio Bot. The conversational style and the ease of including recommended code snippets make it a real contender in the IDE AI wars.
Overall, Android Studio provides developers with a powerful set of features that enhance productivity, streamline development, and enable the creation of high-quality Android applications.
So, what are you waiting for? 👀 Download the latest version of Android Studio today. 😍