Keeping efficiency at a high level requires using the right tools at the right time. As an Android developer, you will be able to boost your performance by utilizing the tools below, which you have probably never heard of.
All tools are free and open-source.
1. stackzy
This is a desktop tool to analyse .apk
files. It identifies the libraries stack and permissions of a decompiled application. It was created using Jetpack Compose desktop.
You can see a demo, how the application works, here.
Stackzy is available on Linux (.deb), Windows (.msi) and MacOS (.jar) — You can also compile the app on your own.
It was build with modern libs and frameworks:
- Compose Desktop
- MVVM
- Coroutines & Flow
- Retrofit + Moshi
- Dagger2
- and many more used to decompile applications (jadx, apktool).
The project is released under Apache-2.0 license and OFL-1.1 Licence.
2. v9
Some of you may remember, that long before SVG and vector drawables, Android developers relied on 9-patch files to dynamically and automatically resize bitmap images to accommodate the contents of the view and the size of the screen.
Some time ago Romain Guy created a library, that gives a possibility to dynamically resize Path objects as you would 9-patch bitmaps.
v9 is compatible with API 21+ and has quite decent documentation with a sample demo app. It is released under Apache-2.0 license.
3. Glance
This is a database toolkit library provides a clean UI for browsing all the database data.
The library is included into a project as a dependency library (like for example LeakCanary, which Glance is inspired by).
In order to find all database files in a current application, it searches both internal and external storage.
Glance only supports AndroidX projects and is released under Apache-2.0 license.
4. CompleteKotlin
This is Gradle Plugin which enables auto-completion and symbol resolution for all Kotlin/Native platforms. This is particularly helpful with Kotlin Multiplatform Mobile projects.
With this plugin, you can write and read Kotlin code regardless of your computer’s operating system. You can read and write:
- iOS, iPadOS, watchOS, tvOS, and macOS code, without macOS,
- Linux MIPS code without Linux,
- Windows code, without Windows.
Setup is really simple and boils down to adding a dependency to build.gradle
or .kts
file.
plugins {
id("com.louiscad.complete-kotlin") version "1.1.0"
}
This plugin’s documentation is comprehensive and contains all information needed to start using it.
License: MIT
5. adb-tools-mac / gnome-android-tool
adb-tools-mac is a macOS menu bar app written in SwiftUI for common adb
tools.
gnome-android-tool is a Linux substitute.
You can use these tools to:
- Take screenshots,
- record a screen,
- connect over the TCP,
- capture bug reports.
All projects are released under GNU General Public License.
6. SVG to Compose
This is an experimental tool which converts SVG and Android Vector Drawable to Jetpack Compose code.
If you want to use this tool from Android Studio / IntelliJ, you can simply use an open source plugin available on Jetbrains Marketplace.
You can utilise this tool by:
- manipulating dynamically SVG files in the code (generating and modifying source code),
- creating an icon pack similar to Compose Material Icons.
The project has sufficient documentation and it is released under MIT license.
7. Bye Bye Jetifier
Some of you may be still dealing with legacy code based on Support Library and using Jetifier. By using this tool, you will be able to get rid of Support lib dependencies and ultimately turn off Jetifier.
This plugin verifies each JAR/AAR dependency (and its transitives) and checks if:
- any class uses a support library import
- any layout references a support library class
- the Android Manifest references a support library class
It also verifies if any support library dependency is resolved on the project.
It is a great tool on which I heavily relied.
By the way, you can also check out the checkJetifier
task provided by Android Gradle Plugin 7.1+ to complement and double check the Bye Bye Jetifier.
License: Apache-2.0 license
8. name-that-color-desktop
With this Jetpack Compose Desktop app, you can discover the closest matching color.
The project was inspired by chir.ag/name-that-color and allows to:
- auto copy / paste a color stored in a clipboard,
- generate Jetpack Compose
Color
code, - generate random colors,
- retrieve colors from a history.
License: Apache-2.0 license
9. Gradle Task Tree
This is a Gradle plugin that adds a task: taskTree that prints a task dependency tree report to the console.
The task dependency tree is printed with a similar format to that of the built-in
dependencies
task.
For instance, gradle build taskTree
prints out a tree below:
The documentation is comprehensive and the plugin is easy to configure.
License: Apache-2.0 license
10. sndcpy
This is a tool that forwards audio from an Android 10 device to the computer. You can name it as scrcpy but for audio.
It does not require any root access. It works on GNU/Linux, Windows and macOS.
The only requirements to run the app are:
- Android device with Android 10+,
- VLC installed on the computer.
The project has quite sufficient documentation (you can read more about it in a dedicated blog post).
License: MIT
Ok, you did it! I hope you enjoyed this list and will use some of these tools.
You can also check my other articles, especially 25 Best Android Libraries, Projects, and Tools You Won’t Want to Miss Out in 2021. Till the next time!
Top comments (0)