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


121

Я пытаюсь разработать для 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?


5
Примечание: пробелы перед и / или после знака равенства вызывают проблемы. он должен выглядеть так: «export PATH = $ {PATH}: / Users / simon / Libs / android-sdk-mac_x86 / tools»
Бен Х,

Ответы:


42

Почему вы пытаетесь запустить "./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, выполняется только последний.


Пробовал и ./adb и adb .. Ничего, понятия не имею, что с этим не так.
skoko 02 апр.'11

Где должен быть adb? Убедитесь, что он там и имеет разрешения на выполнение (перейдите в каталог и выполните ls -l adb).
LaC 02

1
Если я перейду в каталог, я могу запустить его без проблем. Вот результат. -rwxrwxrwx 1 simon staff 179312 28 фев, 02:48 adb
skoko

1
Спасибо за этот ответ. Оказывается, там были и .profile, и .bash_profile. У меня были значения в .profile и да. Теперь это работает. Большое спасибо, ребята.
skoko 02

1
Сейчас работает, у меня было всего два профиля. Один поверх написал другой. Если кто-то делает это, используйте .bash_profile для редактирования переменной пути. Я следил за другим руководством, в котором говорилось, что нужно использовать .profile
skoko

298

Добавлять в PATH для каждого входа в систему

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

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

CD

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

коснитесь .bash_profile

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

открыть -e .bash_profile

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

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

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

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

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

версия adb


Версия с одним лайнером

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

echo "экспорт PATH = $ PATH: / Users / username / Library / Android / sdk / platform-tools / sdk / platform-tools /" >> ~ / .bash_profile


2
Предпоследний шаг в вышеуказанном шаге - «Перезагрузить терминал» :)
Бриджеш Такур

14
Перезапускать терминал не обязательно, перезагрузки файла должно быть достаточно
Тобрун

Обновление: возможно, это не сработает для вас, потому что вы используете несколько вкладок. Каждая вкладка вашего терминала имеет свой сеанс. Так что перезагрузите .bash_profile во вкладке команды "adb version".
Tobrun 05

2
можно использовать экспорт PATH = $ PATH: $ HOME / Library / Android / sdk / platform-tools /, просто скопировав и вставив, и не нужно менять имя пользователя
Mohit

1
Я удалил sdk/platform-tools/бит в конце, так как это давало мне предупреждение bash в Android Studio.
Ryan R

65

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

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

brew cask install android-platform-tools


1
Намного лучше, чем пытаться возиться с PATH, .bash_profile и т. Д. Спасибо!
смец.кевин

yup c [_] ~ ᒡ ◯ ᵔ ◯ ᒢ
Адам Мендоза,

К вашему сведению, теперь это дает ошибку: Ошибка: нет доступной формулы с именем «android-platform-tools». Использование: brew install Caskroom / cask / android-platform-tools вместо
The Hungry Androider

@The Hungry Androider - исправлено
brismuth

Я не пробовал это, но мне интересно, будет ли установлен Android Studio вместе с Homebrew, интересно, может ли это создать проблему с рассинхронизацией версии в будущем ... просто мысль
Kinergy

27

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

например

export PATH=/Users/me/android-sdk-mac_86/platform-tools:/Users/me/android-sdk-mac_86/tools:$PATH

веселая. Я открыл этот файл ... Эта точная строка уже была там. Я думаю, что eclipse добавил это при установке плагина?
skoko 02

Возможно, хотя я сам добавил.
Дэвид Снабел-Коунт

Согласно johnnywey.wordpress.com/2008/04/17/fixing-bash-profile-in-os-x, у вас могут быть конфликтующие профили
Дэвид Снабел-Коунт

Думаю, именно в этом и была проблема. Другое приложение (я думаю, MacPorts) создало .profile
skoko

1
Не забудьте перезапустить терминал после добавления в PATH.
Адам Джонс

13

Просто заключите в оболочку любого, кто найдет этот пост 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

Потрясающие! Thx scottyab!
Рилар

Кроме того, он находится в Users / [user] / Android / sdk / platform-tools .... Мне не нравится делать ссылки на папку Applications (хотя, возможно, это только я).
Adam

13

Ответ для 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

Удачи! :-)


9

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

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

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


8

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

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

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


7

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и ожидать выхода

Удачи!


3

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

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


Это тоже пробовал. Ничего. Это серьезно сводит меня с ума.
skoko 02 апр.'11

@ user569594: вы перезапускали оболочку после редактирования .profile? (то есть, если вы echo $PATHраньше adb, вы видите новые каталоги?)
sarnold

да, я упомянул об этом в вопросе. Он отображается в эхо, bash по какой-то причине просто НЕ МОЖЕТ ВИДЕТЬ ЭТО.
skoko 02

@ user569594: извините, пришлось спросить, я видел, как люди редактировали свои сценарии запуска оболочки, тестировали свои изменения, запустив новую оболочку, и забывали перезапустить свою текущую оболочку и задавались вопросом, где она не работает ... :)
sarnold 02

Да, я обязательно перезапустил. Проблема заключалась в наличии двух профилей в моем домашнем каталоге. .Bash_profile и .profile
skoko

3

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

export PATH=$PATH:/XXX

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

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

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

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


1

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


Вместо того, чтобы перезагружать терминал, вы можете использовать следующую команду для перезагрузки файла: « .bash_profile »
Тобрун,

1

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

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

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


Первый способ сработал для меня, затем вам нужно перезагрузить компьютер
Сейид-Канан Багиров,

0

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

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

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.