A collection of useful, but not very well known Android tools and libraries.
Working on articles about 30 best Android libraries and projects of 2019 and Top 25 Android Libraries and Projects of 2020I’ve come across a lot of great tools and projects that can come in handy in Android app development – below they are listed in no particular order. Use it.
1. AinD – Android (Anbox) in Docker
Unlike similar projects based on virtual machines, AinD can run on IaaS instances without support for nested virtualization. Docker Hub:
Theft protection (see. frequently asked Questions)
Compatible with Android (via cloud) for iOS and Windows tablets
Booster – a very interesting tool: it is an easy to use, lightweight, functional, extensible set of quality improvement tools designed specifically for mobile applications. The main task of the project is to address quality issues associated with increasing application complexity, such as performance, stability, and package size issues.
Booster is a collection of modules for performance evaluation, multithreading optimization, built-in resource index, redundancy reduction, resource compression, system error fixing, etc. Booster can improve application stability by 15-25% and reduce batch size by 1-10 MB.
The documentation is very good, the license is Apache 2.0.
Shake Is one of the best tools for detecting errors, studying user actions to reproduce the error, and collecting screenshots or videos with errors. It makes working with errors in beta testing and in the public version a lot easier – the tool is definitely worth trying.
As shown in the gif above, if you shake the device, you will be prompted with a template to send an error report. The user can flag the error, mask sensitive data, describe the problem, and send you a report.
Scabbard helps with visualization and analysis of Dagger 2 dependency graph.
Scabbard visualizes entry points, dependency diagrams, component relationships and scopes. It is very easy to add this tool to a project: it integrates well with Gradle as well as Android Studio and IntelliJ (by clicking the icon on the left margin in the editor, you can view the diagram for
Documented the project is great: there are tons of examples and tips.
License – Apache 2.0.
5. Can I Drop Jetifier?
As you know, sometimes it is not easy to switch from the old support library to AndroidX, especially in large projects with a lot of legacy code. The success of the migration relies heavily on using the Jetifier tool (converts dependencies that still require old artifacts to work with AndroidX classes), which slows down the build.
“More and more libraries are moving to AndroidX, so at some point there is no need to enable this tool. This plugin determines which of the used libraries need to be ported to AndroidX – or get rid of them if a new version has already been released. “ – Can I Drop Jetifier?
The documentation is clear, the project is released under the Apache 2.0 license. Highly recommend!
6.ADB Event Mirror
ADB Event Mirror allows you to reflect the events of touching the screen, pressing keys and buttons of one device to one or more other devices in real time.
“This script does not adapt the resolution, pixel density, orientation, and layout of the application. Therefore, it works best with emulators created with the same configuration. “ – ADB Event Mirror
The tool makes it possible to test the application at the same time on emulators of various types.
7. Android Emulator Container Scripts
Android Emulator Container Scripts – a set of small scripts for running the emulator in a container for various systems (for example, for Docker) for external use. The scripts are compatible with Python versions 2 and 3. This repository is quite popular and useful if you need to run many emulators on remote machines.
The project is released under Apache 2.0 license and is well documented.
Autoplay Is a Gradle plugin for publishing Android artifacts to Google Play.
Features of Autoplay:
Optimized for use in CI / CD.
Convenient for developers.
Reliable and promising.
The project has good documentation, the version at the time of this writing is
1.3.0, license – Apache 2.0.
9. Gradle plugin for static analysis
Gradle static analysis plugin – a comprehensive replacement for all significant static code analysis tools, includes the following:
Findbugs [ПОДДЕРЖКА ПРЕКРАЩЕНА] [удален в Gradle 6.0]
The point is that you don’t need to configure all of these tools yourself – they can be easily incorporated into your codebase. The plugin is released under the Apache 2.0 license and is well documented (there is even a sample project).
AndroidUtilCode Is a functional and easy to use Android library that encapsulates functions commonly used in Android development with demos and unit tests. Encapsulated APIs can significantly improve development efficiency.
Project version –
1.29.0, license – Apache 2.0.
“Hijckr interferes with Android layout inflation and redirects named elements to other classes. “
It’s a pretty interesting tool. For example, if the layout file contains
TextView. Android usually downloads
android.widget.TextView, but you can intercept instead
xml-tags and upload
The project description is quite detailed and allows you to quickly get started with the tool (which is written entirely in Java).
Roomigrant Is a helper library for automatically generating Android Room library migrations using compile-time code generation. It uses the schema files created by the Room library and generates migrations based on the difference between them – that is, the creation of the Room schema must be included in the file
build.gradlewhich is well documented in the README.
The project is released under the MIT license, version
After migrating the database to Room, it’s a good idea to review it: RoomExplorer allows you to view all table data in tabular format, delete tables, insert, modify and delete rows, etc.
The tool is well documented and licensed under Apache 2.0.
14. Android Framer
License – Apache 2.0.
15. Dependency Tree Diff
Dependency Tree Diff Is an “intelligent comparison tool for outputting a problem
dependencies Gradle that always shows the path to the root dependency. “
You can install the tool via
brew or just use
License – Apache 2.0.
16. Gradle Doctor
Gradle Doctor Is a plugin for scanning a Gradle build. Feature: Customizable build speed alerts, measure time spent on Dagger annotation tools, set a variable
JAVA_HOME and checking its compliance
JAVA_HOME in the IDE, simply disabling test caching, stopping the build if empty directories are found
src (insofar as this could be the reason cache mismatches), and much more.
The instrument has excellent documentation, the project is released under the Apache 2.0 license.
GloballyDynamic Is “a set of tools aimed at ensuring universal accessibility Dynamic Delivery, regardless of the app store or distribution platform, which also provide a single unified client API for Android and a simple interface for developers. “
Google Play (Play Feature Delivery)
Huawei App Gallery (Dynamic ability).
Most other platforms are combined with GloballyDynamic server (e.g. Amazon App Store, Samsung Galaxy Store, Firebase App Distribution, or local development).
I recommend reading README and learn more about this tool.
License – Apache 2.0.
18. Dagger Browser
Dagger Browser Is another tool (Progressive Web Application) for easy navigation through the Dagger schema in the project.
There is also a sample application that shows how the tool works. All this is released under three-point BSD license…
Wormhole – “time travel bytecode conversion tool adding to
android.jar future APIs that can be desaccharified to all API levels using D8 and R8. “
Wormhole provides backward compatibility with newer APIs. Let me give you an example.
“Android R has new methods from Java 9 – for example,
List.of… Thanks to D8 and R8, they are not exclusive to API 30 and instantly become API 1 compliant. D8 and R8 have a set of desaccharification methods for APIs that are not yet available in
android.jar… And you don’t have to wait until they appear – this project makes it possible to use them immediately. “
MNML (pronounced “minimal”) is a simple free screen recorder application for Android.
Of course, there are many applications and tools that provide this functionality. Today, screen recording is built into all new devices, but if you’re curious to see how to implement such an application, this project is a great example.
License – Apache 2.0.
That’s all. I hope you liked the list and some tools were able to inspire you. See you!
About the translator
The article was translated by Alconost.
Alconost deals with localization of games, applications and sites in 70 languages. Native native translators, linguistic testing, cloud platform with API, continuous localization, 24/7 project managers, any string resource formats.
We also do promotional and training videos – for sites that sell, image, advertising, training, teasers, explainers, trailers for Google Play and the App Store.