Related
A lot of people seem scared to use "adb" (Android Debug Bridge), or try it out and hit problems, then immediately give up.
I personally think that the method of rooting using adb (rage) is "better" than Visionary, because you have more control over the process and can see what it's doing. e.g. if there's an error message then you can see that, and ask for help.
But even if you don't use adb in rooting, it's still a very useful tool to have available. You can use it to run commands on your phone, copy files between your PC and phone, and to debug various issues that may occur at some point (plus lots more).
The guide in this first posting is for Windows, since I think this is what the majority of what people are using, and also it's what I use myself. Though you can use adb on Linux or Mac too. There's a Mac guide in the second posting, with a Linux guide "coming soon".
There are different ways to install adb. Below I list two methods, the first method I call "Complete", which involves installing the Android SDK (Software Development Kit), and the second "Quick" way. Either should be fine for rooting etc.
There's also a guide by gtrab in his useful FAQ posting (thanks !) HERE , which involves a very quick way to get it up and running (scroll down to the "Adb Mini Package" section).
INSTALLING ADB ON WINDOWS - METHOD A, THE "COMPLETE" WAY, USING THE SDK
Step 1
If you haven't done so already, then download and install HTC Sync from HTC's website.
You'll find it in the Support section for the Desire Z (works on the G2 too), e.g. at http://www.htc.com/www/help/htc-desire-z/#download.
This is HTC's software to sync various stuff from your phone to your PC, such as email, bookmarks etc. However, even if you don't need that stuff, HTC Sync has a bunch of USB drivers for your phone, and that's what we *do* need.
Step 2
Download and install the Android SDK (Software Development Kit) Starter package from http://developer.android.com/sdk/index.html
There are two choices for Windows there, a simple zip file which you can unzip somewhere appropriate on your PC (e.g. put it on C:\ if you like). Or there's an installer (which is the recommended option according to the Android website), though that forces you to download some Java stuff which we don't really need for adb and takes a lot longer to install (but there won't be any harm in getting). It doesn't really matter which one you pick though.
You can read all about how to install the SDK at http://developer.android.com/sdk/installing.html . Ignore all the stuff about Eclipse though, you don't need that unless you're going to start writing Android apps.
Step 3
Now we need to add the Platform Tools component to the SDK, because that contains adb.
Run "SDK Manager" on your PC. You will find that in the root directory of the SDK, so you can open up a file explorer window to find that, then double-click on "SDK Manager" to run it.
Wait for a few seconds while it checks on the Android website for updates etc, let it then pop up with a window showing you what is on offer.
Add the "Android SDK Platform Tools", you can "reject" (i.e. don't install) all the other things it offers you if you like, though there's no harm in installing them (just takes up disk space on your PC).
Step 4
Now we need to update your Path variable. This lets you run adb on your PC from a command window no matter which directory you are in (which makes things a lot easier). If you don't setup your Path, then every time you want to run adb, you will either have to type the whole long pathname where you put adb, or cd to where you've put adb and run it from there (which could be inconvenient if you are transferring files to/from your phone).
On your PC, right-click on "My Computer" and select "Properties". (on Vista, click on "Change Settings"). Go to the "Advanced" tab, then select "Environment Variables". Find the "Path" variable in the list of variables that it shows (you might need to scroll), and then double-click on that entry to edit it. Add the full path of the "tools" and "platform-tools" folders of the SDK to your path. e.g. if the SDK has been installed in "c:\Program Files\android-sdk-windows", then add to your Path "c:\Program Files\android-sdk-windows\tools;c:\Program Files\android-sdk-windows\platform-tools" (Please Note - don't put any spaces between the semi-colon and pathname, otherwise it won't work !)
Step 5
On your phone, go into Menu->Settings->Applications->Development and make sure you have the entry "USB Debugging" ticked. adb will not work without this.
Step 6
Plug your phone into your PC using the original HTC cable. This is important, do not use a third-party cable since it might not work with adb (even though it might seem fine with other communication with your phone). If this is the first time you've done it since installing HTC Sync, you might have to wait while it installs additional drivers.
Step 7
Fire up a command prompt on your computer, e.g. "Run" then "cmd", or pick the "Command prompt" option from the menus, and type in the following (obviously the C:\> bit is your actual PC's prompt, not what you type). To emphasise, you are running this on your PC, not directly from your phone (e.g. terminal emulator) :
Code:
C:\> adb devices
This should display something like the following :
Code:
List of devices attached
XXX12345 device
... where the "XXX12345" bit is actually your phone's serial number. If the list is blank and the phone is plugged in ok, go back to Step 5 and make sure USB Debugging is enabled. If you can see your phone, then you're in business, adb can see your phone and communicate with it, and you're ready to start using adb !
By the way, the first adb command that you type may well also come up with some lines similar to "adb deamon out of date" etc, but don't worry, that's normal, just check the rest of the output.
INSTALLING ADB ON WINDOWS - METHOD B, THE "QUICK" WAY, NO SDK
Thanks to amroush_1800 for the input on this.
Step 1
If you haven't done so already, then download and install HTC Sync from HTC's website.
You'll find it in the Support section, e.g. at http://www.htc.com/uk/supportdownloadlist.aspx?p_id=325&act=sd&cat=all.
This is HTC's software to sync various stuff from your phone to your PC, such as email, bookmarks etc. However, even if you don't need that stuff, HTC Sync has a bunch of USB drivers for your phone, and that's what we *do* need.
Step 2
Download this zip archive and unzip it somewhere memorable on your PC (e.g. into a folder on your desktop) - http://dl-ssl.google.com/android/repository/platform-tools_r04-windows.zip
Step 3
On your phone, go into Menu->Settings->Applications->Development and make sure you have the entry "USB Debugging" ticked. adb will not work without this.
Step 4
Plug your phone into your PC using the original HTC cable. This is important, do not use a third-party cable since it might not work with adb (even though it might seem fine with other communication with your phone). If this is the first time you've done it since installing HTC Sync, you might have to wait while it installs additional drivers.
Step 5
Fire up a command prompt on your computer, e.g. "Run" then "cmd", or pick the "Command prompt" option from the menus.
Use the "cd" command to change to the folder that contains the adb.exe and other files that you unzipped in Step 2.
Then type in the following (obviously the C:\> bit is your actual PC's prompt, not what you type). To emphasise, you are running this on your PC, not directly from your phone (e.g. terminal emulator) :
Code:
C:\> adb devices
This should display something like the following :
Code:
List of devices attached
XXX12345 device
... where the "XXX12345" bit is actually your phone's serial number. If the list is blank and the phone is plugged in ok, go back to Step 3 and make sure USB Debugging is enabled. If you can see your phone, then you're in business, adb can see your phone and communicate with it, and you're ready to start using adb !
By the way, the first adb command that you type may well also come up with some lines similar to "adb deamon out of date" etc, but don't worry, that's normal, just check the rest of the output.
INSTALLING ADB ON MAC
The following excellent guide kindly provided by siedkins, please thank him and not me !
What you will need:
A Mac
USB cable
Android SDK for OSX- http://developer.android.com/sdk/index.html
At the time of writing this the version was "android-sdk_r08-mac_86" so please have a look at the above link and let me know if you can't find that same version.
So download the zip file and I would extract it to a folder where you are happy to keep it such as within your user home folder i.e. Macintosh HD/Users/{Your User Name} and for my mac it is Users/siedkins which is how I have my OSX set up.
Then open then still in Finder, open "android-sdk-mac_86" then "tools".
Now launch Terminal - ⌘ + space then type Terminal or Applications>Utilities>Terminal
Now drag and drop the file called "android" in the "tools" folder into your terminal window and you should see something like:
/Users/siedkins/android-sdk-mac_86/tools/android
Then hit enter - this should load Android SDK
Next go to Available Packages on the left and Android Repository > Android SDK Platform-tools, revision 1 -tick the box and hit "Install Selected"
It should download and install the Platform Tools which includes ADB !!!!
Now quit Android SDK after it has downloaded and go back into Finder. Now you should see a new folder "platform-tools" in the "android-sdk-mac_86" folder. Open that and you can now see a file called adb.
Now .... I am going to show you how to make your life a lot easier in Terminal to run ADB without having to navigate to the folder every time you want to launch it.
Go back to your Terminal window and type (or copy & paste):
Code:
cd ~
The screen should then look like
NAME_OF_YOUR_MACHINE:~ USERNAME$
For me I have:
Mac-Pro:~ siedkins$
Next, type
Code:
touch .bash_profile
to create your new bash / path file
Next, type
Code:
open -e .bash_profile
to open it in TextEdit.
Now into Text Edit please copy:
Code:
export PATH=${PATH}:
Then go into Finder and navigate your your "android-sdk-mac_86" folder. Then click on the "platform-tools" folder and drag and drop this into TextEdit at the end of the code above that you copied. Mine looks like:
export PATH=${PATH}:/Users/siedkins/android-sdk-mac_86/platform-tools/
Yours should look like:
export PATH=${PATH}:insert your path to the "platform-tools" folder in your Android SDK here
All you need is that one line. Then Save and exit TextEdit and then very importantly QUIT TERMINAL.
Now ........ to turn on USB Debugging in your handset Settings > Applications > Development > USB Debugging - ticked and also go to Settings > Connect to PC > Default connection type > Charge Only and also UNTICK "Ask me ..." there also. You can always go back here and change these settings back.
Now plug in your phone to a USB port. I noticed that if I plugged my phone into one of the standard USB ports on the front of my machine I couldn't see the phone further down the line and if I plugged it into a powered USB port on the front (I have an "akasa AK-ICR-08" which has a powered connector behind the 5 USB ports. But you guys will probably be using a MacBook or MacPro and there shouldn't be any issues with the power to your USB ports.
Now to launch ADB - re-open terminal (remember that you had quit it - very important!) then type in:
Code:
adb devices
And you should see:
List of devices attached
HXXXXXXXXXX device
where XXXXXXXX is your unique phone ID.
Now you can run all of your favourite ADB commands straight by typing:
adb shell
etc straight into Terminal. I won't go into that here as there are plenty of guides about what to do with ADB once it's installed!
Now you have ADB setup on your Mac and can run it without the need for installing HTC Sync - un-installing it - loading some modified drivers over the top !!!!
It all just works !!!!!!
INSTALLING ADB ON LINUX
Coming soon ...
USING ADB
There's a comprehensive guide to using adb, including all its commands, at http://developer.android.com/guide/developing/tools/adb.html
Here are a few example commands :
Code:
C:> adb push hello.txt /data/local/tmp
The above copies the file hello.text from the current directory of your PC (i.e. the directory shown in the command prompt) into the /data/local/tmp directory on your phone.
Code:
C:\> adb pull /sdcard/error.log error.log
The above copies the file /sdcard/error.log onto your PC.
Code:
C:\> adb install Superuser.apk
The above installs the app in the Superuser.apk file in the current directory of your PC, onto your phone.
Code:
C:\> adb shell
The above starts a command prompt session on your phone. So when you see the $ prompt, that's your phone and commands you type there will be executed on your phone.
Code:
C:\> adb shell ls
The above runs the command "ls" on your phone and displays the results. So it's a way of issuing one command at a time, without starting your own shell session. You can subsitute other shell commands for the "ls".
Code:
C:\> adb reboot
The above reboots the phone.
Code:
C:\> adb reboot bootloader
The above reboots the phone into the bootloader (hboot).
Code:
C:\> adb reboot recovery
The above reboots the phone into recovery.
USING ADB FOR DIAGNOSTICS (logcat)
Coming soon ...
Thank god! Lol thanks for all your hard work.
Sent from my HTC Vision using XDA App
Get a "how to logcat" section added.
Nice work. Can we elect you to be a mod?
Sent from my HTC Vision using XDA App
ddotpatel said:
Get a "how to logcat" section added.
Click to expand...
Click to collapse
Thanks for the suggestion, will do
Nice dude. Just what I needed
Sent from my HTC Desire using XDA App
+1 mod vote!
Sent from my HTC Vision using XDA App
Nice guide mate. Let me know if you need any more posts or help in any way
steviewevie said:
Using adb
Using adb for logcat
adb logcat
Or
adb lolcat
Click to expand...
Click to collapse
Also update it for Mac / Linux users.
Mainly different adb files (I had adb and fastboot for Win/Mac/Lin uploaded somewhere, if you want?) and they go in /system/bin instead of PATH.
Otherwise, good idea + well done.
DanWilson said:
Also update it for Mac / Linux users.
Mainly different adb files (I had adb and fastboot for Win/Mac/Lin uploaded somewhere, if you want?) and they go in /system/bin instead of PATH.
Otherwise, good idea + well done.
Click to expand...
Click to collapse
Thanks. I need someone to help me come up with the different steps for Mac/Linux users please ? Then I can add those in.
steviewevie said:
Thanks. I need someone to help me come up with the different steps for Mac/Linux users please ? Then I can add those in.
Click to expand...
Click to collapse
I'll do that.
I'll also hunt down my Mediafire adb and fastboot files, because not everyone wants the whole SDK
I don't know if you need any drivers for the phone (like HTC Sync for Windows). Someone else will need to tell you, or you can wait till Christmas.
INSTALLING ADB
Step 0
Drivers perhaps? XD
Step 1
Download these files;
Mac - http://www.mediafire.com/?z8myxs9941kz3gg
Linux - http://www.mediafire.com/?m62rt943mroxm4s
Or you can download and install the Android SDK (Software Development Kit) Starter package from http://developer.android.com/sdk/index.html
You can read all about how to install the SDK at http://developer.android.com/sdk/installing.html . Ignore all the stuff about Eclipse though, you don't need that unless you're going to start writing Android apps.
Now, from version 8 (Android 2.3) of the SDK onwards, adb has been taken out of this starter package. If you downloaded version 7 (Android 2.2), then you've already got adb and you can skip Step 3 and go straight to Step 4 below. Otherwise you need to proceed to Step 3 to add adb to the SDK.
Step 2
Extract the files and rename "adb-linux" ("adb-mac") to "adb" and "fastboot-linux" ("fastboot-mac") to "fastboot"
You could call it anything you like, like "cheese" and "bread", but that makes things difficult.
Step 3
Mac - Copy the files to the folder /bin
You will need to unhide the folder. Google it.
Linux - Copy the files to /system/bin *OR* /bin
I have not used Linux for ages so my folders are rotting away. I believe you will need root access to do this, I used Kongregate (I think) as an app to control my root copying needs.
Step 4
On your phone, go into Menu->Settings->Applications->Development and make sure you have the entry "USB Debugging" ticked. adb will not work without this.
Step 5
Plug your phone into your PC using the original HTC cable. This is important, do not use a third-party cable since it might not work with adb (even though it might seem fine with other communication with your phone). Or whatever.
Step 6
Open a Terminal window. On your PC/Mac. To emphasise, you are running this on your PC, not directly from your phone (e.g. terminal emulator) :
The part were it says "Dan-Wilsons-MacBook:~ danwilson$" will probably not be on your PC/Mac, unless you are called Dan Wilson, and have a MacBook.
Code:
Dan-Wilsons-MacBook:~ danwilson$ adb devices
This should display something like the following :
Code:
List of devices attached
XXX12345 device
... where the "XXX12345" bit is actually your phone's serial number. If the list is blank and the phone is plugged in ok, go back to Step 6 and make sure USB Debugging is enabled. If you can see your phone, YOU WIN A CHEESECAKE!
If you decided to be awkward and call "adb-linux" ("adb-mac") "cheese", replace the word "adb" in command lists (like the above) to "cheese". It looks cool but complicates things.
Example;
Code:
Dan-Wilsons-MacBook:~ danwilson$ cheese devices
-------------
I think this looks OK. Some bits are weird and I don't know about drivers, but still, better than nothing. It is rough, but I've not done it in ages. Sorry bout that.
Here is the adb and fastboot files for Windows. Check they work with the Z before throwing them in the first post. If you do.
http://www.mediafire.com/?zlbyfbaaf5lrj8i
I've updated this guide to flesh it out a bit more (still more to be done though).
Significantly, please note that in the latest version of the SDK (i.e the one for Android 2.3), they have taken adb *out* of the Starter version of the SDK. So now there's an additional step, which is downloading the "Platform Tools" component of the SDK. It's all in the guide though.
nice, this needs to be "stickied"..
steviewevie...
whatever you are on.. can i haz some?
you are poster of the year! wow, such effort.
this beeyotch must be stickied all over the world.
EDIT -- i dont see "adb pull /" so as to dump all your files from system data etc into your sdk folder. if i missed that nevermind!
@steviewevie:
My 2 cents for your great work:
I have tested and uploaded a Mini ADB package and the ADB USB drivers for Windows Vista / Windows 7, to the Resources Centre, easy tutorial + FAQs thread here:
http://forum.xda-developers.com/showthread.php?t=835777
I thought this would make things easier for newbies or people who don't want to download the whole SDK / Sync software
Also, setting the path is not required, since the "Runme" file is located inside the same folder within the ADB files
This could save some steps for newbies
If you find it helpful, feel free to link from your guide
Thanks for the input guys, I have some updating to do !
steviewevie said:
INSTALLING ADB - METHOD B, THE "QUICK" WAY, NO SDK
Step 2
Download the adb binary from ? * to be completed *
Click to expand...
Click to collapse
Direct Download Links for Android SDK Platform-tools, revision 1
ht*p://dl-ssl.google.com/android/repository/platform-tools_r01-windows.zip
ht*p://dl.google.com/android/repository/platform-tools_r01-windows.zip
It contains ADB.exe and needed dlls
size 3.06 MB
Also i recommend ADBMagic from Chainfire if you got tired of using ADB commands by hand for a lot of operations
ht*p://forum.xda-developers.com/showthread.php?t=746313
Have fun
if you add adb.exe to system32 folder is windows u can adb from anywhere in command prompt.. just in case adding the variables dont work
Hi,
I thought I'd add this here because I've recently starting using OSX after building my own hackintosh out of PC parts. I got very fed up with Windows and the need for drivers all over the shop so I'm moved over now.
I've also just got into flashing my HTC Desire and it was made very easy by lots of the guys here. One thing that will always be useful when rooting and flashing your phone is ADB. There are lots of guides out there for ADB on Windows but I wanted to run in natively in OSX.
After a lot of research and a few failed attempts .... I've now worked out how to run ADB in OSX.
What you will need:
A Mac
USB cable
Android SDK for OSX- http://developer.android.com/sdk/index.html
At the time of writing this the version was "android-sdk_r08-mac_86" so please have a look at the above link and let me know if you can't find that same version.
So download the zip file and I would extract it to a folder where you are happy to keep it such as within your user home folder i.e. Macintosh HD/Users/{Your User Name} and for my mac it is Users/siedkins which is how I have my OSX set up.
Then open then still in Finder, open "android-sdk-mac_86" then "tools".
Now launch Terminal - ⌘ + space then type Terminal or Applications>Utilities>Terminal
Now drag and drop the file called "android" in the "tools" folder into your terminal window and you should see something like:
/Users/siedkins/android-sdk-mac_86/tools/android
Then hit enter - this should load Android SDK
Next go to Available Packages on the left and Android Repository > Android SDK Platform-tools, revision 1 -tick the box and hit "Install Selected"
It should download and install the Platform Tools which includes ADB !!!!
Now quit Android SDK after it has downloaded and go back into Finder. Now you should see a new folder "platform-tools" in the "android-sdk-mac_86" folder. Open that and you can now see a file called adb.
Now .... I am going to show you how to make your life a lot easier in Terminal to run ADB without having to navigate to the folder every time you want to launch it.
Go back to your Terminal window and type (or copy & paste):
Code:
cd ~
The screen should then look like
NAME_OF_YOUR_MACHINE:~ USERNAME$
For me I have:
Mac-Pro:~ siedkins$
Next, type
Code:
touch .bash_profile
to create your new bash / path file
Next, type
Code:
open -e .bash_profile
to open it in TextEdit.
Now into Text Edit please copy:
Code:
export PATH=${PATH}:
Then go into Finder and navigate your your "android-sdk-mac_86" folder. Then click on the "platform-tools" folder and drag and drop this into TextEdit at the end of the code above that you copied. Mine looks like:
export PATH=${PATH}:/Users/siedkins/android-sdk-mac_86/platform-tools/
Yours should look like:
export PATH=${PATH}:insert your path to the "platform-tools" folder in your Android SDK here
All you need is that one line. Then Save and exit TextEdit and then very importantly QUIT TERMINAL.
***** If you have issues being able to save the file at all then please jump to the bottom of the post*****
Now ........ to turn on USB Debugging in your handset Settings > Applications > Development > USB Debugging - ticked and also go to Settings > Connect to PC > Default connection type > Charge Only and also UNTICK "Ask me ..." there also. You can always go back here and change these settings back.
Now plug in your phone to a USB port. I noticed that if I plugged my phone into one of the standard USB ports on the front of my machine I couldn't see the phone further down the line and if I plugged it into a powered USB port on the front (I have an "akasa AK-ICR-08" which has a powered connector behind the 5 USB ports. But you guys will probably be using a MacBook or MacPro and there shouldn't be any issues with the power to your USB ports.
Now to launch ADB - re-open terminal (remember that you had quit it - very important!) then type in:
Code:
adb devices
And you should see:
List of devices attached
HXXXXXXXXXX device
where XXXXXXXX is your unique phone ID.
Now you can run all of your favourite ADB commands straight by typing:
adb shell
etc straight into Terminal. I won't go into that here as there are plenty of guides about what to do with ADB once it's installed!
Now you have ADB setup on your Mac and can run it without the need for installing HTC Sync - un-installing it - loading some modified drivers over the top !!!!
It all just works !!!!!!
Please drop me a line if you have any queries about this !
******************
If you are have user account issues such as Terminal or TextEdit says that you can't do anything then try adding "sudo" to the front of your terminal command as this will allow you to execute the account as a superuser or root user for OSX! ROOT!!! Note that you will have to enter your password to enable the superuser access rights and you won't see anything as you type in your password.
i.e. try:
Code:
sudo touch .bash_profile
then
Code:
sudo /Applications/TextEdit.app/Contents/MacOS/TextEdit .bash_profile
(slight change in the coding here to ensure that TextEdit opens
Or you could do:
Code:
sudo pico .bash_profile
This will open up the Pico text editor instead of TextEdit. Here you will have to type out all of the text then you press "ctrl+x" to exit and then you can save on the next screen. To check that has worked you can then open the file in terminal again and check it with the normal command:
Code:
open -e .bash_profile
******************
Please see post #37 for How To Use ADB Over WIRELESS !!!!
************************************************************************
EDIT - 27th JAN 2010
FastBoot
I've now found you all a precompiled version of Fast Boot:
http://developer.htc.com/adp.html
Please download and unzip the precompiled version for OSX to your "SDK/platform-tools" folder.
Rename the unzipped file from "fastboot-mac" just to "fastboot". You need to fix the permissions of the fastboot file using CHMOD in Terminal.
In Terminal navigate to your "SDK/platform-tools" folder and then type:
Code:
ls
You should see all of the files in your "platform-tools" folder such as adb, aapt, fastboot, etc.
Then type:
Code:
chmod 777 fastboot
PLEASE NOTE THAT I AM ASSUMING THAT YOU HAVE CHANGED THE FILE NAME ABOVE !
Now with the permissions fixed you should be able to run fastboot.
Connect your phone via USB and set to "charging only". Then turn off your phone and leave the USB in. Then hold the back key and then turn your phone on again. You will have a white screen with 3 skateboarding androids on.
Now in Terminal type:
Code:
fastboot devices
And you should see your unqiue phone ID! (Note that you have to be at that white screen with the skateboarders for the "fastboot devices" code to run!
Now you have a fully working fastboot !!!
Sorry this explanation is a bit short - I did write out a longer one but my browser crashed and I lost it all. However if you cannot follow the above then I think it's maybe best that you don't use fastboot as you could seriously brick your phone.
NOTE - I HAVE NEVER USED FASTBOOT TO FLASH A RADIO OR PHONE SO I PROBABLY WON'T BE ABLE TO HELP IF YOU GET ERRORS IN USING FASTBOOT OR FLASHING YOUR DEVICE ! The above information is how to shortcut the navigation to the folder. Please don't blame me if you break the recovery image of your phone!
Thanks for such a thorough step by step guide. But Im having a problem I followed the directions and at the last step I get "permission denied". Any tips for me would be truly appreciated. Thanks
dhoshman said:
Thanks for such a thorough step by step guide. But Im having a problem I followed the directions and at the last step I get "permission denied". Any tips for me would be truly appreciated. Thanks
Click to expand...
Click to collapse
which last step ?
dhoshman said:
Thanks for such a thorough step by step guide. But Im having a problem I followed the directions and at the last step I get "permission denied". Any tips for me would be truly appreciated. Thanks
Click to expand...
Click to collapse
What version of MacOS? Also are you sure your device is properly rooted? I'm assuming you are getting the error when typing "adb devices"?
EDIT: That's what I get for being distracted while typing this.. ;-)
The easiest way to get the sdk is by using homebrew, which is an amazingly useful tool. https://github.com/mxcl/homebrew
Code:
brew install android-sdk
It doesn't add adb to your path however, you have to do that manually by adding /usr/local/Cellar/android-sdk/r8/platform-tools to your path.
Hope that makes it a little bit easier.
I found that on my mac using terminal I have to always start the adb commands with a ./ otherwise it wouldn't work right. This might be common knowledge for some, but I'm a terminal newbie
So, for example:
./adb devices
Thanks for the walk through
This work great. I put the the SDK folder on the root of Macintosh HD and renamed it to AndroidSDK. Then in the .bash_profile my path was /AndroidSDK/platform-tools/ . I then made a backup of my SD card with adb pull from /mnt/sdcard to my local machine.
mun-key said:
I found that on my mac using terminal I have to always start the adb commands with a ./ otherwise it wouldn't work right. This might be common knowledge for some, but I'm a terminal newbie
So, for example:
./adb devices
Click to expand...
Click to collapse
Kind of weird. To me that would mean that you're path variable isn't setup correctly. Usually the ./ before a command means to run the command from the current directory and ignore the path variable.
It doesn't even have to be this complicated. Download the sdk, whatever files you want to push to your phone put it in the same folder. Then do the commands (./adb push). Simple.
Great and easy tutorial! Got it working in 5min ^_^
madj42 said:
Kind of weird. To me that would mean that you're path variable isn't setup correctly. Usually the ./ before a command means to run the command from the current directory and ignore the path variable.
Click to expand...
Click to collapse
Ok - that makes sense now. And reading Krisrk's reply, that's exactly how I did it.
On my device I only needed to push a single file. Don't really need adb anymore. Your post was like 12-hours too late for me though. I spent 3 hours trying to figure out why it wouldn't work, then saw the ./ in a youtube video. After that I was rooted with a new rom in minutes
thanks for all the great info guys
Just wanted to thank you! I already had ADB working on my Mac OSX but didn't have the "environment variables" in the .bash_profile. So now I can just use adb commands directly without going into the finder and find the adb!
Also, kudos for the very detailed guide with your own examples, that reads very well!
Thanks for the comments guys.
I know that you can navigate to the SDK folder and just run it from there but I thought that people might like the above guide to do the shortcut once and then never have to jump around folders again in terminal which is a bit of a pain. Plus my method removes the need for the "./" prefix.
anyways I'm easy I'm sure that everyone will have their own preferred method if you already use adb on OSX
i cannot get beyond the command:
touch .bash_profile
the terminal returns permission denied. what do i need to add or what am i doing wrong?
What type of user account do you have set up in OSX?
System Prefs > Accounts
Also what about trying the following in Terminal
Code:
sudo touch .bash_profile
And then enter the password for your user profile?
Any better?
Thanks for this!!!!!
Nobody ever shows macs love.
Sent From My HTC Evo 4G Using Tapa Talk Pro!
siedkins said:
What type of user account do you have set up in OSX?
System Prefs > Accounts
Also what about trying the following in Terminal
Code:
sudo touch .bash_profile
And then enter the password for your user profile?
Any better?
Click to expand...
Click to collapse
it popped up and asked my password, then it said i entered the wrong one and i never was asked this again. this is incredibly frustrating as i cannot even get it to work in windows
edit: ok got to the part where i bring up text edit, but it will not let me save. states i do not have permission to save. is there a way i can turn off this password crap for the time being? all i want to do is push files to my phone, i can't even get this far
Ok...
I'm trying not to look stupid, but for gods sake, im stuck at the first command. I copy paste cd~ and nothing happens. press enter nothing. I've been reading up on terminal and i still feel quite stupid considering how im stuck on step one
edit: got it! I got lost going back into the same terminal and not closing the android sdk window. there fore I was still in the sdk and not telling the computer anything. a dur. Opening a new terminal and doing all of the steps did the trick. Thanks for this btw!
thanks for the detailed guide. i've been looking all over the web for a guide to setup adb for MAC. followed the steps here and now, i'm able to use ADB on my macbook. YAY!!
monstereo said:
thanks for the detailed guide. i've been looking all over the web for a guide to setup adb for MAC. followed the steps here and now, i'm able to use ADB on my macbook. YAY!!
Click to expand...
Click to collapse
Hey just a random note, nice prof pic stig ftw
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
So I have no idea why my G2 isn't being found with the htc sync but its not. I followed this thread here (http://forum.xda-developers.com/showthread.php?t=865685) I made sure i had the platform-tools installed before changing the path. I think this is the problem I am having. There are 2 paths that appear; One in user variables and then one in system variables. I have tried altering both but I am having no luck. Does anyone have any clue to what is going on?
HTC Sync will install the correct USB drivers for your G2. Although you cannot actually *run* HTC Sync with your G2 unless it is running a Sense (Desire Z) ROM. So just install it but don't try to actually run it or sync with it.
It's the System Variables path that you want to change, to add the appropriate directories. This just lets you run adb from any directory on your PC. Even if you haven't got it added, it should still work if you "cd" to the directory where adb resides (in which case you will need to put any files into there that you wish to "push" to your phone).
What is the problem you're having, is it saying "no internal command" or similar ?
DressedUpPanda said:
So I have no idea why my G2 isn't being found with the htc sync but its not. I followed this thread here (http://forum.xda-developers.com/showthread.php?t=865685) I made sure i had the platform-tools installed before changing the path. I think this is the problem I am having. There are 2 paths that appear; One in user variables and then one in system variables. I have tried altering both but I am having no luck. Does anyone have any clue to what is going on?
Click to expand...
Click to collapse
The PATH issue, relates to ADB, if you are running into errors like:
'adb' is not recognized as an internal or external command
Click to expand...
Click to collapse
When executing ADB commands that is your issue, it can be resolved by adding the path where ADB lives to either your user or system PATH in Windows. The PATH is irrelevant if you are running ADB from the folder where the ADB files live.
The other (common) issue is drivers, where ADB is working but won't see your device. Do you see an "ADB Device" or similar with a yellow icon in your device manager when your phone is connected to your PC? If so you don't have the correct driver loaded. The only reason you install HTC Sync is to load this driver but the driver can also be loaded separately.
Sorry to hi-jack this thread, and since I'm new to adb I might as well use this.
I have adb running, did the file paths and everything. I'm just trying to test it out, since I'm already rooted using visionaryr13 as well as s-off. Went back and gfree over that, and I've also verified through terminal emulator on my phone, but I'm just testing my skills with adb and failing miserably. I Have d/l the verify file, and unzipped in a folder inside my downloads folder I might add.
When it says:
"
VERIFY (using "gfree_verify")
Now you can try using a new SIM card to verify that it worked.
In addition you can use gfree_verify to verify the state of your locks.
Download gfree_verify.zip from gfree_verify_v01.zip
ON YOUR PC:
Unzip gfree_verify_v01.zip to a place on your computer. Navigate to where the file is on your computer, and type:
$ adb push gfree_verify /data/local
"
I'm having a problem with the navigate to where the file is on your computer and type. I have cmd open, and have tried everyway but the right way to push this through. This is the error I'm getting.
cannont stat 'gfree_verify': no file or directory
EDIT: I got it and I'm sure everyone is laughing at this idiot. So in the cmd prompt you have to navigate to where you put the folder, then push the file to your phone, DUH!
OK, stupid question number two, since I answered number 1.
When you are in a adb shell in your cmd, how do you get out of it besides exiting cmd?
mrbmg said:
When you are in a adb shell in your cmd, how do you get out of it besides exiting cmd?
Click to expand...
Click to collapse
Type "exit".
ty ty.
Ok so I updated something in adb and it's not working. LOL, well restarted, and now the sdk manager is updating some more stuff so hopefully that is the reason I was not getting in.
EDIT: everything is working now.
Ty stevie, really appreciate all your hard work helping us noobies man!
steviewevie said:
HTC Sync will install the correct USB drivers for your G2. Although you cannot actually *run* HTC Sync with your G2 unless it is running a Sense (Desire Z) ROM. So just install it but don't try to actually run it or sync with it.
It's the System Variables path that you want to change, to add the appropriate directories. This just lets you run adb from any directory on your PC. Even if you haven't got it added, it should still work if you "cd" to the directory where adb resides (in which case you will need to put any files into there that you wish to "push" to your phone).
What is the problem you're having, is it saying "no internal command" or similar ?
Click to expand...
Click to collapse
Ya my problem is that when I finally get to do the commands it tells me that "adb is not recognized as an internal or external command.
@raitchison- I checked my device manager and it says that i have the most current driver for the phone. Unfortunately it doesn't say anything about 'adb' it shows my 'portable devices' then into my 'E:/' drive and in the details there it stats 'Android phone'
DressedUpPanda said:
Ya my problem is that when I finally get to do the commands it tells me that "adb is not recognized as an internal or external command.
@raitchison- I checked my device manager and it says that i have the most current driver for the phone. Unfortunately it doesn't say anything about 'adb' it shows my 'portable devices' then into my 'E:/' drive and in the details there it stats 'Android phone'
Click to expand...
Click to collapse
You just need to add the correct directories onto the end of the path in System Variables. Go right to the end of the path, and then separated by semi-colons (do not put spaces in) add the two pathnames of the tools and platform-tools folder of the Android SDK. If you have done that and it is still not working, copy and paste the path variable up here and we can try checking it.
As I said, you could "cd" to the folder with adb in it, and then run "adb devices" from there, and it should work. But setting up the path will make it more convenient.
steviewevie said:
You just need to add the correct directories onto the end of the path in System Variables. Go right to the end of the path, and then separated by semi-colons (do not put spaces in) add the two pathnames of the tools and platform-tools folder of the Android SDK. If you have done that and it is still not working, copy and paste the path variable up here and we can try checking it.
As I said, you could "cd" to the folder with adb in it, and then run "adb devices" from there, and it should work. But setting up the path will make it more convenient.
Click to expand...
Click to collapse
Ok well here is the path that i have set up.
- C:\AndroidSDK\tools;C:\AndroidSDK\platform-tools
I saved the file right to my "C" drive so thats why i didn't go to the program files. I also changed the name of the folder so it was easier to type.
Edit: I got it to finally recognize my device. I went back to my path and found that i had spaced in between my ';' and 'C:/' so thank you very much Stevie on making me double check it!!!
What do you guys use to access the system folder on your PC?
Basically, I want to have a play with a few of the files etc, but how do I get them (eg. Rosie.apk) onto the PC?
Is there software to do this, or do I have to use command line?
Many Thanks
You can pull the files from the phone by using the "adb pull [FILE]" command from the command line.
You'll have to have HTC Sync drivers and ADB on your system before that.
Is this the only way/easiest way? I'm asumming to send back I would use "adb push"?
Ease is a relative term so I cant judge on that basis.. Personally I find using the command line rather easy and fun.
Another possible way would be to use an app like Root Explorer on the phone to copy the system files on to the sdcard and then access the card via PC. (More cumbersome I think)
And you're right.. "adb push [FILE] [PATH]" is the command to send the file back to the phone. Try typing just "adb" and hit enter to see a list of commands and their usages.
Stuck at the first hurdle....
I've got the ADB on C:\ root
I open command prompt, type cd c:\adb
This puts me into the abd directory OK.
I type adb, and it adb is not a recognised command???
You sure you've got adb.exe and the dlls in that same directory?
I've attached a zip for you. Extract it and double-click on StartHere.bat, you'll get a command window and you can start using adb right away.
Cheers, I must have had a missing .dll
download Samba app: http://forum.xda-developers.com/showpost.php?p=8239139&postcount=128
this gives you access to the sdcard only, so to get access to system follow the instructions in this thread: http://forum.xda-developers.com/showthread.php?p=18722729#post18722729
it works a treat! and is very easy! just be careful what you play with, using adb pull and push is safer
I agree that command line is the best way, but if you really want a GUI, then QtADB is pretty good:
http://qtadb.wordpress.com/
http://forum.xda-developers.com/showthread.php?t=683223
It's really just a graphical front end to adb.exe, but makes it easy to push or pull files to or from the phone. The only thing I haven't spotted is how to adjust permissions on files on the phone.
preacher65 said:
I agree that command line is the best way, but if you really want a GUI, then QtADB is pretty good:
http://qtadb.wordpress.com/
http://forum.xda-developers.com/showthread.php?t=683223
It's really just a graphical front end to adb.exe, but makes it easy to push or pull files to or from the phone. The only thing I haven't spotted is how to adjust permissions on files on the phone.
Click to expand...
Click to collapse
I didn't know about that.. I'll try that too. (Although I still think I'll end up to command line usage again)
Btw, APK Manager is quite useful if you're planning to mod some apk files like framework-res etc.. I use to make minor image changes to my ROMs..
if4ct0r said:
I didn't know about that.. I'll try that too. (Although I still think I'll end up to command line usage again)
Btw, APK Manager is quite useful if you're planning to mod some apk files like framework-res etc.. I use to make minor image changes to my ROMs..
Click to expand...
Click to collapse
Yep, I use the command line for 95% of stuff too - but then I'm old school and like the level of control command line gives.
But QtADB is useful if you want to move lots of files about, and as a bonus it has good logcat functions. Plus the support in the thread is pretty good as well. The guy really cares about his app, so I like to let people know about it.
APK Manager is awesome as well, though lately I've been going hardcore and doing everything apktool related from the command line as well!
I need some help accesing the system folder
Hey guys I am pretty new to android, I had been dealing with WebOS devices, I recently gotten a irulu a20 (all winner device) android 4.2.2 and wanted to improve the gaming performance and followed this instructions http://forum.xda-developers.com/showthread.php?t=2329080 and now my tablet does not stop popping a message saying "unfortunately System UI has stopped" and does not let me do anything or select anything. One of my friends did a wipe data/hard reset on it and still giving me the same issue with the same message, and what is worst I don't see the root browser icon (I guess due to the hard reset) so I don't know if my tablet still rooted or it is bricked. Please help and thank you to those who reply