在OS X中无法通过终端访问adb,“command not found”。

354

我已在我的Mac系统上安装了Android SDK和Eclipse。我可以使用Eclipse进行编程,并创建了一些示例应用程序。但是我仍然无法通过终端窗口访问adb。我尝试在终端中输入以下命令:

$ pwd
/Users/espireinfolabs/Desktop/soft/android-sdk-mac_x86/platform-tools

$ ls
NOTICE.txt  dexdump     llvm-rs-cc-2
aapt        dx          llvm-rs-cc.txt
adb         lib         source.properties
aidl        llvm-rs-cc

$ adb --help
-bash: adb: command not found

我还添加了ls输出,以便您知道我在哪个窗口。

21个回答

681

问题是:adb不在你的PATH中。这是shell用来查找可执行文件的地方。你可以通过echo $PATH检查当前PATH

Bash首先尝试在你的Path中查找名为adb的二进制文件,而不是当前目录中。因此,如果你当前在platform-tools目录中,只需调用

./adb --help

“.”代表当前目录,这告诉Bash从那里使用adb。但实际上,您应该将platform-tools以及Android SDK附带的一些其他工具添加到您的PATH中。以下是如何操作:

  1. 找出您安装Android SDK的位置。(可以通过Android Studio启动界面中的“配置”>“SDK管理器”进行验证)在以下路径之一(其中$HOME是用户的主目录):

    • Linux: $HOME/Android/Sdk
    • macOS: $HOME/Library/Android/sdk
  2. 查找要编辑的shell配置文件(取决于使用哪个文件),可能是以下文件之一

    • Linux: 通常是$HOME/.bashrc
    • macOS: 通常是$HOME/.bash_profile
    • Zsh: $HOME/.zshrc
  3. 打开第二步中的shell配置文件,在文件底部添加以下几行。请确保替换路径为您安装platform-tools的路径(如果不同):

    export ANDROID_HOME="$HOME/Android/Sdk"
    export PATH="$ANDROID_HOME/tools:$ANDROID_HOME/tools/bin:$ANDROID_HOME/platform-tools:$PATH"
    
  4. 保存配置文件后,重新启动终端或运行source ~/.bashrc(或修改的任何内容)。

请注意,对于某些第三方框架而言,设置ANDROID_HOME是必须的,因此添加它不会有任何损失。


11
在添加了该行后,键入“source .bash_profile”或打开一个新的终端选项卡以立即开始使用它。 请注意,本翻译仅供参考,如有任何歧义,请以原文为准。 - Maragues
5
要在TextEdit中编辑~/.profile文件,只需在终端中输入open ~/.profile - Michael Innes
1
最后,对我有效的是在行末没有/:$PATH - Michael Innes
1
@marciokoko 你需要将路径放在引号中,例如 export PATH="/Applications/Android Studio.app/sdk/platform-tools":$PATH。否则空格将被视为分隔符。 - slhck
15
在较新的Android Studio版本中:"/Users/<user>/Library/Android/sdk/platform-tools",因此应为以下内容:export PATH="/Users/myuser/Library/Android/sdk/platform-tools":$PATH - eb80
显示剩余14条评论

227

对于zsh用户:在.zshrc文件中添加alias adb='/Users/$USER/Library/Android/sdk/platform-tools/adb',然后运行source ~/.zshrc命令。


7
这对我很有用。不要忘记运行 source ~/.zshrc 以使更改生效! - Yogesh Umesh Vaity
2
你可以使用"$USER"代替<yourUserName>,使其更具动态性。 - Daniel Beltrami

141
  1. 在终端中运行命令nano $HOME/.zshrc

  2. 必须包含以下内容:

export PATH=$PATH:~/Library/Android/sdk/platform-tools
export ANDROID_HOME=~/Library/Android/sdk
export PATH="$HOME/.bin:$PATH"
export PATH="~/Library/Android/sdk/platform-tools":$PATH
  • 按下Ctrl+X以保存编辑器中的文件,在输入Yes或No并按Enter键

  • 运行source ~/.zshrc

  • 在终端中检查adb,运行adb


  • 3
    步骤3:在编辑器中按下Control + X保存文件,输入Yes或No并按Enter键。 - Zeeshan Shabbir
    1
    我必须关闭并启动一个新的终端才能使这个工作。 - Anthony Cannon
    在我的 MacOS Monterey 版本 12.2.1 上运行良好。 - Sagar Patel
    终于了,谢谢伙计,在 Big Sur 11.6.4 上运行成功了。 - MusabAlothman
    第一行看起来和第四行做了同样的事情。这有什么意义?不过第三行的目的是什么? - bfrguci
    在我的 MacBook M1 上运行良好。 - CodeWithVikas

    76

    除了slhck的方法外,下面是我在mac上的解决方案。

    检查sdk的位置:

    1. 打开Android Studio,进入:

    File -> Project Structure -> Sdk location

    1. 复制路径。

    2. 在你的home目录下创建隐藏的.bash_profile文件。

    3. (使用vimopen -e打开),然后添加以下内容:

    export PATH=/Users/<Your session name>/Library/Android/sdk/platform-tools:/Users/<Your session name>/Library/Android/sdk/tools:$PATH
    

    1. 然后在终端中输入以下命令:. ~/.bash_profile

    这里有一个关于如何找到adb设备的StackOverflow帖子


    67

    快速回答

    在终端中粘贴以下命令可解决大多数问题:

    ** 当前终端会话:

    • (在 macOS 中) export PATH="~/Library/Android/sdk/platform-tools":$PATH
    • (在 Windows 中) i will update asap

    ** 永久性的:

    • (在 macOS 中)使用vi ~/.bash_profile编辑~/.bash_profile,并添加以下内容:export PATH="~/Library/Android/sdk/platform-tools":$PATH

    如果以上方法不奏效,请继续阅读。


    详细回答

    Android Debug Bridge(即adb),通常位于平台工具中,并随Android SDK一起提供。您只需将其位置添加到系统路径中,以便系统知道它的存在,并在必要时使用。

    查找ADB的位置

    此文件夹的路径因安装方案而异,但常见的路径如下:


    • 如果您已安装Android Studio,ADB的路径为:(最常见)
      • (在 macOS 中) ~/Library/Android/sdk/platform-tools
      • (在 Windows 中) i will update asap

    • 如果您已在其他位置安装Android Studio,请按以下步骤确定其位置:

      • (在 macOS 中) 转到Android Studio > 偏好设置 > 外观和行为 > 系统设置 > Android SDK,并注意显示Android SDK 位置的框。
      • (在 Windows 中) i will update asap

  • 然而,Android SDK也可以在没有安装Android Studio的情况下进行安装。在这种情况下,你的路径可能会有所不同,并且取决于你的安装方式。

  • 将其添加到系统路径中

    确定ADB的位置后,请按照以下语法将其添加到系统中,并在终端中键入:

    • (在macOS中)

      export PATH="你的/ADB/路径/在这里":$PATH

      例如:export PATH="~/Library/Android/sdk/platform-tools":$PATH


    "永久性地" 已经生效。简短的步骤如下:
    1. 打开 ~/.bash_profile 文件
    2. 添加 export PATH="~/Library/Android/sdk/platform-tools":$PATH
    3. 保存并退出 :x
    - Johnny Five
    1
    vi something else use the console editor for opening the file, you can also use open ~/.bash_profile - cutiko
    感谢您提供准确的答案。其他人的回答非常令人困惑。 - Däñish Shärmà

    51

    我不知道你是如何安装Android SDK的。但在Mac OS上,对我真正有用的是使用brew重新安装它。所有问题都一下子解决了。

    brew install --cask android-sdk
    

    后来:

    android update sdk --no-ui --filter 'platform-tools'
    

    犹如魔力般


    2
    对于所有Mac用户来说,这绝对是解决问题的最佳答案,就像在这个帖子中一样-> https://dev59.com/umMm5IYBdhLWcg3wDrtR - Stoycho Andreev
    26
    使用 brew cask install android-platform-tools 也同样有效。 - Gavin
    3
    已经更新为 brew cask install android-sdk - user3340335
    6
    已更新为 brew install --cask android-platform-tools - Lehlohonolo_Isaac
    @Lehlohonolo_Isaac 这个命令是替换了两个命令吗? - eMarine
    @eMarine 不,这只是用于替换第一个命令。 对于第二个命令,您可以使用 brew install --cask android-sdk。查看 https://formulae.brew.sh/cask/android-sdk#default 以获取更多信息。 - Lehlohonolo_Isaac

    50

    enter image description here这是我的操作方法

    首先,我找到了platform-tools,然后我使用的是zshrc而不是bash_profile,所以我先运行了这个命令。

    echo 'export PATH=${PATH}:$HOME/Library/Android/sdk/platform-tools/' >> ~/.zshrc
    

    下一次刷新终端

    source ~/.zshrc
    

    检查它是否起作用

    adb devices
    

    如果命令执行成功,其结果应该与此类似。

    List of devices attached
    emulator-5554   device
    

    非常感谢。如此简单,只需复制/粘贴! - Bob Redity

    43

    如果您已在MAC上安装了Android Studio,则可以按照以下步骤操作:

    nano ~/.zshrc
    
    或者
    open ~/.zshrc in VScode
    

    然后编辑该文件

    # Android ADB
    export ANDROID_HOME="$HOME/Library/Android/sdk"
    export PATH="$ANDROID_HOME/tools:$ANDROID_HOME/tools/bin:$ANDROID_HOME/platform-tools:$PATH"
    

    按下control + X 或保存文件。 重新启动终端并尝试。

    > adb
    

    3
    清洁的解决方案。第一次就奏效了。 - Najam Us Saqib
    1
    也在Mac OS Big Sur上工作过。 - Hardik Desai
    1
    可行的解决方案 - Sulfy
    什么也没做 - htafoya
    @htafoya 你是在使用bash还是zshrc?如果是bash,那么将上面的命令从.zshrc改为.bash_profile。 - Thiago

    36

    对于我来说,在从bash切换到zsh后,我希望通过Hypersnazzy主题让我的控制台看起来很棒。我试图使用react-native run-android运行我的React-Native应用程序时遇到了与op相同的问题。将以下内容添加到我的~.zshrc文件中解决了这个问题:

    export ANDROID_HOME=~/Library/Android/sdk
    export PATH=${PATH}:${ANDROID_HOME}/tools:${ANDROID_HOME}/platform-tools
    

    29

    更新

    正如@Loren.A在评论中提到的,最新版本的brew不支持cast。 因此,可以简单地使用以下命令:

    brew install android-platform-tools


    1. 使用brew安装adb

      brew cask install android-platform-tools

    2. 检查adb是否已安装

      adb devices


    1
    这似乎是最简单的解决方案。当前版本的 brew 不使用 cask,所以对我有效的命令是 brew install android-platform-tools - Loren.A
    1
    @Loren.A 谢谢。已更新答案。 - Freddy
    现在你只需要安装Homebrew,可能还需要升级Python。 - htafoya

    网页内容由stack overflow 提供, 点击上面的
    可以查看英文原文,
    原文链接