Попытка добавить adb в переменную PATH OSX

Я пытаюсь разработать для Android, и я хочу добавить adb к моему PATH, чтобы я мог легко его запустить. Я добавил каталоги раньше, по какой-то причине adb не хочет быть найденным. Это очень расстраивает. У кого-нибудь еще была эта проблема раньше?

Я создал файл .profile и добавил в него следующее.

export PATH = ${PATH}:/Users/simon/Libs/android-sdk-mac_x86/platform-tools/
export PATH = ${PATH}:/Users/simon/Libs/android-sdk-mac_x86/tools

Когда я проверяю свой путь к среде, я вижу следующее:

/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin:/Libs/android-sdk-mac_x86/tools:/Libs/android-sdk-mac_x86/platform-tools

Итак, я знаю, что он добавлен в мою переменную PATH. Теперь, когда я пытаюсь запустить adb, я получаю, что он не найден.

-bash: ./adb: No such file or directory

Это очень расстраивает. Может ли быть проблема с разрешениями? У кого-нибудь была эта проблема с OSX и Android?


person skoko    schedule 02.04.2011    source источник
comment
примечание: размещение пробелов до и/или после знака равенства вызывает проблемы. это должно выглядеть так: export PATH=${PATH}:/Users/simon/Libs/android-sdk-mac_x86/tools   -  person Ben H    schedule 15.03.2012


Ответы (14)


Почему вы пытаетесь запустить «./adb»? Это полностью пропускает переменную пути и ищет только «adb» в текущем каталоге. Вместо этого попробуйте запустить «adb».

Изменить: ваш путь выглядит неправильно. Вы говорите, что получаете

/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin:/Libs/android-sdk-mac_x86/tools:/Libs/android-sdk-mac_x86/platform-tools

Вам не хватает части /Users/simon.

Также обратите внимание, что если у вас есть файлы .profile и .bash_profile, выполняется только последний.

person LaC    schedule 02.04.2011
comment
Пробовал и ./adb и adb.. Ничего, понятия не имею, что с этим не так. - person skoko; 03.04.2011
comment
Где должен находиться adb? Убедитесь, что он есть и что у него есть права на выполнение (перейдите в каталог и выполните команду ls -l adb). - person LaC; 03.04.2011
comment
Если я перейду в каталог, я могу запустить его без проблем. Вот результат. -rwxrwxrwx 1 саймон стафф 179312 28 фев 02:48 асп - person skoko; 03.04.2011
comment
@LaC, об отсутствии прав на выполнение для файла будет сообщено с помощью bash: /bin/ls: Permission denied - person sarnold; 03.04.2011
comment
Спасибо за этот ответ. Оказывается, там были и .profile, и .bash_profile. У меня были значения в .profile и да. Теперь это работает. Большое спасибо, ребята. - person skoko; 03.04.2011
comment
@user569594: user569594: Мне не нравится, что ваш исполняемый файл adb доступен для записи всем пользователям. Интересно, изменила ли Apple bash, чтобы не запускать исполняемые файлы с возможностью записи для всех? Попробуйте chmod 755 adb и еще раз? - person sarnold; 03.04.2011
comment
Работает сейчас, у меня как раз было два профиля. Один переписал другой. Если кто-то делает это, используйте .bash_profile для редактирования переменной пути. Я следовал другому руководству, в котором говорилось об использовании .profile. - person skoko; 07.04.2011

Добавлять в PATH для каждого входа

Версия полного контроля:

в своем терминале перейдите в домашний каталог

cd

создать файл .bash_profile

коснитесь .bash_profile

открыть файл с помощью TextEdit

открыть -e .bash_profile

вставить строку в TextEdit

экспортировать PATH=$PATH:/Users/имя пользователя/Library/Android/sdk/platform-tools/

сохранить файл и перезагрузить файл

источник ~/.bash_profile

проверьте, был ли adb установлен в пути

версия adb


Однострочная версия

Повторите команду экспорта и перенаправьте вывод для добавления в файл .bash_profile и перезапустите терминал. (не проверял это, но должно работать)

echo "export PATH=$PATH:/Users/имя пользователя/Library/Android/sdk/platform-tools/ sdk/platform-tools/" >> ~/.bash_profile

person Tobrun    schedule 04.11.2013
comment
Предпоследним шагом в предыдущем шаге является перезапуск терминала :) - person Brijesh Thakur; 20.02.2014
comment
Перезапуск терминала не требуется, достаточно перезагрузить файл. - person Tobrun; 20.02.2014
comment
Обновление: возможно, это не работает для вас, потому что вы используете несколько вкладок. У каждой вкладки на вашем терминале есть своя сессия. Поэтому перезагрузите .bash_profile на вкладке команды версии adb. - person Tobrun; 05.10.2014
comment
можно использовать export PATH=$PATH:$HOME/Library/Android/sdk/platform-tools/ , просто скопировав и вставив и не изменяя имя пользователя - person Mohit; 14.09.2015
comment
Я удалил бит sdk/platform-tools/ в конце, так как это давало мне предупреждение bash в Android Studio. - person Ryan R; 19.12.2015
comment
Я проверил около 7 различных версий этого руководства. И я смог понять только это и то, что я пытаюсь здесь сделать! Отлично, сработало! - person sud007; 29.03.2016
comment
Вы также можете сделать source ~/.bash_profile вместо перезапуска терминала. - person Justin Noel; 07.02.2019
comment
Моя команда adb работает после использования первого метода, но работает до тех пор, пока терминал не будет открыт в том же сеансе. Когда я закрываю терминал и открываю новое окно, команды adb снова не отвечают. - person Rahul Rastogi; 11.02.2020

Альтернатива: установить adb простым способом

Если вы не хотите беспокоиться о своем пути или обновлении adb вручную, вы можете вместо этого использовать homebrew.

brew cask install android-platform-tools

person brismuth    schedule 31.08.2015
comment
Гораздо, НАМНОГО лучше, чем пытаться возиться с PATH, .bash_profile и т. д. Спасибо! - person smets.kevin; 25.09.2015
comment
да с [_] ~ ᒡ◯ᵔ◯ᒢ - person Adam Mendoza; 23.10.2016
comment
К вашему сведению, теперь это дает ошибку: Ошибка: нет доступной формулы с именем android-platform-tools. Использование: варить вместо этого установить Caskroom/cask/android-platform-tools - person The Hungry Androider; 25.04.2017
comment
@The Hungry Androider - исправил - person brismuth; 25.04.2017
comment
Я не пробовал это, но мне интересно, если кто-то устанавливает Android Studio, а также с Homebrew, интересно, может ли это создать проблему несинхронизации версии в будущем... просто мысль - person Kinergy; 18.05.2018
comment
Если у вас несколько установок, bash будет последовательно использовать только одну из них (при условии, что ваш путь каждый раз настроен одинаково). - person brismuth; 18.05.2018
comment
Самый лучший и простой ответ! - person xtarsy; 22.07.2019
comment
Теперь это работает: brew install --cask android-platform-tools - person Rahul Mishra; 31.12.2020

На моем Macbook Pro я добавил строки экспорта в ~/.bash_profile, а не в .profile.

e.g.

export PATH=/Users/me/android-sdk-mac_86/platform-tools:/Users/me/android-sdk-mac_86/tools:$PATH
person David Snabel-Caunt    schedule 02.04.2011
comment
веселая. Я открыл этот файл... Эта точная строка уже была там. Я думаю, что eclipse добавил это при установке плагина? - person skoko; 03.04.2011
comment
Это возможно, хотя я добавил свой сам. - person David Snabel-Caunt; 03.04.2011
comment
Согласно johnnywey.wordpress.com/2008 /04/17/fixing-bash-profile-in-os-x у вас могут быть конфликтующие профили - person David Snabel-Caunt; 03.04.2011
comment
Я думаю именно в этом и была проблема. Другое приложение (я думаю, MacPorts) создало .profile - person skoko; 06.04.2011
comment
Не забудьте перезапустить терминал после добавления в PATH. - person Adam Johns; 03.08.2014

Просто включите, если кто-нибудь найдет этот пост SO при использовании Android Studio, который включает в себя SDK, который является частью пакета приложения (на Mac OSX).

Итак, как отметили @davecaunt и @user1281750, но вставьте следующую строку в .bash_profile

export PATH=/Applications/Android\ Studio.app/sdk/tools:/Applications/Android\ Studio.app/sdk/platform-tools:$PATH
person scottyab    schedule 26.05.2014
comment
Потрясающий! Спасибо, Скоттяб! - person rilar; 13.09.2014
comment
В качестве альтернативы он находится в Users/[user]/Android/sdk/platform-tools.... Мне не нравится ссылка на папку Applications (хотя, может быть, это только я). - person Adam; 18.01.2015

Ответ для MAC должен быть таким:

  1. Откройте свой bash_profile с помощью следующих команд: open ~/.bash_profile

  2. Если файл базового профиля не существует, создайте новый с помощью следующей команды: touch .bash_profile, затем повторите этап 1.

  3. Добавьте следующую строку: export PATH=/Users/"YOURUSER"/Library/Android/sdk/platform-tools:$PATH

  4. Перезапустите окно bash и проверьте, набрав adb shell

Удачи! :-)

person Avi Levin    schedule 04.06.2015

В терминале перейдите в домашний каталог

cd
create file .bash_profile

touch .bash_profile
open file with TextEdit

open -e .bash_profile
insert line into TextEdit

export PATH=$PATH:/Users/username/Library/Android/sdk/platform-tools/
save file and reload file

source ~/.bash_profile очень важно проверить, был ли указан adb в пути

adb version

Теперь все должно быть в порядке.

person kotini tirumula    schedule 05.03.2016

Я использую zsh и Android Studio. Я использую переменную для своего пути Android SDK и настраиваю в файле ~/.zshrc:

export ANDROID_HOME=/Applications/Android\ Studio.app/sdk
export PATH="$ANDROID_HOME/platform-tools:$ANDROID_HOME/tools:$PATH"

Примечание. Убедитесь, что указанный путь не заключен в одинарные или двойные кавычки. Если вы это сделаете, это не сработает.

person colabug    schedule 08.09.2014

Android Studio v1.2 устанавливает инструмент adb по этому пути:

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

Итак, это выглядит так:

  1. Запустить терминал
  2. запустить adb version и ожидать вывод ошибки
  3. touch ~/.bash_profile
  4. open ~/.bash_profile
  5. добавьте указанный выше путь перед «закрытием»: $ PATH
  6. source ~/.bash_profile
  7. запустить adb version и ожидать результат

Удачи!

person nurnachman    schedule 12.06.2015

Похоже, вы все еще пытаетесь выполнить adb с ./adb. Это просит оболочку запустить программу с именем adb в текущем рабочем каталоге.

Попробуйте просто adb без ./.

person sarnold    schedule 02.04.2011
comment
Пробовал и это. Ничего. Это серьезно сводит меня с ума. - person skoko; 03.04.2011
comment
@ user569594: вы перезапустили оболочку после редактирования .profile? (т. е. если вы echo $PATH перед adb, видите ли вы новые каталоги?) - person sarnold; 03.04.2011
comment
да, я упомянул это в вопросе. Это проявляется в эхе, bash почему-то просто НЕ МОГУТ ЭТОГО ВИДЕТЬ. - person skoko; 03.04.2011
comment
@ user569594: извините, пришлось спросить, я видел, как люди редактировали свои сценарии запуска оболочки, проверяли свои изменения, запуская новую оболочку, и забывали перезапустить свою текущую оболочку и удивлялись, где она терпит неудачу ... :) - person sarnold; 03.04.2011
comment
Да, я убедился, что перезагрузился. Проблема заключалась в наличии двух профилей в моем домашнем каталоге. .bash_profile и .profile - person skoko; 07.04.2011
comment
@ user569594, круто! Если это так, ответ @David Caunt выглядит как ответ на Accept. :) - person sarnold; 07.04.2011

Чтобы в терминале всегда был файл ~/.bashrc, и там укажите путь, который вы хотите использовать, добавив:

export PATH=$PATH:/XXX

где XXX — это путь, который вы хотите использовать.

для adb, вот что я использую:

export PATH=$PATH:/home/user/Android/android-sdk-linux_x86/platform-tools/

(где «пользователь» — мое имя пользователя).

person android developer    schedule 05.09.2012

введите здесь описание изображения

Второе решение описано ниже. Но когда я закрываю терминал, изменение, которое я сделал в переменной пути, теряется. Таким образом, я предпочитаю первый способ!

введите здесь описание изображения

person metis    schedule 26.03.2020
comment
Первый способ работает для меня, тогда вам нужно перезагрузить компьютер - person Seyid-Kanan Bagirov; 11.08.2020

Я добавил export PATH=${PATH}:/Users/mishrapranjal/android-sdks/platform-tools/ в оба места .bash_profile и .profile, чтобы убедиться, что это работает. Тем не менее это не сработало, а затем я просмотрел совет Сарнольда о перезапуске терминала, и он сработал как шарм. Это сэкономило мне время на добавление этого каждый раз в PATH всякий раз, когда мне приходилось запускать adb. Спасибо вам, ребята.

person Pranjal    schedule 03.07.2012
comment
Вместо перезапуска терминала вы можете использовать следующую команду для перезагрузки файла: . .bash_profile - person Tobrun; 04.11.2013

Если кто-то не может получить там .bash_profile файл, чтобы взять какие-либо новые пути, И у вас есть другие команды в этом файле (например, псевдонимы команд), попробуйте переместить операторы PATH в начало файла.

Это единственное, что сработало для меня. Причина, по которой это сработало, заключалась в том, что у меня были некоторые опечатки в командах моего псевдонима, и, по-видимому, этот файл выдает ошибку и закрывается, если он сталкивается с проблемой. Вот почему мои операторы PATH не выполнялись. Переместив его наверх, просто дайте ему запуститься первым.

person JoshJoe    schedule 22.04.2017