Tools and tips I wish I knew when I started Android development

I guess this very long title is self explanatory. 😃

Baptiste Carlier
6 min readJan 7, 2023

Just in case, I’m a fulltime Android developer since more than 4 years now. Step by step I’ve learned few things. It’s hard to remember everything because technologies move. But one of them is that we all need to help beginners.

Beginners offer new points of view and ideas. They’re shaping our projects, our teams and (kind of) the future of platform.

So I’ll try to give tips or tools, but of course first you may follow Android guidelines. Use Jetpack librairies by default for example.

JetBrains Toolbox

Manage your tools with ease

You may know that Android Studio is based on IntelliJ IDEA. By default you can download Android Studio install software on Android Developer website. And each time you what to update, you’ll have to download the new version and re-download the install software.

To avoid this, JetBrains offer an its toolbox app which gives an easier way to track update and install them. Of course, there’s not just Android Studio but you can totally skip JetBrains IDEs.

There’s also a tab where you can find your most recent/bookmarked projects.

🔗 https://www.jetbrains.com/toolbox-app/

Android codelabs

Guides, tutorials & hands-on coding experience

Google Codelabs offer a great opportunity to learn new things. You can update your skills about librairies you’re not up-to-date yet. They will guide you with the necessary documentation and code (clonable or starting from scratch)

Android Developer Relation team works hard to maintain it. So even if there’s still old topics, many of them are really recent.

It’s a great start for beginners and experimented contributors also. 🙂

🔗 https://codelabs.developers.google.com/?product=android

ADB Idea

Adds the ADB commands to Android Studio

Bored to open the app settings manually on the device in order to clean and revoke the permissions for example ? This IDE plugin is for you!

It adds shortcuts directly in Android Studio to do those things fast. By far my favorite plugin.

I should give 5 stars and a good review right now!
EDIT: Done.

Also, the popup can be launch with shortcut to go even faster.

🔗 https://plugins.jetbrains.com/plugin/7380-adb-idea

srccopy

Display and control your Android device

A basic for me when I work on physical devices. This really small software helps mirroring the device on your computer. You’ll be able to use your mouse and your keyboard as inputs.

It uses ADB and is a great alternative of Android Studio Wifi pairing solution.

🔗 https://github.com/Genymobile/scrcpy

Timber

A logger with a small, extensible API which provides utility on top of Android’s normal Log class.

This is a logger provides utility on top of Android’s normal Log class.

It helps avoid logging in production because of its setup and because you’ll replace every Log call by Timber call.

🔗 https://github.com/JakeWharton/timber
🔗 KMM alternative: https://github.com/AAkira/Napier

Options: Open files… / Always Select…

Damn! When I reinstall Android Studio, every time I activate those two options.

You’ll navigate faster into the project files and so understandard faster an existing project.

GitKraken

Includes an intuitive Git GUI & powerful Git CLI

When you have to deal with git, this client is really visual.

This desktop client helps understand where branches are. Which one is working on. It helps fetching or cherry-pick. 🍒

You can plug it to GitHub or GitLab. Enjoy managing you merge-request or pull-request also inside the client. See the tags. Use GitHub Actions right inside it also.

Sadly*, it’s free for open-source projects only. But if you want to use it in your company, you can go to GitKraken Entreprises plan.

*️ but understandable

🔗 https://www.gitkraken.com/

Now In Android

A fully functional Android app built entirely with Kotlin and Jetpack Compose

UI, Architecture, modularization, testing, … the promise of this repository is to build something at the state of the art of the Android development.

It’s in work in progress. I guess it will be eternally in WIP. But you can clone it and learn how the best practices are set up. A reference for any developer who wants to stay up-to-date.

🔗 https://github.com/android/nowinandroid

By the way, Google has already published other apps on GitHub. Like Google I/O or Android Summit apps.
It’s a good idea to go snooping source code of great apps, when it’s available.

Material Symbols

Also known as Google Material Icons, this set of icons is a standard.

If your project don’t have a design system or at least a designer, you will quickly need this resource. You’ll be able to download PNG or SVG for your app. And take time to find the right one, because there are over 2,500 glyphs.

Like this, your app will be a little more attractive. And maybe your users (or your team) will enjoy it much better.

🔗 https://fonts.google.com/icons?icon.platform=android

Android roadmap

The Android Developer Roadmap suggests learning paths to understanding Android development.

Now In Android (NIA) is nice. But there’s also a lot of other stuff to know. I might say, “a path” that every developer can take to know how to dev for Android.

Because NIA is focusing on the last guideline, it’s not covering HOW a lot of apps are legacy built.

This time it’s really REALLY exhaustive. You don’t need to learn everything from this roadmap but at least knowing that there’re alternatives.

🔗 https://github.com/skydoves/android-developer-roadmap

Android Developers on YouTube

Get the latest Android news, best practices, live videos, demonstrations, tutorials, and more!

It seems a bit obvious, but @Android Developers YouTube channel is full of great videos. You’ll get anything you want about tools, development, librairies. Perfect to learn things already done in the past, and news about incoming Android features.

Don’t forget to subscribe and activate the notifications. Also Kotlin YouTube channel is pretty interesting.

🔗 https://www.youtube.com/AndroidDevelopers
🔗 https://www.youtube.com/Kotlin

Social networks and blog websites

And finally, a good place to learn stuff or ask questions might be on social networks and blog websites.

By the time, I’ve created my own Twitter list on Android developers. Reading this specific feed helps me discovering threads and hot topics.

Slack communities are another fantastic option.
By the way, French Slack is nice. 🇫🇷

Ans lastly, on those blogging platforms you’ll find really nice content. Don’t forget to check the posting date and the comments also.

Thanks for reading

If you reach that line, thanks. I hope it helps you. I mixed different kind of tips, tools, or links. Like this you can be geared up. And also you can look up a bit because Android is continuously evolving.

If you’re beginner and found this post useful, give a clap 👏.
You can contribute in the comment section. 😉

--

--