«Adb» не распознается как команда

В моем новом MacBook я установил последнюю версию Android Studio. Затем в терминале я создал файл .bash_profile и добавил следующие строки в файл:

export ANDROID_HOME=~/Library/Android/sdk export ANDROID_TOOLS=$ANDROID_HOME/tools export PATH=$PATH:$ANDROID_HOME/platform_tools export PATH=$PATH:$ANDROID_TOOLS 

После этого я запускаю source .bash_profile , затем я adb команду adb , но получаю ошибку, что adb не распознается как команда. Зачем? Я также echo $PATH , я видел, что каталог platform_tools Android sdk есть и есть файл adb в этом каталоге.

====== UPDATE =====

Интересно, если я буду следовать, он работает:

 export PATH=$PATH:/Users/myname/Library/Android/sdk/platform-tools export PATH=$PATH:/Users/myname/Library/Android/sdk/tools export ANDROID_HOME=/Users/myname/Library/Android/sdk 

ЗАЧЕМ? Разве не ~ выше идентично /Users/myname ? Почему мой оригинальный скрипт не работает, но работает выше? Я не понимаю … Пожалуйста, кто-нибудь мне объяснит.

В зависимости от оболочки определения export переменных могут обрабатываться иначе, чем обычные назначения – в частности, расширение тильды может вообще не происходить.

Если это так, то любая неразрешенная тильда в переменной остается нерешенной, даже если эта переменная расширяется где-то в другом месте. Согласно документам :

Порядок расширений: расширение скобки; Расширение тильды, расширение параметра и переменной , <…>

Возможно, вы захотите попробовать следующее:

 ANDROID_HOME=~/Library/Android/sdk export ANDROID_HOME export ANDROID_TOOLS=$ANDROID_HOME/tools export PATH=$PATH:$ANDROID_HOME/platform_tools export PATH=$PATH:$ANDROID_TOOLS 

Если это не поможет, вы также можете попробовать $HOME :

 ANDROID_HOME=$HOME/Library/Android/sdk export ANDROID_HOME 

Это довольно фундаментальный материал:
В текущем каталоге (./) выполните команду «adb»
./adb (вы говорите, что это работает).
Вам нужно adb (выполнить команду adb, найденную из переменной PATH), если команда adb может быть найдена после поиска во всех путях в переменной PATH , выполните команду adb, где она найдена.
Общим предшественником в записи пути является «.». (Текущий каталог), но он обескуражен из-за нарушения имени исполняемого файла (то же имя в случайном каталоге).
Различные пути разделяются переменной разделения пути (в окнах это точка с запятой), «UNIX обычно двоеточие»: «ТАКЖЕ MAC» . Ваш многократный экспорт SEEM должен быть написан друг над другом, сделайте это один раз с соответствующим разделителем «:» и все ваши пути в одном (или ВСЕГДА включите $ PATH: чтобы сохранить весь предыдущий экспорт).
Это должно быть в ../somewhere../sdk/platform-tools/adb
(Где когда-либо хранится ваш SDK) export PATH = $ PATH: / Users / myname / Library / Android / sdk / platform-tools выглядит нормально (будьте осторожны, чтобы не перегружать его [erase]).
После повторной загрузки все пути должны выполняться.
NB
В UNIX у нас есть команда «adb», которая сообщает нам, где находится исполняемый файл. В Windows с такими инструментами, как cygwin, мы также можем сделать то же самое.
Я считаю, что Mac имеет Homebrew.

В вашем примере все строки работают нормально (но обратите особое внимание на имя папки platform_tools ):

 export ANDROID_HOME=~/Library/Android/sdk export ANDROID_TOOLS=$ANDROID_HOME/tools export PATH=$PATH:$ANDROID_HOME/platform_tools:$ANDROID_TOOLS source .bash_profile adb 

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

Поэтому у вас есть ошибка:

 platform_tools 

вместо:

 platform-tools 

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

Кроме того, вы можете попробовать это решение, оно отлично работает:

 # print two export commands to your ~/.bash_profile echo "export ANDROID_HOME=/Users/swift/Library/Android/sdk" >> ~/.bash_profile echo "export PATH=${PATH}:$ANDROID_HOME/tools:$ANDROID_HOME/platform-tools" >> ~/.bash_profile # Refresh bash profile (or restart Terminal.app) source ~/.bash_profile # Start using your adb command adb --version adb devices