尝试将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”
Ben H

Answers:


42

您为什么要运行“ ./adb”?这将完全跳过path变量,仅在当前目录中查找“ 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 2011年

亚行应该位于哪里?检查它是否存在并且具有执行权限(cd到目录并执行ls -l adb)。
LaC 2011年

1
如果我转到目录,则可以运行它。这是输出。-rwxrwxrwx 1 simon staff 179312 Feb 02:48 adb
skoko 2011年

1
感谢您的回答。原来.profile和.bash_profile都在那儿。我有.profile和是的值。现在可以了。非常感谢。
skoko 2011年

1
现在工作,我只有两个配置文件。一个写了另一个。如果有人这样做,请使用.bash_profile编辑路径变量。我遵循了另一个使用.profile的教程
skoko,2011年

298

每次登录时添加到PATH

总控制版本

在您的终端中,导航到主目录

光盘

创建文件.bash_profile

触摸.bash_profile

用TextEdit打开文件

打开-e .bash_profile

将行插入TextEdit

导出PATH = $ PATH:/ Users / 用户名 / Library / Android / sdk / platform-tools /

保存文件并重新加载文件

来源〜/ .bash_profile

检查是否将adb设置为路径

亚行版本


一个班轮版本

回显您的导出命令,并重定向输出以附加到.bash_profile文件并重新启动终端。(尚未验证,但应该可以)

回声“出口PATH = $ PATH:/用户/ 用户名 /库/ Android / SDK /平台工具/ SDK /平台工具/” >>〜/ .bash_profile


2
上面的倒数第二个步骤是“重新启动终端” :)
Brijesh Thakur 2014年

14
不需要重新启动终端,重新加载文件就足够了
Tobrun 2014年

更新:可能不适用于您,因为您使用的是多个标签。终端上的每个选项卡都有自己的会话。因此,请在“ adb版本”命令的标签中重新加载.bash_profile。
Tobrun 2014年

2
可以使用export PATH = $ PATH:$ HOME / Library / Android / sdk / platform-tools /,只需复制粘贴即可,无需更改用户名
Mohit

1
sdk/platform-tools/在最后删除了该位,因为这在Android Studio中给了我bash警告。
Ryan R

64

替代方法:轻松安装adb

如果您不想担心路径或手动更新adb,则可以改用自制软件

brew cask install android-platform-tools


1
好多了,然后尝试摆弄PATH,.bash_profile等更好。谢谢!
smets.kevin

烨C [_]〜ᒡ◯ᵔ◯ᒢ
亚当门多萨

仅供参考,现在会出现错误:错误:名称为“ android-platform-tools”的公式无效。使用:而是安装brew安装Caskroom / cask / android-platform-tools
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 2011年

有可能,尽管我自己添加了我的。
David Snabel-Caunt


我认为这就是问题所在。另一个应用程序(我认为是MacPorts)创建了.profile
skoko

1
添加到PATH后,不要忘记重启终端。
亚当·约翰斯

13

只是为了确保有人在使用Android Studio时找到此SO帖子,其中包括SDK包含App包的一部分(在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 2014年

另外,它位于Users / [user] / 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

源〜/ .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 2011年

@ user569594:您在编辑后是否重新启动了shell .profile?(即,如果您echo $PATH之前adb有看到新的目录吗?)
sarnold 2011年

是的,我在问题中提到了这一点。它显示在回声中,由于某种原因,bash无法看到它。
skoko 2011年

@ user569594:抱歉,不得不问,我已经看到人们编辑他们的shell启动脚本,通过启动一个新的shell测试他们的更改,而忘记重新启动他们当前的shell并想知道它在哪里失败... :)
sarnold 2011年

是的,我确保重新启动。问题在于我的主目录中有两个配置文件。.bash_profile和.profile
skoko 2011年

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并确保它可以工作。仍然没有用,然后我看了sarnold关于重启终端的提示,它的工作原理吸引人。它节省了我将每次添加到PATH我必须运行的时间中的时间adb。感谢你们。


无需重新启动终端,您可以使用以下命令重新加载文件:“ .bash_profile
Tobrun

0

如果任何人似乎都无法到达该.bash_profile文件以使用任何新路径并且该文件中还有其他命令(如别名命令),则尝试将PATH语句移动到文件顶部。

那是唯一对我有用的东西。它起作用的原因是因为我的别名命令中有一些拼写错误,并且显然该文件引发了错误,如果遇到问题就会退出。这就是为什么我的PATH语句没有运行的原因。将其移到顶部只是让它先运行。


0

在此处输入图片说明

下面说明第二解决方案。但是当我关闭终端时,我在path变量中所做的更改丢失了。因此,我更喜欢第一种方式!

在此处输入图片说明

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.