Спроба додати adb до змінної OSX PATH


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
Примітка: розміщення пробілів до та / або після знаку рівності спричиняє проблеми. це має виглядати як "експортувати PATH = $ {PATH}: / Users / simon / Libs / android-sdk-mac_x86 / tools"
Ben H

Відповіді:


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

Де передбачається розміщення adb? Переконайтеся, що він є, і чи він має дозволи на виконання (cd до каталогу та ls -l adb).
LaC

1
Якщо я заходжу в каталог, я можу запустити його без проблем. Ось вихід. -rwxrwxrwx 1 simon персонал 179312 28 лютого 02:48 adb
skoko

1
Дякую за цю відповідь. Виявляється, і .profile, і .bash_profile були обидва. Я мав значення у .profile та yea. Зараз це працює. Дякую, хлопці
skoko

1
Працює зараз, у мене було просто два профілі. Один написав інший. Якщо хтось робить це, використовуйте .bash_profile для редагування змінної шляху. Я дотримувався іншого підручника, в якому говорилося про використання .profile
skoko

298

Додати в PATH для кожного входу

Загальна контрольна версія :

у своєму терміналі перейдіть до домашнього каталогу

cd

створити файл .bash_profile

торкніться .bash_profile

відкрити файл з TextEdit

відкрити -e .bash_profile

вставити рядок у TextEdit

експортувати PATH = $ PATH: / Користувачі / ім'я користувача / Бібліотека / Android / sdk / платформа-інструменти /

зберегти файл і перезавантажити файл

джерело ~ / .bash_profile

перевірити, чи встановлено adb в шлях

версія adb


Один варіант вкладиша

Відлучіть команду експорту та переспрямуйте вихід, який потрібно додати до файлу .bash_profile та перезапустіть термінал. (не підтвердили це, але повинні працювати)

echo "експортувати PATH = $ PATH: / Користувачі / ім'я користувача / Бібліотека / Android / sdk / platform-tools / sdk / platform-tools /" >> ~ / .bash_profile


2
Передостанній крок у вищезазначеному кроці - «Перезапустити термінал» :)
Бріеш Тхакур

14
Термінал перезапуску не повинен бути необхідним, для перезавантаження файлів має бути достатньо
Тобрун

Оновлення: ймовірно, це не працює для вас, оскільки ви використовуєте кілька вкладок. Кожна вкладка вашого терміналу має власний сеанс. Тому перезавантажте .bash_profile на вкладці команди "adb version".
Тобрун

2
можна скористатися експортом PATH = $ PATH: $ HOME / Бібліотека / Android / sdk / платформа-інструменти /, просто скопіювати та вставити, і не потрібно змінювати ім’я користувача
Mohit

1
Я видалив sdk/platform-tools/шматочок наприкінці, оскільки це дало мені загрозу в Android Studio.
Ryan R

65

Альтернатива: Встановити adb найпростішим способом

Якщо ви не хочете турбуватися про свій шлях чи оновлення adb вручну, замість цього можете скористатися домашньою мовою .

brew cask install android-platform-tools


1
Набагато набагато краще, ніж намагатися пограти з PATH, .bash_profile тощо. Дякую!
smets.kevin

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

FYI, це тепер дає помилку: Помилка: Немає доступної формули з назвою "android-platform-tools". Використання: замість цього заваріть встановити Caskroom / cask / android-platform-tools
Голодний Androider

@ Голодний Андройдер - виправив це
бризмут

Я не пробував цього, але мені цікаво, чи встановити 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

смішно. Я відкрив цей файл ... Цей точний рядок уже був там. Я думаю, затемнення додало, що під час встановлення плагіна?
skoko

Це можливо, хоч я і сам додав своє.
Девід Снабель-Кант

Як повідомляє 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!
rilar

Крім того, він розташований у розділі Користувачі / [користувач] / Android / sdk / platform-tools .... Мені не подобається посилання на папку Applications (можливо, це лише я).
Адам

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. Я використовую змінну для мого шляху SDK для Android і конфігурую у файлі ~/.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

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

так, я це згадував у питанні. Це відображається у відгомоні, баш чомусь просто НЕ МОЖЕ ДИВИТИСЯ.
skoko

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

Так, я переконався, що перезавантажився. Проблема полягала в тому, що у моєму домашньому каталозі є два профілі. A .bash_profile та .profile
skoko

3

Для того, щоб термінал завжди мав файл ~/.bashrcі туди поклали шлях, який ви хочете використовувати, додавши:

export PATH=$PATH:/XXX

де XXX - шлях, який ви хочете використовувати.

для adb, ось що я використовую:

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

(де "user" - моє ім'я користувача).


1

Я додав export PATH=${PATH}:/Users/mishrapranjal/android-sdks/platform-tools/у обох місцях , .bash_profileі .profileщоб переконатися , що він працює. І все-таки це не спрацювало, і тоді я подивився на підказку Сарнольда про перезапуск терміналу, і це спрацювало як шарм. Це врятувало мій час додавання кожного разу в те, PATHколи мені довелося бігати adb. Дякую, хлопці


Замість повторного введення терміналу ви можете скористатися наступною командою для перезавантаження файлу: " .bash_profile "
Тобрун

0

Якщо хтось не може отримати .bash_profileфайл, щоб взяти будь-який новий Шлях І у вас є інші команди у цьому файлі (наприклад, псевдонімові команди), то спробуйте перемістити оператори PATH у верхню частину файлу.

Це єдине, що працювало на мене. Причина цього спрацювала в тому, що у мене були певні помилки в моїх командах псевдонімів, і, мабуть, цей файл видає помилку і виходить, якщо вона стикається з проблемою. Тож тому мої заяви PATH не виконувались. Перемістивши його до вершини, просто дайте їй запуститися першим.


0

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

2-е рішення пояснюється нижче. Але коли я закриваю термінал, то зміна, яку я вніс у змінну шляху, втрачається. Таким чином, я віддаю перевагу першому шляху!

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

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.