(Guide) How to logcat, ADB, shell, etc - Samsung Galaxy Gio GT-S5660

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 reooting and rebooting in recovery ode and download mode are supported.
Others:-
There are several other features of adb such as fastboot, aapt, etc
Setting up ADB
Pre Requirements:-
A little amount of brain
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
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
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. Howeve, 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 CMD
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
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 system /system/
Miscellanous commands:-
su: Initiates root request
du: Shows files, folders and size
date: Shows todays date
surfaceflinger: Shows your bootanimation (Tested on GB)
grep: Used to search through text files
chmod: Sets permission to files
sh: Initiates shell mode
echo: Displays the text you wrote with the command. Analogous to PRINT command on QBasic
Forgot next ones, will write later
Credits
Google: For Android and several searchings
Samsung: For Galaxy Ace s5830I
Broadcom: For their Open Sourceness
XDA Forums : For the precious knowledge
My Uncle: For gifting me this Phone
My Teachers: For teaching me English(I would not be here without them)
You: For future Thanks
Till now, thats it, will add some more things later
If any problem, I will add it too
Suggestion? They are welcome

Nice thread , every thing is very clearly stated.

Thx, Nice guide.

I suggest to change the 'remount' command in:
mount -o remount,rw /system
As the effect is the same and it works universally (at least, should)
Sent from my GT-5660 using xda app-developers app

ItachiSama said:
I suggest to change the 'remount' command in:
mount -o remount,rw /system
As the effect is the same and it works universally (at least, should)
Sent from my GT-5660 using xda app-developers app
Click to expand...
Click to collapse
I use the command you mentioned every time. Thanks for reminding. I can't remember why I wrote that command there!

Related

Pull/push files adb on a Mac - how to?

I'm trying to pull the keylayout file so I can wake up my desire with the menu button, but I am struggling
here is the command I read in another thread -
adb-nilezon pull /system/usr/keylayout/bravo-keypad.kl c:\
I try ./adb and that command but it doesnt recognize the "nilezon" part.
also I have to change the c:\ part, but what to?
I can do simple adb commands like list the devices etc, and I am rooted.
Thanks for any help!
It depends what your adb file is named, if it's adb, then ./adb, if it's adb-mac then start command with ./adb-mac
its adb i think, hence why i can do basic adb commands
does anyone know how to push pull files on a mac?
I've done it - it anyone wants to know - i put a ./ before adb, removed the -nilezon part and removed the c:/ part.
then i dragged a folder into terminal, (the folder i wanted the file im pulling to end up in) this will copy the path of that folder into terminal, instead of the c:/ part.
Depends on which adb you're using. If you're using the one included with the SDK, then it should just be ./adb pull. If you're using it in recovery (with Paul's or ahmgsk's), it should be ./adb-mac pull.

I'm lost. Need rooting help.

I'm lost as hell. I found this thread:
http://www.androidpolice.com/2010/06...credible-next/
I did the unrevoked thing and I see this icon called SuperUser Permissions in my app list.
Am I able to proceed and fully root or do I have to re-do the root with the Toast method? This looks too complicated and by the way I tried the ./adb thing on my mac and I get errors saying "No such file or directory".
gqstatus0685 said:
This looks too complicated and by the way I tried the ./adb thing on my mac and I get errors saying "No such file or directory".
Click to expand...
Click to collapse
adb isn't installed on a Mac out of the box; You'll need to go download the Android SDK. Untar it somewhere (I put it in ~/), then open a term, do:
Code:
cents-macbook-pro:~ $ cd android-sdk-mac_86/tools/
cents-macbook-pro:~/android-sdk-mac_86/tools $ ./adb
CentroniX said:
adb isn't installed on a Mac out of the box; You'll need to go download the Android SDK. Untar it somewhere (I put it in ~/), then open a term, do:
Code:
cents-macbook-pro:~ $ cd android-sdk-mac_86/tools/
cents-macbook-pro:~/android-sdk-mac_86/tools $ ./adb
Click to expand...
Click to collapse
Massive Brain Freeze.. What do you mean by "(I put it in ~/)"?
I downloaded the Android SDK already. I understand what terminal is so when I download the Android SDK where do I place it?
Am I pointing terminal to the directory? Android SDK is currently in a folder on my desktop.
gqstatus0685 said:
Massive Brain Freeze.. What do you mean by "(I put it in ~/)"?
I downloaded the Android SDK already. I understand what terminal is so when I download the Android SDK where do I place it?
Am I pointing terminal to the directory? Android SDK is currently in a folder on my desktop.
Click to expand...
Click to collapse
~ in most flavors of Unix/Linux is short for your home directory. In MacOS, ~ is /Users/<username>. *nix pro-tip:
Code:
cents-macbook-pro:~ $ echo ~
/Users/cent
So in my case, ~ is short for /Users/cent.
If it's on your desktop, open a terminal and type:
Code:
cd ~/Desktop/android-sdk-mac_86/tools
-OR-
Code:
cd /Users/cent/Desktop/android-sdk-mac_86/tools
And then you can proceed to issue your adb commands. Just remember to prefix it with "./", which tells MacOS to look in the current directory for the adb command.
Code:
cents-macbook-pro:~/android-sdk-mac_86/tools $ ./adb devices
List of devices attached
HT05RHL1XXXX device
Ok. I think I'm just going to pay someone to do this for me. I'm getting a migraine.
So I'm basically typing the below:
~/android-sdk-mac_86/tools $ ./adb devices (Do I type this in one line)
List of devices attached
HT05RHL1XXXX device
I ran the thing and it doesn't show my phone listed.
I've got the time, if you have the money!
1. Make sure USB debugging is enabled. On your phone, go to Settings -> Applications -> Development, and make sure "USB debugging" is checked.
2. Make sure your USB cable is connected to your phone and computer.
3. Open a terminal
4. Type "cd ~/Desktop/android-sdk-mac_86/tools" and press enter.
5. Type "./adb devices" and press enter.
If it lists your device, you're then good to go to start following the rooting instructions!
You're the best dude. It was the USB debugging that was giving me the problem.
Good deal man, glad you got that part worked out! Have fun getting your root on!
this is the easiest way to do it....it worked for me
http://forum.xda-developers.com/showthread.php?t=701152
Do i have to keep dubugging mode on or can I turn it off before I root it. I did the command:
"cd ~/Desktop/android-sdk-mac_86/tools"
and then
adb push PC36IMG.zip /sdcard (Doesn't do anything. I tried without the space and some stuff popped up. Can I just manually put it on my SDcard?
gqstatus0685 said:
Do i have to keep dubugging mode on or can I turn it off before I root it. I did the command:
"cd ~/Desktop/android-sdk-mac_86/tools"
and then
adb push PC36IMG.zip /sdcard (Doesn't do anything. I tried without the space and some stuff popped up. Can I just manually put it on my SDcard?
Click to expand...
Click to collapse
Debugging mode needs to stay on if you want to use adb. You can turn it off once you root, but it won't hurt to leave it on.
The push command should tell you the number of bytes transfered. You need to make sure that the file you are pushing is in the current directory you're in (tools), or manually enter the path, like "./adb push ~/Downloads/PC36IMG.zip /sdcard"
But yes, you can mount the card as a disk drive and copy the file there in Finder.

G2; How to initiate/ launch adb

ok,,,noob here.. but not a dummy. I want to load music on my sd card. I have downloaded everything I think I'm supposed to have.. SDK, adb, drivers eclipse java program...I'm running vista 32 and have created C:\program files\Android\android-sdk-windows. I have extracted all files I think all the drivers. I have spent some considerable time (wee hours ..) I can start the sdk .exe and the java eclipse but how do I use it to connect to my usb connected phone? I want to load data onto my sd card. BTW I have temprooted with VISIONary r14.
The cmd prompt window that comes up with the sdk .exe does not respond to typing in it. Commands typed into the computer's cmd prompt are not recognized. Or maybe I'm typing the wrong thing. I can't navigate to the android folder, to find my usb'd phone. I have read a lot of posts here trying to figure this out..I'm really at wits end anybody please help!!! I thought there'd be a desktop lauch icon..haha.
There's a guide for using ADB in the dev forum: http://forum.xda-developers.com/showthread.php?t=865685
If you are just trying to put music on your SD card though, I don't think you need to do all of this. Just mount the SD card once your phone is connected to your computer (there will be an option that appears in your notification drawer to do this). Your SD card will then show up as a drive on your computer...
I saw that guide..Step 4 doent apply on vista.."My Computer" and the path that is described is not on Vista, or anything similar. I can't "update your Path variable." It did not say HOW TO LAUNCH! What is it application that I need to work from for adb? I have read every post I could find here..and that one maybe four or 5 times. I want to use adb I can see and browse my SD card as drive F..thanks..I still want to run adb.. I cant type into the sdk cmd pane.
captmack007 said:
I saw that guide..Step 4 doent apply on vista.."My Computer" and the path that is described is not on Vista, or anything similar. I can't "update your Path variable." It did not say HOW TO LAUNCH! What is it application that I need to work from for adb? I have read every post I could find here..and that one maybe four or 5 times. I want to use adb I can see and browse my SD card as drive F..thanks..I still want to run adb.. I cant type into the sdk cmd pane.
Click to expand...
Click to collapse
Whoa whoa whoa! If all you want to do is load music on your phone and your using Windows, either just install Doubletwist on it. It's kind of like iTunes for everything. Or just make a music folder and load your music onto that. No adb needed.
Now, about adb; there is no program to run. You don't really need to set your path either, it just makes things easier. Just cd to the sdk tools folder.
Sent from my HTC Vision
It's not all i want to do...i should not have mentioned it.
cd to the ??
If I wish to make an adb command, what and where do I go/do to do that....on a vista puter....thnkx
I can see tghe adb android interface is there ...I figured out to right click on "computer" "manage", which opens Computer Manager. There in the left column is "Device Manager" clicked on that and I see the Android Phone listed, with subcatagory android adb interface. and down at the bottom under "Portable Devices" HTC is shown. All drivers are showing up and say they are functioning properly.
appreciate the help..
captmack007 said:
It's not all i want to do...i should not have mentioned it.
cd to the ??
appreciate the help..
Click to expand...
Click to collapse
Oh I see. You first mentioned simply putting music on your phone and the next thing you've got a full development emvironment! Lol!
Cd to the tools folder of the android sdk. (Bear with me as I haven't done this on windows in a good long while). For example, open command prompt, then type "cd C:\androidsdk\tools", where the androidsdk part is whatever the sdk is called.
Sent from my HTC Vision
Once you have the android sdk on your computer- change the folder name to something simple so typing is easier. You'll also want to edit the enviornment variables (google is your friend, but I'll post a link tomorrow to help). The latest sdk is missing a dll file - I'm sure one of us can upload it, I just don't remember which one it is right now.
Now that you've got that done open command prompt an type:
cd c:\where\you\put\it (the sdk)
Then type:
adb devices
Or
adb start-server
If you get an error it means you did something wrong.
"cd C:\androidsdk\tools
I'll ad that to the list of command that do nuttin...lol
I downloaded all the sh*t I was told in these threads to dowload...yeah..everything to create an app. lol
I still am waiting to read or be informed of the precise command line that will let me into adb... tfn
thks KCRic... I will give that a shot.. nice tip on renaming the folder..I did not type cd C: first.. (the tuts I've been rackin my brain on did not say that..
I had read that it was missing and found it downloaded it and put it in tools..
the edit the environment variables is what I can't find where to do that.. thanks.
I added the missingAdbWinApi.dll and AdbWinUsbApi.dll and Adb.exe (of course) into the tools folder...
I renamed the folder in Programs\Android..."android-sdk-windows" simply "sdk"
I typed in:
cd c:\program files\Android\sdk\tools
I got in..opened a port..gave me my phones serial #
so this is where adb commands are made? (stupid question perhaps)
I thought the other cmd screen that opens with the sdk.exe was it. And I cant type anything there anyway.
If you have got "adb devices" to show you your phone's serial number, then adb is working find, and you can start using the other adb commands.
Sent from my HTC Desire Z
captmack007 said:
I renamed the folder in Programs\Android..."android-sdk-windows" simply "sdk"
I typed in:
cd c:\program files\Android\sdk\tools
I got in..opened a port..gave me my phones serial #
so this is where adb commands are made? (stupid question perhaps)
I thought the other cmd screen that opens with the sdk.exe was it. And I cant type anything there anyway.
Click to expand...
Click to collapse
Just type "adb", no quotes, and that will give you an output of all the adb commands.
captmack007 said:
I renamed the folder in Programs\Android..."android-sdk-windows" simply "sdk"
I typed in:
cd c:\program files\Android\sdk\tools
I got in..opened a port..gave me my phones serial #
so this is where adb commands are made? (stupid question perhaps)
I thought the other cmd screen that opens with the sdk.exe was it. And I cant type anything there anyway.
Click to expand...
Click to collapse
Yeah you're up and running now. If you typed adb devices or adb usb and got it to list your phones serial # then it's connected and running.
As far as adb commands, you can type adb help to get a list of some and they're pretty easy. Some of them are:
adb push <path\to\file> <where\to\push> - copies files to your phone
adb pull <path\to\file> <where\to\put\it> - copies files from the phone to your computer
adb remount - remounts your device
adb reboot - self explanatory
adb install <path\to\file> - self explanatory
adb start-server - starts adb service
adb kill-server - kills adb process (I always type this in when I'm done, sometimes it doesn't terminate and causes issues)
adb shell <linux type command> - runs command in the device shell
adb shell [enter] - operates in the devices shell until you type {exit}
Once you enter the shell you can type {su} to enter superuser. All commands in the shell are in linux format so if you're unfamiliar with that then do some reading.
HERE is a link that should help with adb also.
KCRic said:
As far as adb commands, you can type adb help to get a list of some and they're pretty easy. Some of them are:
adb push <path\to\file> <where\to\push> - copies files to your phone
adb pull <path\to\file> <where\to\put\it> - copies files from the phone to your computer
adb remount - remounts your device
adb reboot - self explanatory
adb install <path\to\file> - self explanatory
adb start-server - starts adb service
adb kill-server - kills adb process (I always type this in when I'm done, sometimes it doesn't terminate and causes issues)
adb shell <linux type command> - runs command in the device shell
adb shell [enter] - operates in the devices shell until you type {exit}
Once you enter the shell you can type {su} to enter superuser. All commands in the shell are in linux format so if you're unfamiliar with that then do some reading.
HERE is a link that should help with adb also.
Click to expand...
Click to collapse
Apologies if you've seen it already, but most of that is covered in the adb guide on the dev forums, with that link also - http://forum.xda-developers.com/showthread.php?t=865685
Thanks for the great info... Now I'm standing at the gate (maybe the precipice..lol)
As far as completing the pathway...
I found (through excrutiating trial and error) the Vista path for step 4 on that tut.
So under "Environment Variables" there are two editable windows, and the bottom with the "Path" that the tut says to edit says to ad the path to the tools folder and the platform folders...
The question is, when I double click to edit the Path line,(C:\Program Files\JavaFX-sdk1.3....) it changes to a different path (~1C:\Program Files\Quicktime\QTSystem\
So am I to delete that line and ad a new path or ad to the Quicktime line..
ty
The existing path was probably just too long to show up on the screen (so you saw the beginning of the line initially and the end of the line when you tried to edit it). Just add a semi-colon and then the path you want to add. You don't want to delete what you already have there since it might mess with other software installed on you computer.
So for example:
...C:\Program Files\Quicktime\QTSystem\;C:\android-sdk-windows\tools
Quicktime and android are both separatefolders under program files... so....no.. that's not it. I don't even know why java showsthere... my sdk is in C:/Program Files/Android/sdk/tools...
p.s. how you do backslash on this keyboard....lol
Sent from my T-Mobile G2 using XDA App
The path is simply a listing of directories separated by semi-colons. When executing a command, Windows will check the local directory you are in first for the program, and then parse through the directories listed in your path. This is why this step is even needed (it allows you to run adb.exe from any directory instead of always having to change to the tools directory). This is also why I said it's not a good idea to simply delete what is already there. You just want to add the tools directory where adb.exe is located to the existing listing.
So in your case, the end of the path variable will look like this:
...C:\Program Files\Quicktime\QTSystem\;C:\Program Files\Android\sdk\tools
Alternatively, you could stick it in the beginning of the path (so double-click to edit the variable, hit Home to go to the beginning, and add the directory there with a semi-colon). It should look like this in your case:
C:\Program Files\Android\sdk\tools;C:\Program Files\JavaFX-sdk1.3...
And there is no backslash on the G2 hardware keyboard (as you noticed), but you can access it by hitting the Alt key and then space to pull up a dialog box of additional symbols.
Word of advice to anyone reading this:
When adding the adb to your path make sure and don't put a space after the the semicolan. When I set mine up I spent 4 hours trying to figure out why it wasn't working, and it was the stupid space lol.
I haven't looked at the wiki since I did it back in October so maybe they've updated it to be clearer but just want to throw it out there.
Sent from my HTC Vision using XDA App

[GUIDE] ADB, logcat, shell, etc

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 reooting and rebooting in recovery ode and download mode are supported.
Others:-
There are several other features of adb such as fastboot, aapt, etc
Setting up ADB
Pre Requirements:-
A little amount of brain
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
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
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. Howeve, 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 CMD
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
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
Forgot next ones, will write later
Credits
Google: For Android and several searchings
Samsung: For Galaxy Ace s5830I
Broadcom: For their Open Sourceness
XDA Forums : For the precious knowledge
My Uncle: For gifting me this Phone
My Teachers: For teaching me English(I would not be here without them)
You: For future Thanks
Till now, thats it, will add some more things later
If any problem, I will add it too
Suggestion? They are welcome
Doesn't it belong to General section???
great work, now i know how to make a logcat. hehehehe. tnx a lot.
Ganesh A said:
Doesn't it belong to General section???
Click to expand...
Click to collapse
Well if you say so
I will request a mod to move it
But I have seen several threads (even stickies) that are guides just about logcat
And my guide features it all
Well I will not argue and request a mod if you insist
Keep it in this section

[ADB GUIDE] How to use ADB. (Noob edition)

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 reooting and rebooting in recovery ode and download mode are supported.
Others:-
There are several other features of adb such as fastboot, aapt, etc
Setting up ADB
Pre Requirements:-
A little amount of brain
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.)
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:
SETX PATH "%PATH%;SDK_Install_Path\platform-tools;SDK_Install_Path\android-sdk-windows\tools" -m
Just replace the "SDK_Install_Path" in the above with the proper path of your SDK installation. Example: C:\android-sdk-windows
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. Howeve, 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 CMD
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
Forgot next ones, will write later
All credits go to
iamareebjamal
For writing this up.

Categories

Resources