无法通过终端访问 OS X 中的 adb,“找不到命令”

Posted

技术标签:

【中文标题】无法通过终端访问 OS X 中的 adb,“找不到命令”【英文标题】:Not able to access adb in OS X through Terminal, "command not found" 【发布时间】:2011-11-28 09:14:45 【问题描述】:

我已经在我的 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 输出,以便您知道我在哪个窗口中。

【问题讨论】:

【参考方案1】:

问题是:adb 不在您的PATH 中。 这是 shell 查找可执行文件的地方。您可以使用echo $PATH 查看您当前的PATH

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

./adb --help

点是你的当前目录,这告诉 Bash 从那里使用adb

但实际上,您应该将platform-tools 添加到您的PATH,以及Android SDK 附带的一些其他工具。这就是你的做法:

    找出您安装 Android SDK 的位置。这可能是(其中$HOME 是您用户的主目录)以下之一(或通过 Android Studio 启动屏幕中的 Configure > SDK Manager 进行验证):

    Linux:$HOME/Android/Sdk macOS:$HOME/Library/Android/sdk

    找出要编辑的 shell 配置文件,depending on which file is used:

    Linux:通常是$HOME/.bashrc macOS:通常是$HOME/.bash_profile 使用 Zsh:$HOME/.zshrc

    打开第二步中的 shell 配置文件,并在文件底部添加以下行。如果路径不同,请确保将路径替换为您安装 platform-tools 的路径:

    export ANDROID_HOME="$HOME/Android/Sdk"
    export PATH="$ANDROID_HOME/tools:$ANDROID_HOME/tools/bin:$ANDROID_HOME/platform-tools:$PATH"
    

    保存配置文件,然后重新启动终端或运行source ~/.bashrc(或您刚刚修改的任何内容)。

请注意,某些第三方框架需要设置ANDROID_HOME,因此添加它并没有什么坏处。

【讨论】:

键入“source .bash_profile”或在添加该行后打开一个新的终端选项卡以立即开始使用它 要在 TextEdit 中编辑 ~/.profile 文件,只需在终端中输入 open ~/.profile 最后,对我有用的是在行尾没有/:$PATH @marciokoko 您需要将路径放在引号中,例如export PATH="/Applications/Android Studio.app/sdk/platform-tools":$PATH。否则,空格将被视为分隔符。 在最近的 Android Studio 版本中:“/Users//Library/Android/sdk/platform-tools”,所以它将如下:export PATH="/Users/myuser/Library /Android/sdk/platform-tools":$PATH【参考方案2】:

除了 slhck,这对我有用(mac)。

检查您的 sdk 所在的位置。

    打开 Android Studio 并转到:

文件 -> 项目结构 -> Sdk 位置

    复制路径。

    在您的家中创建隐藏的.bash_profile

    (使用vimopen -e 打开它)使用以下内容:

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

    然后在您的终端中简单地使用它:. ~/.bash_profile

SO post on how to find adb devices

【讨论】:

【参考方案3】:

我不知道您是如何安装 android SDK 的。但在 Mac OS 中,真正对我有用的是使用 brew 重新安装它。连续解决所有问题。

brew install --cask android-sdk

稍后:

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

像一个魅力

【讨论】:

对于所有 mac 用户来说,这绝对是问题的最佳答案,就像在这个线程中一样 -> ***.com/questions/17901692/set-up-adb-on-mac-os-x 使用brew cask install android-platform-tools 也可以 已更新为brew cask install android-sdk 来源:github.com/NativeScript/nativescript-cli/issues/2706 已更新为brew install --cask android-platform-tools @Lehlohonolo_Isaac 这个命令是否替换了这两个命令?【参考方案4】:

一切正常。

brew install android-sdk

稍后:

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

【讨论】:

你不觉得我的回答有点相似吗? 我想不通,因为你从来没有提到“像个魅力”【参考方案5】:

对于zsh 用户。将alias adb='/Users/&lt;yourUserName&gt;/Library/Android/sdk/platform-tools/adb' 添加到.zshrc 文件中。

比运行source ~/.zshrc 命令

【讨论】:

这对我有用。不要忘记source ~/.zshrc 以使更改生效!【参考方案6】:

快速解答

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

** 对于当前终端会话:

(在 macOS 中) export PATH="~/Library/Android/sdk/platform-tools":$PATH (在 Windows 中) 我会尽快更新

** 永久:

(在 macOS 中) 使用 vi ~/.bash_profile 编辑 ~/.bash_profile 并将此行添加到其中:export PATH="~/Library/Android/sdk/platform-tools":$PATH

但是,如果没有,请继续阅读。


详细解答

Android Debug Bridge,简称​​adb,通常位于Platform Tools中,自带 Android SDK,您只需将其位置添加到系统路径即可。所以系统知道它,并且可以在必要时使用它。

查找亚行的位置

此文件夹的路径因安装情况而异,但常见的有:


如果您已安装 Android Studio,ADB 的路径将是:(最常见) (在 macOS 中) ~/Library/Android/sdk/platform-tools (在 Windows 中) 我会尽快更新

如果您在其他地方安装了 Android Studio,请转到以下位置确定其位置:

(在 macOS 中) Android Studio > Preferences > Appearance And Behavior > System Settings > Android SDK 并注意以下框:Android SDK Location (在 Windows 中) 我会尽快更新
但是,可以在没有 Android Studio 的情况下安装 Android SDK,在这种情况下,您的路径可能不同,并且取决于您的安装。

将其添加到系统路径

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

(在 macOS 中)

export PATH="your/path/to/adb/here":$PATH

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

【讨论】:

“永久”有效。长话短说:1. vi ~/.bash_profile 2. export PATH="~/Library/Android/sdk/platform-tools":$PATH 3. :x vi something else使用控制台编辑器打开文件,也可以使用open ~/.bash_profile 感谢您的准确回答。其他人的答案非常混乱。【参考方案7】:

对我来说,我在从 bash 切换到 zsh 后遇到了这个问题,所以我可以让我的控制台看起来非常棒,带有 Hyper 和 snazzy 主题。我试图使用 react-native run-android 运行我的 react-native 应用程序并遇到操作的问题。将以下内容添加到我的 ~.zshrc 文件中解决了我的问题:

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

【讨论】:

【参考方案8】:

如果您在 OS X 上使用 zsh,则必须编辑 zshrc 文件。

使用 vim 或您喜欢的文本编辑器打开 zshrc 文件:

vim ~/.zshrc

adb的路径粘贴到此文件中:

export PATH="/Users/$USER/Library/Android/sdk/platform-tools":$PATH

【讨论】:

nano ~/.zshrc export PATH="/Users/$USER/Library/Android/sdk/platform-tools":$PATH【参考方案9】:

    只需用 brew 安装 adb

    brew cask install android-platform-tools

    检查是否安装了adb

    adb devices

【讨论】:

【参考方案10】:

或者替代解决方案可以是

    确保您已经安装了 android SDK。通常它位于 /Users/your-user-name/Library/Android/sdk

    如果有 SDK,则运行此命令。 ./platform-tools/adb install your-apk-location

    从那里您可以生成 APK 文件 这是唯一检查 adb 是否存在的示例 命令在那里

【讨论】:

谢谢。它有效,但我必须在第二步的路径中添加 sdk 目录:./Library/Android/sdk/platform-tools/adb install ~/Downloads/apk-release.apk【参考方案11】:

由于某种原因,在安装 Android Studio 3.6.1 时,adb 文件实际上位于 $ANDROID_HOME/platform-tools/platform-tools 中。不确定这是我的安装错误还是什么,但这为我修复了它。

【讨论】:

【参考方案12】:

对于 Mac、Android Studio 3.6.1,我将此添加到 .bash_profile

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

【讨论】:

【参考方案13】:

适用于 Mac OS Catalina 或 Mojave

输入命令打开纳米编辑器

nano $HOME/.zshrc

设置 PATH 变量,意味着添加更多路径,如下所示

FLUTTER_HOME="/Users/pankaj/Library/Android/flutter-sdk/flutter/bin"
DART_HOME="/Users/pankaj/Library/Android/flutter-sdk/flutter/bin/cache/dart-sdk/bin"
ANDROID_SDK_HOME="/Users/pankaj/Library/Android/sdk"
ANDROID_ADB_HOME="/Users/pankaj/Library/Android/sdk/platform-tools"

PATH="$PATH:$FLUTTER_HOME"
PATH="$PATH:$DART_HOME"
PATH="$PATH:$ANDROID_SDK_HOME"
PATH="$PATH:$ANDROID_ADB_HOME"

现在按 Command + X 在编辑器中保存文件,输入 Yes 或 No 然后按 Enter 键。

【讨论】:

这是一个很好的答案 很好的答案。在为什么“.zshrc”或“.zprofile”有效的背后添加更多的上下文会很棒。 ***.com/questions/56784894/…【参考方案14】:

对于 Mac Os,从 Mojave 和更高版本开始,默认 shell 已从“bash”转移到“zsh”,因此对于所有 Mac 用户,我建议使用创建“.zshrc”文件。 “adb”按预期运行。感谢@slhck 提供您的信息。!

【讨论】:

【参考方案15】:

我无法让这条愚蠢的路径正常工作,所以我为 abd 创建了一个别名

alias abd ="~/Library/Android/sdk/platform-tools/adb"

工作正常。

【讨论】:

【参考方案16】:

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

    必须包括下一行:

    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 按 Control + X 在编辑器中保存文件,输入 Yes 或 No 然后按 Enter 键 我必须关闭并启动一个新终端才能正常工作【参考方案17】:

这在我的 MAC - 2020 上对我有用

转到包含 adb 的目录:

cd ~/Library/Android/sdk/platform-tools/

运行 adb 命令列出所有服务

./adb shell dumpsys activity services

【讨论】:

【参考方案18】:

这对我来说是这样的

首先我找到了我的平台工具,而不是使用 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

【讨论】:

【参考方案19】:

如果您使用的是带有 M1 芯片的 Mac,请使用 nano 命令将以下导出命令添加到 zshrc 文件中,如果该文件不存在,nano 命令将为您创建它,因此请运行

nano ~/.zshrc

将此路径粘贴到该文件中而不进行任何修改

export PATH="/Users/$USER/Library/Android/sdk/platform-tools":$PATH

点击 ctrl-x 然后点击 y 保存更改,点击返回键关闭它而不重命名文件。

然后运行

source ~/.zshrc

刷新 .zshrc 文件

然后尝试运行

adb

它应该给你想要的输出

【讨论】:

【参考方案20】:

按照以下步骤操作

使用 open -e .bash_profile 打开 bash_profile 写 export PATH="$ANDROID_HOME/tools:$ANDROID_HOME/tools/bin:$ANDROID_HOME/platform-tools:$PATH" 关闭 bash_profile 文件 运行source .bash_profile 现在运行您的 adb 命令!!

在某些情况下,您可能需要在每次打开 cmd 运行 adb 命令时运行 source .bash_profile

【讨论】:

【参考方案21】:

如果你已经在 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

【讨论】:

清洁解决方案。第一次工作。 也在 mac os big sur 上工作过

以上是关于无法通过终端访问 OS X 中的 adb,“找不到命令”的主要内容,如果未能解决你的问题,请参考以下文章

我无法通过终端访问 mac os x 上的 mysql

在 OS X 的 Qt5.5 中找不到 qmake

即使在运行配置中指定,Eclipse 也无法找到 adb

实践 | adb 找不到了

Mac OS终端找不到命令

adb:在 Git Bash 中找不到命令