DEV Community

Cover image for 10 Almost Unknown Tools Which Facilitate Android Apps Development
Michal Bialas
Michal Bialas

Posted on • Originally published at Medium

10 Almost Unknown Tools Which Facilitate Android Apps Development

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 .apkfiles. It identifies the libraries stack and permissions of a decompiled application. It was created using Jetpack Compose desktop.

stackzy

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:

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.

v9

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.

glance

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.

completeKotlin

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"  
}
Enter fullscreen mode Exit fullscreen mode

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.

adb-tools-mac

gnome-android-tool is a Linux substitute.

gnome-android-tools

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.

svg-to-compose

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.

name-that-color-desktop

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:

gradle-task-tree

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)