Most used Android Debug Bridge (adb) commands

Android Blogger
4 min readSep 27, 2019

--

Before you can start developing for Android, the Android SDK is required. One of the tools provided within the Android SDK is the Android Debug Bridge aka ADB.

With adb a debug connection is created with an Android device. This connection can be used for a various features: Getting information about all installed applications, collecting device logging, file management.. and many more. Keep reading to learn all about ADB.

Add adb.exe to default path enviroments

By default adb.exe is found within android_sdk/platform-tools/. In order to use the adb tool the cmd path must be the same. As it’s used that often, most people add it to PATH system variable. xda-developers how to add adb.exe to PATH variable

Basic commands

Before we can start using the adb commands, step 1 is to be able to start and stop the process service.

  • adb start-server

Command to launch the adb process service which handles all adb commands

  • adb stop-server

Command to stop the adb process service

One of the benefits of Android that’s one of many Linux distributions. This makes it possible to access the Android device from the command line with shell.

adb shell

shell access to Android Unix file system

Before we can interact with an Android device, we must have an connection with a device:

adb devices

List all connected Android devices

The last basic command is one the most used features from Android Studio: Logcat.

Yes; Android Studio makes usages of adb on the background. adb is used for all communication with the Android Device.

adb logcat

Prints all device logging from the Android device

File management commands

For developers the command line is easier to use than the old skool explorer, or when making scripts to automate process, adb supports file management. Two most often commands used are push and pull.

  • adb push <source> <destination>

Command to push one file from the host machine to Android device

adb push .\test-file /sdcard/

  • adb pull <source>

Command to pull (download) one file from Android device to the host machine

adb pull /sdcard/test-file

Application commands (.apk, .aab)

Android applications have the extension .akp, where for Windows the applications have .exe as extension. Android Studio generates .apk applications and it’s they are served by Google Play Store.

More information about app bundles (.aab) can be found on the blog: Road to App Bundle and Bundletool

  • adb install <apk-file>

Command to install an .apk file

adb install application.apk

  • adb uninstall <package>

Command to remove an installed application

adb uninstall com.example.application

  • adb shell pm list packages -f

Command to list all installed packages

Media commands

If you have access to ADB, the most easy way to created a screenshot is using ADB

  • adb shell screencap -p /mnt/sdcard/sreenshot.png
  • adb pull /mnt/sdcard/sreenshot.png

With both commands the screenshot is taken and downloaded to the host machine

For those who feel that a screenshot doesn’t do the work and want a screen capture (video) from the Android device

  • adb shell screenrecord /sdcard/demo.mp4
  • adb pull /sdcard/demo.mp4

With both commands a screenshot is taken downloaded to the host machine

Triggering Intents

When creating an app that reacts on intents of other apps or even system broadcasts it’s always hard to trigger those. These days are over! With adb these intents can be triggered, just from the command line.

  • adb shell am broadcast -a <android-intent>
  • adb shell am broadcast -a android.intent.action.BOOT_COMPLETED

With this command a fake incoming broadcast is triggered

  • adb shell am start -a android.intent.action.CALL -d tel:1234567

With this command a fake incoming call is triggered

Other commands

Last but not least there are several commands which can’t be placed inside a category, but are quite useful.

  • adb shell monkey -p <package> -v — throttle <speed> <amount>
  • adb shell monkey -p com.example.application -v — throttle 250 500
  • adb shell am broadcast -a android.intent.action.BOOT_COMPLETED

The monkey commands does exactly what it says; it behaves like a monkey and will trigger every possible button and input feature there is within Android.

Links

With this guide of ADB commands you’ve learned how to use to most common ADB commands. If you are missing some ADB commands, we like to hear it in the comments!

Thank you for reading this article, If you liked the article, help others find this article by sharing it.

Originally published at https://androidadepth.blogspot.com on September 27, 2019.

Sign up to discover human stories that deepen your understanding of the world.

Free

Distraction-free reading. No ads.

Organize your knowledge with lists and highlights.

Tell your story. Find your audience.

Membership

Read member-only stories

Support writers you read most

Earn money for your writing

Listen to audio narrations

Read offline with the Medium app

--

--

Android Blogger
Android Blogger

Written by Android Blogger

An Android blogger who likes to share knowledge, ideas and solutions :)

No responses yet

Write a response