[GUIDE][ADB]Easiest How to use adb, logcat, etc for noobs and newbies

How was the guide?


  • Total voters
    607
Search This thread

iamareebjamal

Senior Member
Aug 7, 2012
3,703
5,127
27
Batcave
www.facebook.com
ADB:-

Android Debug Bridge
Very useful program made itself by Google for Programmers and developers. Its based on command line and basically communicates with your Android to respond to certain commands. There is vast amount of knowledge about adb but its most useful commands limit to getting:-

Logcat:-
A real time log of what is happening in background of our devices. It is really useful for developers to see which component has malfunctioned and helps to narrow down their search for what failed and what needs to be fixed. Several times users are asked to give logcats of their devices which are giving errors. We will go in detail that how to get logcats in every and easiest way possible.

App Installation and Management:-
adb proves really handy if you want to install apks directly from your PC or want to batch install or delete them.

Shell Execution:-
You must have heard of Terminal Emulator. It is an app for android to execute shell commands(linux commands) which are basically present as applets in /system/bin, /system/sbin or /system/xbin(in our case) folders. A very imporant applet called busybox is installed there mainly used for execution of basic commands during root browsing or ROM installation. Many times updater script of ROMs use busybox commands to install it. Well, these commands can be initiated from your device too but they can be initiated from adb also making it easy for programmers.

Pushing and Pulling:-
Most used commands of adb. adb makes it a piece of cake for new device developers to get an ideo of structure and basic knowledge of devices by pulling command. We can pull out i.e copy any files or folders from our devices to our PC, even the root directories without rooting the devices. It help rooters and ROM chefs of new devices to get an idea and implement their mods on them. Pushing is also very useful command. It copies your files and folders from PC to your device. Very useful in pushing some /system apps and other things

Remounting and setting permissions

Basic commands:-
Of-course basic commands such as rebooting and rebooting in recovery mode and download mode are supported.

Others:-
There are several other features of adb such as fastboot, aapt, etc


Setting up ADB

Pre Requirements:-

PC(This is a windows guide, if asked I will add linux and mac guide later)
Java Runtime environment or Java Developing kit
Your Device Drivers
An Android Device

USB Debugging MUST be turned ON in the device for ADB to see it & Developer options is hidden in Android 4.2 and
above, Hitting Build number 10 times in
About Phone/Tablet reveals the menu (Thanks lilHermit for reminding me to add it)



Assuming you all these ready and working properly, we continue
If you are having trouble completing Pre-Requisites, there are several guides featuring them too




Start

1. First Download Android SDK. Roughly about 70 MB

2. There may be any compressed zip file or exe file
If zip file, then extract it to C:\android-sdk
If exe file then double click on it and install it in C:\ Drive(or any other drive you want)

3. Now to get adb and other tools, you need to download
'Platform Tools'
To download them, go to the android-sdk folder and double click on SDK Manager
It will ask you which package to download? However, it is your choice which package to Download, but here, we will only talk about platform
Tools. So, simply tick on Platform Tools and click on install. Once you have done it. Go to the platform-tools folder in the directory where you installed android-sdk. You will find several files there like adb, fastboot, aapt, etc

4. Now, you can backup the whole folder of android-sdk to any external storage that will make you not download package
again if you want to. You can have it placed in any computer and run it as it does not require registry to work


5. Now, you are just one step away from using adb. Next step is
SKIPPING SETTING ENVIRONMENT VARIABLE (If you however want to set environment variables. Click on Show Content)
We can easily append the sdk platform-tools and tools folder to your systems environmental path variable directly from command line(cmd) by simply issuing one command and performing a system reboot:


Code:
[COLOR=Black]SETX PATH "%PATH%;[/COLOR][COLOR=Indigo]SDK_Install_Path[/COLOR][COLOR=Black]\platform-tools;[/COLOR][COLOR=Indigo]SDK_Install_Path[/COLOR][COLOR=Black]\android-sdk-windows\tools" -m[/COLOR]

Just replace the "SDK_Install_Path" in the above with the proper path of your SDK installation. Example: C:\android-sdk-windows

(Thanks to WugFresh for telling me :victory:)



Many guides on internet say that it is to be done for making it easy for users and if you have some basic knowledge of Command Prompt,
you will know that to execute any application with command prompt, you first need to change the directory to the one where application is
placed. And to skip changing the directories every time you open CMD, you need to put that application is environment variable. However, we will not do so.


6. Type cmd in the search bar. Copy cmd.exe from there. Go to the directory where you have installed android-sdk. Go to platform-tools folder. Paste cmd there, right click on it and in the settings, select Run as Administrator.

7. You are done. Now what to do in it?



ADB Commands


Type adb in command prompt. And several commands will show up on your screen. It is very difficult to analyse these all commands, so we will only talk about most used and important commands



Connect your device via USB cable

And open the CMD in platform-tools folder(Make a shortcut of it on desktop). And type the suitable commands

Code:
adb devices

Will show the list of devices attached to the PC andtheir serial numbers. If this shows up correctly on your PC, then it means that everything is fine for continuing.


Logcat

Code:
adb logcat
It will display the real time log of your device
Best time to do it is when your device boots up
Now, many users ask me how to copy the logcat and upload it from CM
D

There are several methods:-
1. Right click on the Title Bar of Command Prompt. Hover the cursor over edit and select mark. Select all the things you want to copy and then click enter. All the things will be copied to clipboard.
2. This is the correct way of getting logcat saved.

Code:
adb logcat > logcat.txt

This command will create a logcat.txt document in platform-tools folder with the complete logcat of the device. Ofcourse you can type any name instead of logcat.txt
3. I prefer taking logcat this way as it neatly compiles logs of different time

Code:
adb logcat -v long > logcat.txt

This is a very nice way to get logcat.



Installing Apps


Code:
adb install %PATH OF APK%


This will install an app on your Android
For example, if my app AreeB.apk is in G:\ drive (G:\AreeB.apk)
Then I will type


Code:
adb install G:\AreeB.apk

Be sure your apk is not in a folder that has space in its name, else the command will break at space bar.
For eg:-


G:\Program Files\AreeB.apk

Note:
If you have spaces in path of apk, you can execute the command without breakage if you include the path inside quotes. (Thanks to etcman)
Eg:-



Code:
adb install "G:\Program Files\AreeB.apk"




Mounting

However, I never found any problem in tweaking with system files with adb, but some users said that they couldn't do it, so the problem was that their system partition was mounted as Read Only(R/O)
So, it is necessary now to tell how to mount system partition as Read Write(R/W)


Code:
adb remount
It is easiest way to do so, if it does not work then
There is another method that we will discuss in
ADB Shell commands section




Pushing and Pulling

For pushing,
Type

Code:
adb push %PATH TO BE PUSHED% %PATH WHERE TO BE PUSHED%


Suppose I have an app named SystemUI.apk(PATH = G:\SystemUI.apk) which I want to push in /system/app/ on my android(or in other words, install an app as a system app). Then I would type


Code:
adb push G:\SystemUI.apk /system/app/

More examples
G:\Dance.txt file to be pushed in Dance folder in sdcard


Code:
adb push G:\Dance.txt /sdcard/Dance/
OR
Code:
adb push G:\Dance.txt /mnt/sdcard/Dance/


G:\Movies folder to be transferred in SDCARD in Videos Folder

Code:
adb push G:\Movies /sdcard/Videos/


G:\system\framework\framework-res.apk to be pushed in /system/framework/

Code:
adb push G:\system\framework\framework-res.apk /system/framework/


For pulling,


push command replaces with pull and paths are swapped
Code:
adb pull %PATH TO BE PULLED FROM% %PATH TO PLACE PULLED FILE%

Example,
All system apps are to be pulled to G:\ROM\system\app

Code:
adb pull /system/app G:\ROM\system\app\


build.prop to be extracted to desktop

Code:
adb pull /system/build.prop C:\Users\Areeb\Desktop\


However, if a folder is in platform-tools folder, you don't need to type full path
Suppose if I type

Code:
adb pull /system/ system

Then a folder named system will be created inside platform-tools with all the files in system in it

If a file is in platform-tools folder, then also no need to type full path
For example,
There is an app name DeskClock.apk in this folder then, to push it to /system/app, type

Code:
adb push DeskClock.apk /system/app/


ADB Shell Commands

This mode of adb allows you to execute linux shell commands from your PC

These commands can aldo be executed through the mobile using Terminal Emulator


To initiate shell mode
Type

Code:
adb shell
You will get an prompt like this
sh-3.2#

Now you are in shell mode

adb commands won't work here and a new set of commands will work here. But we will only go in a little detail here.

Assuming you are in adb shell mode, I will only type commands that will work on shell. Note:- These commands won't work if you type them alone on cmd. But, these command will directly work on your mobile's Terminal Emulator
As these commands can also work on mobile, I am going to tell you a way of taking logcat on mobile


Type
Code:
logcat
You will see log of your device

To save this

Type
Code:
logcat > /sdcard/log.txt

A file named log.txt will be generated in sdcard


Uninstalling Applications

Code:
cd /data/app
This will change the directory to /data/app

Code:
ls
This will show the list of files in there

Suppose, there is an app named com.opera.browser (Opera Mobile) you want to uninstall it
Type
Code:
rm -r com.opera.browser

This will uninstall the app

Mounting Command:-

Code:
mount -o rw,remount /dev/block/mtdblock3 /system

Miscellanous commands:-

su: Initiates root request
du: Shows file foldrs and size
date: Shows todays date
ls: Shows list of directory
cd: Changes working directory
rm: Removes the file
logcat: Displays logcat
mount: Mounts the partition
busybox: Busybox Applets




Credits

Google: For Android and several searchings
Samsung: For Galaxy Ace s5830I

paxChristos for amazing logcat guide
Broadcom: For their Open Sourceness
XDA Forums : For the precious knowledge
 
Last edited:

Android-fany

Senior Member
Nov 12, 2012
1,496
697
localhost
Hey, I have downloaded adb a week ago. I did everything like your tutorial and more but adb doesn't see my device. I already have USB Debugging on and have the USB Drivers, but it doesn't work. This is what I get (Screenshot)
 

Attachments

  • Adb_not_working.JPG
    Adb_not_working.JPG
    34.2 KB · Views: 3,063

iamareebjamal

Senior Member
Aug 7, 2012
3,703
5,127
27
Batcave
www.facebook.com
Hey, I have downloaded adb a week ago. I did everything like your tutorial and more but adb doesn't see my device. I already have USB Debugging on and have the USB Drivers, but it doesn't work. This is what I get (Screenshot)
Probably because of bad drivers

Can you use any other software with your mob

Because when I had this problem, reinstalling drivers fixed it.
 

Android-fany

Senior Member
Nov 12, 2012
1,496
697
localhost
AW: [GUIDE][ADB]Easiest How to use adb, logcat, etc for noobs and newbies

Ah Vista

That old Nemesis

Frankly telling you bro, Vista sucks big time

I unistalled it as soon as I found out that Android kitchen won't work on it

Sorry bro
I don't know much about Vista

Install 7 or 8

I can't install Windows 7/8 because it is not my computer.
But Android Kitchen and the other tools works. Just not adb.

Tapatalked by s5830i
 

Top Liked Posts

  • There are no posts matching your filters.
  • 307
    ADB:-

    Android Debug Bridge
    Very useful program made itself by Google for Programmers and developers. Its based on command line and basically communicates with your Android to respond to certain commands. There is vast amount of knowledge about adb but its most useful commands limit to getting:-

    Logcat:-
    A real time log of what is happening in background of our devices. It is really useful for developers to see which component has malfunctioned and helps to narrow down their search for what failed and what needs to be fixed. Several times users are asked to give logcats of their devices which are giving errors. We will go in detail that how to get logcats in every and easiest way possible.

    App Installation and Management:-
    adb proves really handy if you want to install apks directly from your PC or want to batch install or delete them.

    Shell Execution:-
    You must have heard of Terminal Emulator. It is an app for android to execute shell commands(linux commands) which are basically present as applets in /system/bin, /system/sbin or /system/xbin(in our case) folders. A very imporant applet called busybox is installed there mainly used for execution of basic commands during root browsing or ROM installation. Many times updater script of ROMs use busybox commands to install it. Well, these commands can be initiated from your device too but they can be initiated from adb also making it easy for programmers.

    Pushing and Pulling:-
    Most used commands of adb. adb makes it a piece of cake for new device developers to get an ideo of structure and basic knowledge of devices by pulling command. We can pull out i.e copy any files or folders from our devices to our PC, even the root directories without rooting the devices. It help rooters and ROM chefs of new devices to get an idea and implement their mods on them. Pushing is also very useful command. It copies your files and folders from PC to your device. Very useful in pushing some /system apps and other things

    Remounting and setting permissions

    Basic commands:-
    Of-course basic commands such as rebooting and rebooting in recovery mode and download mode are supported.

    Others:-
    There are several other features of adb such as fastboot, aapt, etc


    Setting up ADB

    Pre Requirements:-

    PC(This is a windows guide, if asked I will add linux and mac guide later)
    Java Runtime environment or Java Developing kit
    Your Device Drivers
    An Android Device

    USB Debugging MUST be turned ON in the device for ADB to see it & Developer options is hidden in Android 4.2 and
    above, Hitting Build number 10 times in
    About Phone/Tablet reveals the menu (Thanks lilHermit for reminding me to add it)



    Assuming you all these ready and working properly, we continue
    If you are having trouble completing Pre-Requisites, there are several guides featuring them too




    Start

    1. First Download Android SDK. Roughly about 70 MB

    2. There may be any compressed zip file or exe file
    If zip file, then extract it to C:\android-sdk
    If exe file then double click on it and install it in C:\ Drive(or any other drive you want)

    3. Now to get adb and other tools, you need to download
    'Platform Tools'
    To download them, go to the android-sdk folder and double click on SDK Manager
    It will ask you which package to download? However, it is your choice which package to Download, but here, we will only talk about platform
    Tools. So, simply tick on Platform Tools and click on install. Once you have done it. Go to the platform-tools folder in the directory where you installed android-sdk. You will find several files there like adb, fastboot, aapt, etc

    4. Now, you can backup the whole folder of android-sdk to any external storage that will make you not download package
    again if you want to. You can have it placed in any computer and run it as it does not require registry to work


    5. Now, you are just one step away from using adb. Next step is
    SKIPPING SETTING ENVIRONMENT VARIABLE (If you however want to set environment variables. Click on Show Content)
    We can easily append the sdk platform-tools and tools folder to your systems environmental path variable directly from command line(cmd) by simply issuing one command and performing a system reboot:


    Code:
    [COLOR=Black]SETX PATH "%PATH%;[/COLOR][COLOR=Indigo]SDK_Install_Path[/COLOR][COLOR=Black]\platform-tools;[/COLOR][COLOR=Indigo]SDK_Install_Path[/COLOR][COLOR=Black]\android-sdk-windows\tools" -m[/COLOR]

    Just replace the "SDK_Install_Path" in the above with the proper path of your SDK installation. Example: C:\android-sdk-windows

    (Thanks to WugFresh for telling me :victory:)



    Many guides on internet say that it is to be done for making it easy for users and if you have some basic knowledge of Command Prompt,
    you will know that to execute any application with command prompt, you first need to change the directory to the one where application is
    placed. And to skip changing the directories every time you open CMD, you need to put that application is environment variable. However, we will not do so.


    6. Type cmd in the search bar. Copy cmd.exe from there. Go to the directory where you have installed android-sdk. Go to platform-tools folder. Paste cmd there, right click on it and in the settings, select Run as Administrator.

    7. You are done. Now what to do in it?



    ADB Commands


    Type adb in command prompt. And several commands will show up on your screen. It is very difficult to analyse these all commands, so we will only talk about most used and important commands



    Connect your device via USB cable

    And open the CMD in platform-tools folder(Make a shortcut of it on desktop). And type the suitable commands

    Code:
    adb devices

    Will show the list of devices attached to the PC andtheir serial numbers. If this shows up correctly on your PC, then it means that everything is fine for continuing.


    Logcat

    Code:
    adb logcat
    It will display the real time log of your device
    Best time to do it is when your device boots up
    Now, many users ask me how to copy the logcat and upload it from CM
    D

    There are several methods:-
    1. Right click on the Title Bar of Command Prompt. Hover the cursor over edit and select mark. Select all the things you want to copy and then click enter. All the things will be copied to clipboard.
    2. This is the correct way of getting logcat saved.

    Code:
    adb logcat > logcat.txt

    This command will create a logcat.txt document in platform-tools folder with the complete logcat of the device. Ofcourse you can type any name instead of logcat.txt
    3. I prefer taking logcat this way as it neatly compiles logs of different time

    Code:
    adb logcat -v long > logcat.txt

    This is a very nice way to get logcat.



    Installing Apps


    Code:
    adb install %PATH OF APK%


    This will install an app on your Android
    For example, if my app AreeB.apk is in G:\ drive (G:\AreeB.apk)
    Then I will type


    Code:
    adb install G:\AreeB.apk

    Be sure your apk is not in a folder that has space in its name, else the command will break at space bar.
    For eg:-


    G:\Program Files\AreeB.apk

    Note:
    If you have spaces in path of apk, you can execute the command without breakage if you include the path inside quotes. (Thanks to etcman)
    Eg:-



    Code:
    adb install "G:\Program Files\AreeB.apk"




    Mounting

    However, I never found any problem in tweaking with system files with adb, but some users said that they couldn't do it, so the problem was that their system partition was mounted as Read Only(R/O)
    So, it is necessary now to tell how to mount system partition as Read Write(R/W)


    Code:
    adb remount
    It is easiest way to do so, if it does not work then
    There is another method that we will discuss in
    ADB Shell commands section




    Pushing and Pulling

    For pushing,
    Type

    Code:
    adb push %PATH TO BE PUSHED% %PATH WHERE TO BE PUSHED%


    Suppose I have an app named SystemUI.apk(PATH = G:\SystemUI.apk) which I want to push in /system/app/ on my android(or in other words, install an app as a system app). Then I would type


    Code:
    adb push G:\SystemUI.apk /system/app/

    More examples
    G:\Dance.txt file to be pushed in Dance folder in sdcard


    Code:
    adb push G:\Dance.txt /sdcard/Dance/
    OR
    Code:
    adb push G:\Dance.txt /mnt/sdcard/Dance/


    G:\Movies folder to be transferred in SDCARD in Videos Folder

    Code:
    adb push G:\Movies /sdcard/Videos/


    G:\system\framework\framework-res.apk to be pushed in /system/framework/

    Code:
    adb push G:\system\framework\framework-res.apk /system/framework/


    For pulling,


    push command replaces with pull and paths are swapped
    Code:
    adb pull %PATH TO BE PULLED FROM% %PATH TO PLACE PULLED FILE%

    Example,
    All system apps are to be pulled to G:\ROM\system\app

    Code:
    adb pull /system/app G:\ROM\system\app\


    build.prop to be extracted to desktop

    Code:
    adb pull /system/build.prop C:\Users\Areeb\Desktop\


    However, if a folder is in platform-tools folder, you don't need to type full path
    Suppose if I type

    Code:
    adb pull /system/ system

    Then a folder named system will be created inside platform-tools with all the files in system in it

    If a file is in platform-tools folder, then also no need to type full path
    For example,
    There is an app name DeskClock.apk in this folder then, to push it to /system/app, type

    Code:
    adb push DeskClock.apk /system/app/


    ADB Shell Commands

    This mode of adb allows you to execute linux shell commands from your PC

    These commands can aldo be executed through the mobile using Terminal Emulator


    To initiate shell mode
    Type

    Code:
    adb shell
    You will get an prompt like this
    sh-3.2#

    Now you are in shell mode

    adb commands won't work here and a new set of commands will work here. But we will only go in a little detail here.

    Assuming you are in adb shell mode, I will only type commands that will work on shell. Note:- These commands won't work if you type them alone on cmd. But, these command will directly work on your mobile's Terminal Emulator
    As these commands can also work on mobile, I am going to tell you a way of taking logcat on mobile


    Type
    Code:
    logcat
    You will see log of your device

    To save this

    Type
    Code:
    logcat > /sdcard/log.txt

    A file named log.txt will be generated in sdcard


    Uninstalling Applications

    Code:
    cd /data/app
    This will change the directory to /data/app

    Code:
    ls
    This will show the list of files in there

    Suppose, there is an app named com.opera.browser (Opera Mobile) you want to uninstall it
    Type
    Code:
    rm -r com.opera.browser

    This will uninstall the app

    Mounting Command:-

    Code:
    mount -o rw,remount /dev/block/mtdblock3 /system

    Miscellanous commands:-

    su: Initiates root request
    du: Shows file foldrs and size
    date: Shows todays date
    ls: Shows list of directory
    cd: Changes working directory
    rm: Removes the file
    logcat: Displays logcat
    mount: Mounts the partition
    busybox: Busybox Applets




    Credits

    Google: For Android and several searchings
    Samsung: For Galaxy Ace s5830I

    paxChristos for amazing logcat guide
    Broadcom: For their Open Sourceness
    XDA Forums : For the precious knowledge
    6
    Reserved Once More
    6
    About Broadcom being open sourced made me laugh hahaha.