307

I need to run an adb forward command before I could use the ezkeyboard application which allows user to type on the phone using browser.

When I run adb forward tcp:8080 tcp:8080 command I get the adb command not found error message.

I can run android command from terminal. Why adb is not working?

2

30 Answers 30

422

In my case with Android Studio 1.1.0 path was this

/Users/<username>/Library/Android/sdk/platform-tools

Add the following to ~/.bash_profile

export PATH=~/Library/Android/sdk/tools:$PATH
export PATH=~/Library/Android/sdk/platform-tools:$PATH

Then run

$ source ~/.bash_profile

to load a profile in a current terminal session, or just reopen a terminal

If you are using more modern Z Shell instead of Bash, put it in ~/.zprofile instead.

6
  • 46
    I also need to run source ~/.bash_profile to make it work
    – Linh
    Commented Dec 4, 2018 at 6:20
  • 1
    @Gowtham Sooryaraj those paths are where the tools are located. Adding them to the PATH variable of your env allows you to access the tools (adb here) whithout the need to give the full path of its location (~/Library/Android/sdk/platform-tools/adb). When you type adb in your terminal, its seeks a similar tool in all the paths of the env PATH variable. I hope it helps :)
    – n3wbie
    Commented Jan 10, 2020 at 16:27
  • 1
    I have to run source ~/.bash_profile all the time, what does it do? Commented Sep 15, 2020 at 22:21
  • 3
    @TylerPfaff it reloads your shell profile. Closing your terminal and reopening it has the same effect. Commented Oct 27, 2020 at 21:51
  • On Debian, using Arctic Fox, its: ~/Android/Sdk/platform-tools/adb <remaining-command-parts> to run an adb command with out it added to path (that's its latest location). So you'll want to export PATH=~/Android/Sdk/platform-tools:$PATH. Definitely run a source ~/.bash_profile or source ~/.bashrc, depending on where you put it, if you don't want to restart your terminal.
    – Rik
    Commented Nov 27, 2021 at 18:55
227

Is adb installed? To check, run the following command in Terminal:

~/Library/Android/sdk/platform-tools/adb

If that prints output, skip these following install steps and go straight to the final Terminal command I list:

  1. Launch Android Studio
  2. Launch SDK Manager via Tools -> Android -> SDK Manager
  3. Check Android SDK Platform-Tools

Run the following command on your Mac and restart your Terminal session:

echo export "PATH=~/Library/Android/sdk/platform-tools:$PATH" >> ~/.bash_profile

Note: If you've switched to zsh, the above command should use .zshenv rather than .bash_profile

1
  • 6
    Thank you very much! For zsh your answer with .zshenv worked for me while other answer suggesting .zshrc didn't. Commented Jun 17, 2020 at 5:58
132

Make sure adb is in your user's $PATH variable.

or

You can try to locate it with whereis and run it with ./adb

5
  • 4
    ./adb would only work if the current directory (which is what . is shorthand for) is the location of the adb program. Otherwise it would be /some/path/found/by/wheris/adb Commented Apr 24, 2012 at 18:19
  • Yes I know :-) that's what I meant with finding it and running it from there
    – kevoroid
    Commented Apr 24, 2012 at 18:45
  • export to $Path in your ~/bashrc
    – Aadishri
    Commented Oct 23, 2013 at 7:40
  • 20
    could try ~/Library/Android/sdk/platform-tools/adb Commented Apr 5, 2018 at 2:29
  • 4
    could try ~/Android/Sdk/platform-tools/adb (in Ubuntu 20.04)
    – kca
    Commented Dec 16, 2020 at 14:58
91

I am using Mac 10.11.1 and using android studio 1.5, I have my adb "/Users/user-name/Library/Android/sdk/platform-tools"

Now edit you bash_profile

emacs ~/.bash_profile

Add this line to your bash_profile, and replace the user-name with your username

export PATH="$PATH:/Users/user-name/Library/Android/sdk/platform-tools"

save and close. Run this command to reload your bash_profile

source ~/.bash_profile
1
  • 1
    Every time I open new terminal it still shows "adb not found". I have to "source" it again before I can use it. Is there any permenant solution?
    – Farid
    Commented Sep 14, 2023 at 12:40
75

This is the easiest way and will provide automatic updates.

  1. install homebrew

     /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
    
  2. Install adb

     brew install --cask android-platform-tools
    
  3. Start using adb

     adb devices
    
3
  • 11
    brew install --cask android-platform-tools in 2021 Commented Apr 14, 2021 at 7:50
  • does this set the path as well? Commented Feb 25, 2022 at 15:30
  • 2
    This works in 2023 😎 UPVOTE for best/easiest answer! And yes, it automatically sets the path.
    – Zernach
    Commented Feb 13, 2023 at 14:21
69

From the file android-sdks/tools/adb_has_moved.txt:

The adb tool has moved to platform-tools/

If you don't see this directory in your SDK, launch the SDK and AVD Manager (execute the android tool) and install "Android SDK Platform-tools"

Please also update your PATH environment variable to include the platform-tools/ directory, so you can execute adb from any location.

so on UNIX do something like:

export PATH=$PATH:~/android-sdks/platform-tools

1
  • Selected answer should be edited/completed with this, because adb moved for a long time and the adb_has_moved.txt is not there anymore
    – Serty Oan
    Commented Feb 2, 2015 at 20:13
31

This solution is for Mac:

Considering you have already downloaded SDK platform tools & trying to set adb path:

If you want to check the SDK is available or not, just check it by following this path:
User > Library (Hidden folder) > Android > sdk > platform-tools > adb

SDK PATH IMAGE

To set the PATH for the adb command on a macOS system, firstly need to edit your shell configuration file. The default shell on macOS is Bash or Zash.
If you're using Bash, so you will need to edit the ~/.bash_profile file otherwise edit ~/.zprofile in your home directory.

Here's how to do it:

By Terminal:

  1. Open a terminal window and enter the following command:
nano ~/.bash_profile

or

nano ~/.zprofile

This will open the ~/.bash_profile or ~/.zprofile file in the Nano text editor.

  1. Add the following line to the file:
export PATH=~/Library/Android/sdk/tools:$PATH
export PATH=~/Library/Android/sdk/platform-tools:$PATH

Press Ctrl+X to exit the Nano editor, then press Y to save the changes and Enter to confirm the filename.

  1. Run the following command to reload your shell configuration:
source ~/.bash_profile

or

source ~/.zprofile

After you have set the PATH for adb, you should be able to run the adb command from any terminal window.


By Manual:

  1. Go to the Home directory & tap command + shift + . (on Mac system/laptop)
    View IMAGE
  2. Search file ~/.bash_profile or ~/.zprofile & open it.
    View IMAGE
  3. Add required path & save it.
    View IMAGE
export PATH=~/Library/Android/sdk/tools:$PATH
export PATH=~/Library/Android/sdk/platform-tools:$PATH
  1. Run the following command to reload your shell configuration:
source ~/.bash_profile

or

source ~/.zprofile

After you have set the PATH for adb, you should be able to run the adb command from any terminal window.

2
  • After complete this process, Just run command in the terminal: adb version Commented Dec 28, 2022 at 8:40
  • Restart the machine, if above things are not working. Commented Feb 9 at 10:41
26

Type the below command in terminal:

nano .bash_profile

And add the following lines (replace USERNAME with your own user name).

export ANDROID_HOME=/Users/USERNAME/Library/Android/sdk 
export PATH=${PATH}:${ANDROID_HOME}/tools 
export PATH=${PATH}:${ANDROID_HOME}/platform-tools

Close the text editor, and then enter the command below:

source .bash_profile

1
  • The last command is what allowed me to run adb from anywhere in the console. That final tweak was missing in other answers Commented Nov 10, 2021 at 10:43
22

If you don't want to edit PATH variable, go to the platform-tools directory where the SDK is installed, and the command is there.

You can use it like this:

  1. Go to the directory where you placed the SDK:

    cd /Users/mansour/Library/Developer/Android/sdk/platform-tools

  2. Type the adb command with ./ to use it from the current directory.

    ./adb tcpip 5555

    ./adb devices

    ./adb connect 192.168.XXX.XXX

14

For mac users with zshrc file (who don't have bash profile).

  1. Go to your user folder and tap cmd + fn + shift + "." (on Mac laptop keyboard !)

  2. Hidden files are visible, open .zhrc file with a Text Editor

  3. Paste this line, don't forget to change the username between braces :

export PATH="$PATH:/Users/{username}/Library/Android/sdk/platform-tools"

you can save and close the .zhrc

  1. Open terminal and reload the file with this :
source ~/.zshrc

Now you can use adb command lines !

11

Considering you have already downloaded SDK platform tools. These commands are for MAC users.

This command will set ADB locally. So if you close the terminal and open it again, ADB commands won't work until you run this command again.

export PATH=~/Library/Android/sdk/platform-tools:$PATH

These commands will set ADB globally. So once you run these commands no need to set them again next time.

echo 'export PATH=$PATH:~/Library/Android/sdk/platform-tools/' >> ~/.bash_profile

source ~/.bash_profile
1
  • 1
    the answer is correct but just if the shell is zsh you have to change .bash_profile to .zshenv Commented Dec 26, 2020 at 7:17
11

You need to install adb first, the new command (in 2021) is:

brew install --cask android-platform-tools

10

Mac users just open /Users/(USERNAME)/.bash_profile this file in a editor.
and add this line to add path.

export PATH="/Users/myuser/Library/Android/sdk/platform-tools":$PATH

this is the default path if you install adb via studio. and dont forget to change the username in this line.

1
  • 4
    export PATH="~/Library/Android/sdk/platform-tools":$PATH should do it, no need to change anything
    – yuzuriha
    Commented Jul 5, 2018 at 6:09
9

In my case, I was in the platform-tools directory but was using command in the wrong way:

adb install

instead of the right way:

./adb install
1
  • 1
    You shouldn’t need to be in the platform-tools directory. That means your PATH isn’t set correctly and you’d be better off following one of the other answers here. Commented Mar 27, 2020 at 15:54
8

On my Mac (OS X 10.8.5) I have adb here:

~/Library/android-sdk-mac_86/platform-tools

So, edit the $PATH in your .bash_profile and source it.

1
  • 1
    More recently this is ~/Library/android/sdk/platform-tools/ on macOS. Commented Nov 16, 2018 at 3:53
7

+ The reason is: you are in the wrong directory (means it doesn't contain adb executor).

+ The solution is (step by step):

1) Find where the adb was installed. Depend on what OS you are using.

Mac, it could be in: "~/Library/Android/sdk/platform-tools"

or

Window, it could be in: "%USERPROFILE%\AppData\Local\Android\sdk\platform-tools\".

However, in case you could NOT remember this such long directory, you can quickly find it by the command "find". Try this in your terminal/ command line, "find / -name "platform-tools" 2> /dev/null" (Note: I didn't test in Window yet, but it works with Mac for sure).

*Explain the find command,

  • Please note there is a space before the "/" character --> only find in User directory not all the computer.
  • "2> /dev/null" --> ignore find results denied by permission. Try the one without this code, you will understand what I mean.

2) Go to where we installed adb. There are 3 ways mentioned by many people:

  • Change the PATH global param (which I won't recommend) by: "export PATH=~/Library/Android/sdk/platform-tools" which is the directory you got from above. Note, this command won't print any result, if you want to make sure you changed PATH successfully, call "export | grep PATH" to see what the PATH is.

  • Add more definition for the PATH global param (which I recommend) by: "export PATH=~/Library/Android/sdk/platform-tools:$PATH" or "export PATH=$PATH:~/Library/Android/sdk/platform-tools"

  • Go to the path we found above by "cd ~/Library/Android/sdk/platform-tools"

3) Use adb:

  • If you change or update the PATH, simply call any adb functions, since you added the PATH as a global param. (e.g: "adb devices")

  • If you go to the PATH by cd command, call adb functions with pre-fix "./ " (e.g: "./ adb devices")

6

I solved this issue by install adb package. I'm using Ubuntu.

sudo apt install adb

I think this will help to you.

6

If you are using a mac, try this below command.

source $HOME/.bash_profile

4

in my case I added the following line in my terminal:

export PATH="/Users/Username/Library/Android/sdk/platform-tools":$PATH

make sure that you replace "username" with YOUR user name.

hit enter then type 'adb' to see if the error is gone. if it is, this is what you should see: Android Debug Bridge version 1.0.40

...followed by a bunch of commands..and ending with this: $ADB_TRACE comma-separated list of debug info to log: all,adb,sockets,packets,rwx,usb,sync,sysdeps,transport,jdwp $ADB_VENDOR_KEYS colon-separated list of keys (files or directories) $ANDROID_SERIAL serial number to connect to (see -s) $ANDROID_LOG_TAGS tags to be used by logcat (see logcat --help)

if you get that, run npm run android again and it should work..

3

To avoid rewriting the $PATH variables every time you start a terminal, edit your .bash_profile (for Macs, it's just .profile) file under your home directory (~/), and place the export statement somewhere in the file.

Now every time you start terminal, your $PATH variable will be correctly updated. To update the terminal environment immediately after modifying the profile file, type in:

source ~/.profile 
1
  • You should add the appropriate export statement to this answer. Commented Mar 27, 2020 at 15:55
3
nano /home/user/.bashrc  
export ANDROID_HOME=/psth/to/android/sdk  
export PATH=$PATH:$ANDROID_HOME/tools:$ANDROID_HOME/platform-tools  

However, this will not work for su/ sudo. If you need to set system-wide variables, you may want to think about adding them to /etc/profile, /etc/bash.bashrc, or /etc/environment.

ie:

nano /etc/bash.bashrc  
export ANDROID_HOME=/psth/to/android/sdk  
export PATH=$PATH:$ANDROID_HOME/tools:$ANDROID_HOME/platform-tools  
1

UNABLE TO LOCATE ADB #SOLVED Simply Download Sdk platform tools.https://developer.android.com/studio/releases/platform-tools.html Extract the Downloaded file. Go to Sdk Manager in Android Studio and copy the link. Go to file Explorer and paste the path for Sdk you copied to view the Sdk files. You will notice that the Adb file is missing, open downloaded file (platform tools) copy contents and replace every content in your Sdk tool file (the file where you noticed adb is missing)and save. You are good to go.

1

In my case this is the solving of this problem

  1. Make sure you have installed the android SDK. Usually the location of SDK is located to this location

    /Users/your-user/Library/Android/sdk

  2. After that cd to that directory.

  3. Once you are in that directory type this command ./platform-tools/adb install your-location-of apk

1

if youd dont have adb in folder android-sdk-macosx/platform-tools/ you should install platform tools first. Run android-sdk-macosx/tools/android and Install platform tools from Android SDK manager.

1

you have to move the adb command to /bin/ folder

in my case:

sudo su
mv /root/Android/Sdk/platform-tools/adb /bin/
1

Add the following command to .zshrc file

Open file in terminal using command -> vi .zshrc Add the android sdk path - > exportPATH="/Users/<user>/Library/Android/sdk/platform-tools:$PATH"

Close the file by -> Esc + :wq

1

Go to your android studio and check if the platform-tools are installed properly.

check if this is giving you the out put

~/Library/Android/sdk/platform-tools/adb

if Yes, then add this to you Path by vim ~/.zshenv or echo export "PATH=~/Library/Android/sdk/platform-tools:$PATH" >> ~/. zshenv

1

Follow These Steps :

I'm using Mac OS (Version Sonama 14.4)

Open the terminal and paste this commands one by one

install brew

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

install adb server

brew install --cask android-platform-tools

Start using adb

adb devices  
1
  • Probably the easiest way with the brew, thanks Commented Jun 19 at 10:00
0

If you are using fish:
fish_add_path /Users/<name>/Library/Android/sdk/platform-tools/
Or you can add the same to ~/.config/fish/config.fish
Might need to re start the shell

0

in fish shell (ubuntu 22.04)

  1. sudo nano .config/fish/config.fish
  2. add line set -gx PATH $ANDROID_HOME/platform-tools/adb $PATH;
  3. save and celebrate!

Not the answer you're looking for? Browse other questions tagged or ask your own question.