Photo by Chris Ried on Unsplash

ezADB — Easy Android Debug Bridge

Filipe Batista
4 min readJun 17, 2018

As you may have noticed by my previous posts i am a huge fan of ADB, so today i decided to talk about a small project that i have started a few years a ago.

If you don’t what the h*ell is ADB please have a look at my first post of the ADB Commands — Part I ,it is a good place to start 😃 .

During the Android development many times you have to fill forms or open certain links in the browser, basically tasks that involves you to type something using the virtual keyboard.

Some of these repetitive tasks can be easily replaced adb commands or even better with bash scripts that contains several of adb commands. With the premise of preventing repetitive tasks i started advocating the use of the adb command every time a saw a colleague repeating those kind of tasks.

However people resisted to use the adb commands because of its verbosity and the obligation to input the correct args order for the command execution. So i started thinking to myself:

“Maybe i could cut some of that verbosity a create a simple script with just the main commands of adb…”

With this in mind i started creating a simple python script that would act like a king of wrapper for the adb main commands and that you wouldn’t need to know all those arguments. Some time after talking to a colleague we had the idea:

“What about adding the GUI to some of the commands? Maybe people will be more receptive.”

With these ideas in mind the ezADB has born! This is a side project that have been doing for quite a while and even though is not fully completed i have decided that it is time to release it to the community so it can evolve and help others.

At this point this is probably what you are thinking…

ezADB is a simple python application that splits into two components: command line and graphic interface.

Disclaimer: i’m not a python developer and i just developed in python because it seemed a good opportunity to learn, so if you see something that is not with standards please try to not crucify me 😝

The command line component allows users to send some basic commands through the command line, e.g.:

  • send text;
  • open a URL in the default browser;
  • install/unistall an application;
  • take a screenshot;
  • grant/revoke permissions.
Output example for the command line — ezadb_cmd

With the graphical interface you can:

  • list of connected devices;
  • list of installed applications;
  • power-off/reboot the device;
  • take a screenshot with preview;
  • install/uninstall/disable an application;
  • clear data for installed apps;
  • pull out the APK (Android Package File) of an installed app;
  • show all the available information of an installed app.
Main window of the ezADB
Info window showing the all the available information of com.android.chrome
Pulling out an apk from the device and saving it
Preview screenshot window after capturing a screenshot from the device

As you may have noticed, the graphical interface and command line unfortunately don’t have the same features 😞, i hope this will change in the future developments, either from me or from the community.

Please keep in mind that the application in a alpha state so it can be unstable and may not work in some environments, as i mentioned before this project was on hold for quite a long time so i decided that is better to share it with the community so it can be evolve by anyone.

--

--

Filipe Batista

[Android Developer 💻] [Japan addicted🇯🇵] [Music enthusiast 🎵🎶][Traveler 🛩 and coffee ☕ person]