Praween k
Praween k

Reputation: 1035

adb command not found in linux environment

While implementing the BluetoothChat application .apk inside G1 device, it always pops up a message:

$adb install -r /home/parveen/workspace/BluetoothChat/bin/BluetoothChat.apk 
-bash: adb: command not found

Why is this error popping up every time, and how can the problem be fixed?

Upvotes: 73

Views: 175978

Answers (27)

CodeToLife
CodeToLife

Reputation: 4171

on my Linux it looks like :

sudo ln /root/Android/Sdk/platform-tools/adb /bin/adb

the path you can get in android studio File->settings, option Android SDK (using search in the settings) and e.g. to navigate/check through the inaccessible folders use:

sudo ls inaccessabl/folder

Upvotes: 0

Gleichmut
Gleichmut

Reputation: 7009

adb should be installed together with Android Studio. It doesn't automatically update environment variables to make adb (and other Android tools) accessible from the console.

$ sudo cd /etc/environment.d && touch android.conf
$ sudo nano android.conf
ANDROID_HOME=/home/gelassen/Android/Sdk
PATH=$PATH:$ANDROID_HOME/platform-tools
$ source android.conf

Test by $ adb devices

Ref. linux man about environment.d

Upvotes: 0

rjr-apps
rjr-apps

Reputation: 338

None of the solutions here worked for me. It was driving me nuts because adb would work fine in a terminal window, but not in Android Studio's terminal.

After enough messing around, I finally found that for some reason under Settings -> Tools -> Terminal, the Shell path was not set to /bin/bash. (I don't remember what it was originally set to now and I can't see it anymore, it was something to do with sh)

Changing this to /bin/bash solved the problem for me.

Upvotes: 0

Jatin Krishna Habibkar
Jatin Krishna Habibkar

Reputation: 169

Steps to install ADB in arch linux using pacman

  1. It is crucial to make sure your system is up to date before installing ADB. Run the following command in your terminal as the root user to do this.
  2. sudo pacman -Syyu
  3. After updating your system again,
  4. sudo pacman -S android-tools
  5. When asked hit enter to yes
  6. And you are done.

Upvotes: 0

Mr Coolman
Mr Coolman

Reputation: 25

WHAT WORKED FOR ME:

 1. nano ~/.zshrc
        or
  nano ~/.bashrc

 
2. alias adb='~/Android/Sdk/platform-tools/adb'

Home this helps you out.

Upvotes: 1

DEEPANSHU RAWAT
DEEPANSHU RAWAT

Reputation: 1

Please try to update your bash profile.

For linux users: You need to add your Android SDK location.

For MAC users , in addition to the above step one extra change is required: You also need to add your Android Platform Tools location.

For more detail you can watch this video for reference: https://youtu.be/0-S5a0eXPoc?t=1211

Upvotes: 0

Lakshya Tyagi
Lakshya Tyagi

Reputation: 87

For Ubuntu 20.04

After trying many solution

sudo apt install adb

worked for me.

After installing try command adb devices for starting daemon successfully then again use same command adb devices to get the list of devices

Upvotes: 7

crazymacleod
crazymacleod

Reputation: 1211

Updating the path as listed above in ~/.bashrc makes other bash commands stop working altogether.

the easiest way I found is to use what eaykin did but link it your /bin.

sudo ln -s /android/platform-tools/adb /bin/adb

No restart is required just type following command :

adb devices

To make sure it's working.

Upvotes: 121

siva balan
siva balan

Reputation: 399

For Fedora

sudo dnf install adb 

Upvotes: 0

Daniel Delgado
Daniel Delgado

Reputation: 5343

Ubuntu 18.04

This worked for me:

  1. Find out and copy platform-tools path, in my case is '/home/daniel/Android/Sdk/platform-tools'
  2. Open bashrc nano ~/.bashrc
  3. Save platform-tools path export PATH="${PATH}:/home/daniel/Android/Sdk/platform-tools"
  4. Reset bash_profile source .bash_profile
  5. adb devices is now working

Upvotes: 12

mabac
mabac

Reputation: 1460

I found the solution to my problem. In my ~/.bashrc:

export PATH=${PATH}:/path/to/android-sdk/tools

However adb is not located in the android-sdk/tools/, rather in android-sdk/platform-tools/. So I added the following

export PATH=${PATH}:/path/to/android-sdk/tools:/path/to/android-sdk/platform-tools

And that solved the problem for me.

Upvotes: 106

CommonsWare
CommonsWare

Reputation: 1007584

You need to add $ANDROID_SDK/platform-tools to your PATH, where $ANDROID_SDK is wherever you installed the Android SDK.

Upvotes: 8

Sergey
Sergey

Reputation: 769

I have just resolved the problem myself on mint(ubuntu). It seems that adb is a 32 bit executable at least according to readelf -h. for the program to work in 64-bit ubuntu or whatever installation, we must have 32-bit libraries inplace.

solved the problem with

sudo dpkg --add-architecture i386
sudo apt-get update
sudo apt-get install libc6:i386 libncurses5:i386 libstdc++6:i386

Upvotes: 3

Ahmad Shabib
Ahmad Shabib

Reputation: 109

In Ubuntu i could run the following command:

  sudo apt install android-tools-adb

Upvotes: 2

Ahmed Abdeldaim
Ahmed Abdeldaim

Reputation: 131

In my case "adb" is located in "~/Android/Sdk/platform-tools/"

the following command solved the problem:

export PATH=$PATH:~/Android/Sdk/platform-tools/

Upvotes: 6

Nithin Raja
Nithin Raja

Reputation: 1252

Follow these steps:

Set android vars

Initially go to your home and press `Ctrl + H` it will show you hidden files now look for .bashrc file, open it with any text editor

then place the lines below at the end of file:

export ANDROID_HOME=/myPathSdk/android-sdk-linux
export PATH=$PATH:$ANDROID_HOME/tools:$ANDROID_HOME/platform-tools


Now Reboot the system

It Works!

Upvotes: 8

Gautam
Gautam

Reputation: 1343

sudo apt install adb

in your pc adb not installed.

Try this, working for me

Upvotes: 21

Nikhil Raut
Nikhil Raut

Reputation: 550

Make sure you installed sudo apt-get install android-tools-adb Now check sudo adb It will show help of adb

Now please kill/start adb use following commands -

sudo adb kill-server sudo adb start-server

Lastly, sudo adb devices

Hopefully this will work !!!

Upvotes: 1

geraldCelente
geraldCelente

Reputation: 995

creating a symbolic link was the solution for me either. However before working I had to grant access and execute rights to the created symbolic links.

I am not sure if it was @eaykin's answer or @crazymacleod's that worked for me, as I did both before finding the above mentioned solution.

Thanks!

Upvotes: 0

Mike Spike
Mike Spike

Reputation: 499

I was getting this error also and Ubuntu suggested me to install it so I installed* it and this worked in my case.
* - sudo apt-get install android-tools-adb

Note:x64 architecture

Upvotes: 0

gal007
gal007

Reputation: 7202

NOTE: while using adb on Linux you'll need to type ./adb to execute adb commands unless you create a path in ~/.bashrc. In a terminal write:

sudo gedit ~/.bashrc

Add the following line at the end of the file. Once you're done, save and exit.

Android tools

export PATH=~/Development/adt-bundle-linux/sdk/platform-tools:~/Development/adt-bundle-linux/sdk/tools:$PATH

Then in a Terminal run this command to reload your .bashrc: Code:

source ~/.bashrc

Now you can just run adb without put ./ before every command.

Upvotes: 17

Dinesh
Dinesh

Reputation: 965

adb is in android-sdks/tools directory. You simply type this command: adb logcat.

If you want to your stack traces in a text file use this command: adb logcat > trace.txt. Now your traces are copied into that file.

If it is not working then go to android-sdks/platform-tools then put this command: ./adb logcat > trace.txt. Hope it will helps to you.

Upvotes: 2

user1145691
user1145691

Reputation: 39

The way I fix this problem is:

  1. create a link from adb file(drag 'adb' with holding alt then drop to any directory and select 'link here')
  2. use #sudo cp adb /bin (copy link from 1 to /bin)

I've done this several times and it works 100%(tested on Ubuntu 12.04 32/64bit).

Upvotes: 2

res
res

Reputation: 69

I have same problem as you. finally as i know, in linux & mac OS, we use ./adb instead of adb

Upvotes: 5

Khurram Majeed
Khurram Majeed

Reputation: 2411

I had this problem when I was trying to connect my phone and trying to use adb. I did the following

  1. export PATH=$PATH{}:/path/to/android-sdk/tools:/path/to/android/platform-tools

  2. apt-get install ia32-libs

  3. Connected my phone in USB debug mode and In the terminal type lsusb to get a list of all usb devices. Noted the 9 character (xxxx:xxxx) ID to the left of my phone.

  4. sudo gedit /etc/udev/rules.d/99-android.rules

  5. Add [ SUBSYSTEM=="usb", ATTRS{idVendor}=="####:####", SYMLINK+="android_adb", MODE="0666" GROUP="plugdev" TEST=="/var/run/ConsoleKit/database", \ RUN+="udev-acl --action=$env{action} --device=$env{DEVNAME}" ] (whatever is in [...] )to the file and replace "####:####" with the number from step 3cop

  6. sudo service udev restart

  7. Restarted my System

  8. open terminal browse to adb directory and run ./adb devices

And it shows my phone hence adb starts working without error.

I hope it helps others

Upvotes: 2

eaykin
eaykin

Reputation: 3813

updating the $PATH did not work for me, therefore I added a symbolic link to adb to make it work, as follows:

ln -s <android-sdk-folder>/platform-tools/adb <android-sdk-folder>/tools/adb

Upvotes: 0

zmalltalker
zmalltalker

Reputation: 511

I had the same issue on my fresh Ubuntu 64 bit installation, and the path was set up correctly.

Thus, which adb would resolve correctly, but trying to run it would fail with adb: command not found.

The very helpful guys at #android-dev pointed me to the solution, namely that the 32 bit libraries hadn't been installed. On my previous computers, this had probably been pulled in as a dependency for another package.

On Ubuntu (probably other Debians as well), running [sudo] apt-get install ia32-libs

Upvotes: 17

Related Questions