找不到adb命令


148

我需要先运行adb forward命令,然后才能使用ezkeyboard应用程序,该应用程序允许用户使用浏览器在电话上键入内容。

当我运行adb forward tcp:8080 tcp:8080命令时,我收到adb command not found错误消息。

我可以android从终端运行命令。为什么adb不工作?



1
@AlexP。此帖子早于您链接的帖子+已解决...
d0n.key

Answers:


93

确保adb在用户的$ PATH变量中。

要么

您可以尝试使用找到whereis并运行它./adb


4
./adb仅在当前目录(即。的简写)是adb程序的位置时才起作用。否则,它将是/ some / path / found / by / wheris / adb
克里斯·斯特拉顿

是的,我知道:-)那就是我找到它并从那里运行的意思
kevoroid

导出到您的〜/ bashrc中的$ Path
Aadishri

10
可以尝试〜/ Library / Android / sdk / platform-tools / adb
Pnar Sbi Wer 18'Apr 5'at

227

以我的Android Studio 1.1.0为例,这是

/Users/wzbozon/Library/Android/sdk/platform-tools

将以下内容添加到 ~/.bash_profile

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

18
我还需要运行source ~/.bash_profile以使其工作
潘·范·林

1
@Gowtham Sooryaraj这些路径是工具所在的位置。将它们添加到env的PATH变量中即可访问工具(此处为adb),而无需提供其位置的完整路径(〜/ Library / Android / sdk / platform-tools / adb)。在终端中键入adb时,它会在env PATH变量的所有路径中寻找相似的工具。希望对您
有所

81

是否安装了adb?要检查,请在终端中运行以下命令:

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

如果可以打印输出,请跳过以下安装步骤,直接进入列出的最终“终端命令”:

  1. 启动Android Studio
  2. 通过工具-> Android-> SDK Manager启动SDK Manager
  3. 检查Android SDK平台工具

在Mac上运行以下命令,然后重新启动终端会话:

echo export "PATH=~/Library/Android/sdk/platform-tools:$PATH" >> ~/.bash_profile

注意:如果您已切换到zsh,则上述命令应使用.zshenv而不是.bash_profile


2
多谢兄弟。好答案
加格·巴格达萨里安

好答案!拯救了我的一天!
Ninad Kambli

这也为我做到了。我在使用Fastlane的屏幕抓握时碰到了它。谢谢!
mokagio

1
非常感谢你!对于zsh,您使用.zshenv的答案对我有用,而其他答案表明.zshrc却没有。
Andrey Aleev

78

我正在使用Mac 10.11.1和android studio 1.5,我有我的adb“ / Users / user-name / Library / Android / sdk / platform-tools”

现在编辑您的bash_profile

emacs ~/.bash_profile

将此行添加到您的bash_profile中,并将用户名替换为您的用户名

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

保存并关闭。运行此命令以重新加载您的bash_profile

source ~/.bash_profile

66

从文件android-sdks / tools / adb_has_moved.txt中:

adb工具已移至platform-tools /

如果您在SDK中看不到此目录,请启动SDK和AVD Manager(执行android工具)并安装“ Android SDK Platform-tools”

还请更新您的PATH环境变量,使其包含platform-tools /目录,以便您可以从任何位置执行adb。

因此在UNIX上执行以下操作:

export PATH=$PATH:~/android-sdks/platform-tools


所选答案应对此进行编辑/完成,因为adb已移动了很长时间并且adb_has_moved.txt不再存在
Serty Oan 2015年

27

这是最简单的方法,它将提供自动更新。

  1. 安装自制软件

    ruby -e "$(curl -fsSL 
    https://raw.githubusercontent.com/Homebrew/install/master/install)"
  2. 安装adb

    brew cask install android-platform-tools
  3. 开始使用adb

    adb devices

11

在终端中输入以下命令:

纳米.bash_profile

并添加以下行(将USERNAME替换为您自己的用户名)。

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

关闭文本编辑器,然后在下面输入命令:

源.bash_profile


9

Mac用户只需/Users/(USERNAME)/.bash_profile在编辑器中打开此文件。
并添加此行以添加路径。

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

如果通过studio安装adb,则这是默认路径。并且不要忘记在此行中更改用户名。


4
export PATH =“〜/ Library / Android / sdk / platform-tools”:$ PATH应该执行此操作,无需更改任何内容
yuzuriha

6

在Mac(OS X 10.8.5)上,我在这里有adb:

~/Library/android-sdk-mac_86/platform-tools

因此,请$PATH.bash_profile和中进行编辑source


最近,这是~/Library/android/sdk/platform-tools/在macOS上。
Jk Jensen

6

如果您不想编辑PATH变量,请转到platform-tools目录SDK安装,然后找到命令。

您可以像这样使用它:

  1. 转到放置目录SDK

    cd /Users/mansour/Library/Developer/Android/sdk/platform-tools

  2. 键入adb命令,./以从当前目录使用它。

    ./adb tcpip 5555

    ./adb devices

    ./adb connect 192.168.XXX.XXX


5

+原因是:您位于错误的目录中(意味着它不包含adb执行程序)。

+解决方案是(逐步):

1)找到adb的安装位置。取决于您使用的操作系统。

Mac,可能在:“ ~/Library/Android/sdk/platform-tools

要么

窗口,可能在:“ %USERPROFILE%\AppData\Local\Android\sdk\platform-tools\”中。

但是,如果您忘记了这么长的目录,可以通过命令“ find” 快速找到它。在终端机/命令行中尝试此操作,find / -name "platform-tools" 2> /dev/null ”中(注意:我尚未在Window中进行测试,但是可以肯定它在Mac上可以使用)。

*说明find命令,

  • 请注意,“ /”字符前的空格->仅在用户目录中找到,而不是在所有计算机上。
  • 2> /dev/null”->忽略未经许可拒绝的查找结果。尝试没有此代码的代码,您将理解我的意思。

2)转到我们安装adb的位置。许多人提到了3种方法:

  • 通过以下方法更改PATH全局参数(我不推荐):“ export PATH=~/Library/Android/sdk/platform-tools”,这是您从上方获得的目录。请注意,此命令不会显示任何结果,如果要确保成功更改PATH,请调用“ export | grep PATH”以查看PATH是什么。

  • 添加更多定义为PATH全球参数(我建议)是:“ export PATH=~/Library/Android/sdk/platform-tools:$PATH”或“ export PATH=$PATH:~/Library/Android/sdk/platform-tools

  • 转到我们上面通过“ cd ~/Library/Android/sdk/platform-tools” 找到的路径

3)使用adb:

  • 如果您更改或更新PATH,则只需调用任何adb函数,因为您已将PATH添加为全局参数。(例如:“ adb devices”)

  • 如果通过cd命令转到PATH ,请使用前缀“ ./”(例如:“ ./ adb devices”)调用adb函数


4

就我而言,我在platform-tools目录中,但使用命令的方式错误:

adb install

而不是正确的方法:

./adb install

您不需要位于platform-tools目录中。这意味着您的PATH设置不正确,因此最好遵循此处的其他答案之一。
Mike Collins

2

为了避免重写$ PATH变量每次启动终端,编辑你的时间的.bash_profile(适用于苹果,它只是.profile文件的文件你的主目录下)(〜/)),然后将export语句放在文件中的某个位置。

现在,每次启动终端时,$ PATH变量都将正确更新。要在修改概要文件后立即更新终端环境,请输入:

source ~/.profile 

您应该在此答案中添加适当的导出语句。
Mike Collins

2
nano /home/user/.bashrc  
export ANDROID_HOME=/psth/to/android/sdk  
export PATH=$PATH:$ANDROID_HOME/tools:$ANDROID_HOME/platform-tools  

但是,这不适用于su / sudo。如果需要设置系统范围的变量,则可能需要考虑将其添加到/etc/profile、/etc/bash.bashrc或/ etc / environment中。

即:

nano /etc/bash.bashrc  
export ANDROID_HOME=/psth/to/android/sdk  
export PATH=$PATH:$ANDROID_HOME/tools:$ANDROID_HOME/platform-tools  

2

就我而言,我在终端中添加了以下行:

导出PATH =“ / Users / Username / Library / Android / sdk / platform-tools”:$ PATH

请确保将“用户名”替换为您的用户名。

按Enter,然后键入“ adb”以查看错误是否消失。如果是,这是应该看到的内容:Android Debug Bridge版本1.0.40

...紧接着是一堆命令..并以此结尾:$ ADB_TRACE以逗号分隔的调试信息列表,用于记录日志:all,adb,sockets,packets,rwx,usb,sync,sysdeps,transport,jdwp $ ADB_VENDOR_KEYS冒号-分隔的键列表(文件或目录)$ ANDROID_SERIAL要连接到的序列号(请参阅-s)$ ANDROID_LOG_TAGS由logcat使用的标签(请参阅logcat --help)

如果您明白了,请再次运行npm run android,它应该可以工作。



1

无法找到亚行#已解决只需下载Sdk平台工具。https://developer.android.com/studio/releases/platform-tools.html 提取下载的文件。转到Android Studio中的Sdk管理器,然后复制链接。转到文件资源管理器,然后粘贴复制的Sdk的路径以查看Sdk文件。您会注意到Adb文件丢失,打开下载的文件(平台工具)复制内容,并替换Sdk工具文件(您注意到adb丢失的文件)中的所有内容并保存。你已准备好出发。


1

您必须将adb命令移至/ bin /文件夹

就我而言:

sudo su
mv /root/Android/Sdk/platform-tools/adb /bin/

0

就我而言,这就是解决这个问题的方法

  1. 确保您已安装android SDK。通常,SDK的位置位于此位置

    /用户/您的用户/库/ Android / SDK

  2. 之后,将cd转到该目录。

  3. 进入该目录后,键入以下命令 ./platform-tools/adb安装your-location-of apk


0

如果android-sdk-macosx/platform-tools/您的文件夹中没有adb,则应首先安​​装平台工具。通过Android SDK管理器运行android-sdk-macosx/tools/android安装平台工具

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.