Попытка добавить 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

Tobrun
источник
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

brismuth
источник
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
scottyab
источник
Потрясающие! 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"

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

colabug
источник
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и ожидать выхода

Удачи!

nurnachman
источник
3

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

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

sarnold
источник
Это тоже пробовал. Ничего. Это серьезно сводит меня с ума.
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/

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

разработчик Android
источник
1

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

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

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

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

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

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

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

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

JoshJoe
источник