How to set up ADB (Android Debug Bridge) in Mac OSX

I have seen many questions regarding the set up of ADB under Mac OSX, and when I got myself a MBP I had the same question. After some research, I was able to find that is not as complicated as I thought it would be; it’s actually less of a hassle than setting it up under Windows or Linux. In OSX, ADB just works, as simple as that.

What is ADB?
ADB (Android Debug Bridge) is a handy tool that comes with Android SDK that allows you to control and interface with your Android device.

Update: 06/23/17 – Updated steps in How To

Update: 08/06/13 – In step 5.2, Android 4.2.x and up has Developer Options hidden. Added steps to make it visible
Update: 5/21/13 – Updated platform-tools (ADB) to latest version (Revision 14)
Update: 12/11/10 – There has been a change to the new Android SDK. ADB Tool has been moved to /android-sdk-mac_86/plataform-tools, so if you have the old SDK, please download the new one and update your path (Step 4.5 of this tutorial). If this is your first time doing this, then disregard the update and continue with the tutorial.
Update: 10/22/10 – Found solution for Galaxy S phones with newer Macs.
Update: 10/14/10 – There are issues connecting Galaxy S phones with newer Macs. Go to the end of the tutorial to see possible solutions.

The How To

  1. Download the latest Android SDK from Google: Android SDK
  2. Extract the ZIP file to your desired location
  3. To get ADB, you need to install the SDK: Installing the SDK
    • If you are not a developer and not planning to develop, then just download the following zip file containing only the ADB tool and proceed with the tutorial: ADB
  4. Download the SDK Platform Tools for Mac and extract the zip file.
  5. Create an environment variable (Optional)
    • Open Terminal
    • Type cd ~ this will take you to your home directory
    • Type touch .profile this will create a hidden file named profile
    • Type open -e .profile this will open the file you just created in TextEdit
    • In the file, type export PATH=${PATH}:/pathToTheAndroidSdkFolder/android-sdk-mac_86/platform-tools
    • Save file, close TextEdit, Quit Terminal, and Relaunch Terminal
    • NOTE: By creating an environment variable you won’t need to cd to the Android/tools folder every time you want to run ADB
  6. You are good to go, type in terminal adb devices, this should give you a serial number, which corresponds to your phone. Looks something like this:
    List of devices attached
    HT99PHF02521 device

    • NOTE: If you did not create an environment variable, then cd to the platform-tools folder, then type ./adb devices
    • Also make sure you have your phone plugged in and have Android Debugging turned on (Settings > Developer Options > Android Debugging)
      • In Android 4.2.x and up Developer Options is hidden, to make it visible, do the following
      • Tap seven times in Build Number: Settings > About Phone > Build Number
      • You will get a message saying you have enabled Developer Options or something like that, go back to Settings and you will see Developer Options in there.

Connecting Galaxy S phones

A couple of days back I got a Galaxy S phone (Epic 4G) and was excited about the phone until I tried to connect it to my Mac, to my surprise, the phone wouldn’t connect, nor Mounting the phone as USB Mass Storage, nor thru ADB; I was disappointed. I rushed to Google trying to find an answer and to my surprise, I wasn’t the only one having the same problem, some people only connected for a couple of seconds then OSX would kick them out, some others wouldn’t connect al all, and some other ones connected just fine. Digging deeper I found several solutions:

  • Make sure you have USB Debugging turned on in your phone (/Settings/Applications/Development/USB Debugging)
  • Try restarting the phone and changing USB ports
  • Try a different USB cable, the one out of the box is not so good
  • Try connecting the phone thru a powered USB Hub

Personally, I have tried them all, with the exception of the powered USB Hub, and none of them have worked. I bought two USB cables, one from RadioShack and the other one from Sprint Store, neither worked, the only one that has worked is the one provided, but just for a couple of seconds, then it kicks me out. 🙁

It seems that either the Mac of the phone requires more power, so the last option (powered USB hub) seems the best one, I’ll be buying one soon and report back to you guys with the results.

One last note, I connected my phone to a previous generation Mac and it worked like a charm, so I guess the problem is only with newer Macs. What a bummer!!!

Update: So I bought a cheap $10 bucks powered USB Hub from eBay, plugged my phone thru it and worked at first try, amazing!! If you have a 5th gen Mac and a Galaxy S Phone, then the solution to connect your device is thru a powered USB Hub. Happy Modding 🙂

Note: This ONLY happens to Galaxy S phones, every other device should connect just fine.

Common ADB Commands

– Lists which devices are currently attached to your computer

adb devices

– Drops you into a basic linux command shell on your phone with no parameters, or lets you run commands directly

adb shell

– Lets you install an Android application on your phone

adb install

– Remounts your system in write mode – this lets you alter system files on your phone using ADB

adb remount

– Rets you upload files to your phones filesystem

adb push

– Lets you download files off your phones filesystem

adb pull

– Starts dumping debugging information from your handset to the console – useful for debugging your apps

adb logcat

If you liked this tutorial, please retweet and/or share 🙂


Esau Silva
Software Engineer at Region One ESC
Full Stack Software Engineer working with Microsoft technologies, ReactJS is awesome and avid Brazilian Jiu-Jitsu practitioner
If you enjoyed this post, please consider leaving a comment or subscribing to the RSS feed.