HowTo: “ADB” – Command Line Tool

If someone finds a mistake, please notify me and I will correct it …


The Linux terminal is a command-line interface that you can use for all types of operation on the Android OS. A lot of users are afraid to use it because it ‘s not a GUI, and to be honest, if you don’t know the basics it’s pretty hard to learn by yourself.

How to Install

  • Download and install Java SDK
  • Download Android SDK package
  • Extract SDK package into anywhere on your drive (e.g.: D:\android-sdk-windows)

Phone Setup
In order to use ADB, you have to enable USB Debugging option in  phone settings (Settings->Applications->Development)

How to Use

  • Connect the phone to your pc/notebook usb port
  • Run Windows command line tool (cmd) and go to D:\android-sdk-windows\platform-tools

* Don’t use it if you don’t know what you do!!!!
* Commands and folders are CASE-SENSITIVE (lall != laLl != Lall …)
* Commands can use easy-regular-expressions (e.g. rm *.lall -> deleted everything that ends with “.lall” in this directory)
* If a command completed successfully, it will say nothing and start a new line

Default adb commands

1.) Check connected phone

adb devices

2. Login to Android shell

adb shell

If you get ‘#’ after typing adb shell, you are already get root access on the phone, no need to type su. Otherwise if you get “$” , type “su” (su = substitute user) to get root access (only for rooted device).

3. show the Android-Logfile

adb logcat

V —> Verbose (lowest priority)
D —> Debug
I —> Info
W —> Warning
E —> Error
F —> Fatal
S —> Silent (highest priority, on which nothing is ever printed)

# e.g. Error messages

adb logcat *:E

radio —> View the buffer that contains radio/telephony related messages.
events —> View the buffer containing events-related messages.
main —> View the main log buffer (default)

# e.g. all event messages

adb logcat -b events


Some usefull shell commands

  • List directory:  ls [-la] [path]

Note: (“ls” == “dir” in Windows-cmd)

If you need more information about files/directories then add the parameter “-la”!


ls /system/libcp


  • change directory: cd [path]

Absolute paths work everywhere, from every folder. They always start with “/”, which is the root (the start). On android, then you have some subfolders like “system”, “data” and “sdcard” (which is the sdcard).  An example of an absolute path would be /sdcard/videos (the folder videos on your sdcard)

Relative paths are relative to your position as the name would suggest.
If you currently are in the /sdcard folder, you can just switch to the videos directory by using the command: cd videos


  • Copy file or directory Syntax: cp [options] source dest

There are several commands for file operations. They will be explained in the next section. Please note that removing important system files may harm your system. If you’re not 100% sure, don’t try it before you are!

To copy or delete files in Android root directories you have to change the directory access mode to “read and write (rw)” [“read only (ro)”] using command: remount rw

Example_1: … this will copy from the sdcard to the folder where it is loaded at boot. It will overwrite the current in that folder.

remount rw /system
cp /sdcard/ /system/media/
remount ro /system

Example_2: will replace the default android font with segoeui, and rename segoeui.ttf to DroidSans.ttf so Android recognises it.

remount rw /system
cp /sdcard/fonts/segoeui.ttf /system/fonts/DroidSans.ttf
remount ro /system

PS: you can also use e.g. “ES File Exporer” for copy & past files


  • displays the contents of a file or copy it: cat file

Example: show a file named lall.txt in /system/data/

cat /system/data/lall.txt


cd /system/data/
cat lall.txt


  • Move file or directory Syntax: mv [options] source dest


mv /system/lib/ /sdcard/backupchmod


  • Change file/directory permission Syntax: chmod [-R] mode[,mode] …. file


chmod 0644 /system/lib/libsec-ril.sorm

First you need to know how permissions work in Linux.
It works with 3-numbers: “xyz”

x – is what the owner can do
y – is the permission for the public user
z – is what other users can do (public = dangerous)

x,y and z can have different values:
7 full (read, write, execute)
6 read and write
5 read and execute
4 read only
3 write and execute
2 write only
1 execute only
0 none


  • Remove file or directory Syntax: rm [options] file


rm /system/lib/libsec-ril.so4. Install application


  • shows on the kernel debug info: dmesg

  • displays the running processes: ps

  • shows the system utilization: top

– press “P” and the output will be ordered by CPU-usage
– press “M” and the output will be ordered by Memory-usage


  • shows all mounted partitions: mount

  • grep is a filter and the “|” (pipe) allows to combine separate commands

Example: show only the system-mount

mount | grep system


  • You can also write output from a command to a file with “>”

Example_1: copy the output from Android-Debug to your SD-Card

logcat -f /sdcard/logcat.txt

Example_2: copy the output from Kernel-Debug to your SD-Card

dmesg > /sdcard/dmesg.txt

Example_3: change CPU-Governor to e.g. conservative

echo conservative > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor

Some usefull adb commands


  • Android will be re-launched

adb reboot


  • Android will be started in recovery mode

adb reboot recovery


  • You can use adb to install application from your local drive into  phone.

adb install appname.apk


D:\android-sdk-windows\tools\adb install D:\AnReboot.apk


  • Copy files from phone to local drive

adb pull source [destination]


D:\android-sdk-windows\tools\adb pull /sdcard/
D:\android-sdk-windows\tools\adb pull /sdcard/ D:\


  • Copy files from local drive to phone

adb push source destination


D:\android-sdk-windows\tools\adb push D:\AnReboot.apk /sdcard


  • a TCP port of Android directly connected to a TCP port of our operating system

adb forward tcp:[source-port] tcp:[destination-port]


adb forward tcp:5901 tcp:5901


PS: there are also good videos on youtube about “android adb” if you need some live examples 😉

Leave a Reply

Your email address will not be published. Required fields are marked *