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


227

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

Answers:


527

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

Bash首先会尝试adb在您的Path(而不是当前目录)中查找一个名为的二进制文件。因此,如果您当前在platform-tools目录中,只需致电

./adb --help

点是您当前的目录,它告诉Bash adb从那里使用。

但实际上,你应该添加platform-tools到您的PATH,以及一些其他的工具,在Android SDK自带。这是您的操作方式:

  1. 找出您在何处安装了Android SDK。这可能是以下位置之一$HOME(您的用户的主目录在哪里)(或通过Android Studio启动屏幕中的配置> SDK管理器进行验证):

    • Linux: $HOME/Android/Sdk
    • 苹果系统: $HOME/Library/Android/sdk
  2. 根据要使用的文件,找出要编辑的shell配置文件

    • Linux:通常 $HOME/.bashrc
    • macOS:通常 $HOME/.bash_profile
    • 使用Zsh: $HOME/.zshrc
  3. 从第二步中打开外壳配置文件,然后在文件底部添加以下行。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某些第三方框架需要该设置,因此添加它不会有任何伤害。


8
键入“ source .bash_profile”或添加该行以立即开始使用后,打开一个新的终端选项卡
Maragues 2013年

3
~/.profile在TextEdit中编辑文件,只需open ~/.profile在Terminal中输入。
Eptin

我听说“如果同时拥有.profile和.bash_profile文件,则仅执行后者。” 我可以想象该路径需要插入~/.bash_profile而不是~/.profile
Eptin

最后,对我有用/:$PATH的是该行末没有。
Eptin

8
在最新的Android Studio版本中:“ / Users / <用户> / Library / Android / sdk / platform-tools”,因此它将是以下内容:export PATH =“ / Users / myuser / Library / Android / sdk / platform-tools “:$ PATH
eb80 2015年

63

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

检查您的SDK的位置。

  1. 打开Android Studio,然后转到:

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

  1. 复制路径。

  2. .bash_profile在您的家中创建隐藏物品。

  3. (通过vim或打开open -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设备的文章


57

快速回答

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

**对于当前的终端会话:

  • (在macOS中) export PATH =“〜/ Library / Android / sdk / platform-tools”:$ PATH
  • (在Windows中) 我将尽快更新

** 永久性:

  • (在macOS中)编辑~/.bash_profileusing vi ~/.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>首选项>外观和行为>系统设置> Android SDK,并注意显示以下内容的框:Android SDK位置
    • (在Windows中) 我将尽快更新

  • 但是,可以在没有Android studio的情况下安装Android SDK,在这种情况下,您的路径可能会有所不同,并取决于您的安装。

将其添加到系统路径

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

  • (在macOS中)

    导出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
约翰尼

1
vi something else使用控制台编辑器打开文件,您也可以使用open ~/.bash_profile
cutiko

43

对于zsh用户。添加alias adb='/Users/<yourUserName>/Library/Android/sdk/platform-tools/adb'.zshrc文件。

比运行source ~/.zshrc命令


3
这对我有用。不要忘记source ~/.zshrc使更改生效!
Yogesh Umesh Vaity

38

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

brew cask install android-sdk

稍后的:

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

像一个魅力


2
对于所有Mac用户而言,这绝对是解决该问题的最佳方法,就像在该线程中一样-> stackoverflow.com/questions/17901692/set-up-adb-on-mac-os-x
Stoycho Andreev

1
像魅力一样工作!
Gandharva Bettadpur

21
使用brew cask install android-platform-tools作品也一样
加文

2
它已更新为brew cask install android-sdk github.com/NativeScript/nativescript-cli/issues/2706
Jai Sharma,

20

对我来说,从bash切换到zsh后我遇到了这个问题,因此我可以让我的游戏机看起来像Hyper一样具有超棒的幻想效果和时髦的主题。我试图使用react-native run-android并运行op问题来运行我的react-native应用程序。在我的~.zshrc文件中添加以下内容为我解决了这个问题:

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

17
  1. 只需使用brew安装adb

    brew cask install android-platform-tools

  2. 检查是否安装了adb

    adb devices


10

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

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

vim ~/.zshrc

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

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

纳米〜/ .zshrc export PATH =“ / Users / {$ USER} / Library / Android / sdk / platform-tools”:$ PATH
Guy West

1

或者替代解决方案可能是

  1. 确保您已经安装了android SDK。通常它位于/ Users /您的用户名/ Library / Android / sdk下
  2. 如果有SDK,则运行此命令。./platform-tools/adb安装your-apk位置

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


谢谢。它有效,但是我必须在第二步的路径中添加sdk目录:./Library/Android/sdk/platform-tools/adb install〜/ Downloads / apk-release.apk
Deniz,

0

出于某种原因,当安装Android Studio 3.6.1adb文件竟是$ANDROID_HOME/platform-tools/platform-tools。不知道这是我安装的错误还是什么,但这已为我修复了。


0

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

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


0

对于Mac OS Catalina或Mojave

输入命令以打开Nano编辑器

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键。


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.