【问题标题】:'No command 'adb' found' error on Ubuntu [duplicate]Ubuntu上的“找不到命令'adb'”错误[重复]
【发布时间】:2013-12-30 05:04:12
【问题描述】:

我刚买了一台全新的 Ubuntu 机器,我正在尝试设置 Android SDK。我对 Unix 很陌生,所以如果我犯了一个愚蠢的错误,请原谅我。

我按照here 的说明进行操作,一直到添加“规则”文件。现在,如果我在终端中尝试adb devices,它会给我“No command 'adb' found”错误,并询问我是否犯了拼写错误。

@USER:~/android-sdk-linux/platform-tools$ ls
NOTICE.txt  adb  api  fastboot  source.properties  systrace
@USER:~/android-sdk-linux/platform-tools$ adb devices
No command 'adb' found, did you mean:
 Command 'cdb' from package 'tinycdb' (main)
 Command 'gdb' from package 'gdb' (main)
 Command 'dab' from package 'bsdgames' (universe)
 Command 'zdb' from package 'zfs-fuse' (universe)
 Command 'kdb' from package 'elektra-bin' (universe)
 Command 'tdb' from package 'tads2-dev' (multiverse)
 Command 'pdb' from package 'python' (main)
 Command 'jdb' from package 'openjdk-6-jdk' (main)
 Command 'jdb' from package 'openjdk-7-jdk' (universe)
 Command 'ab' from package 'apache2-utils' (main)
 Command 'ad' from package 'netatalk' (universe)
adb: command not found

我搜索了a couple of questions on StackOverflow,有人建议我使用apt-get install ia32-libs 命令来获取一些 32 位库。但是,我使用的是 64 位机器,所以不确定是否应该这样做。

我注意到的另一个奇怪问题是,即使我导航到 platform-tools 文件夹并执行 adb devices 命令,我也会收到相同的错误。因此,我可能在这里遗漏了其他内容,而不是错误地设置了 PATH 条目。

我尝试了download page 中的 ADB BUNDLE(.zip 文件)和 SDK 工具(.tgz 文件)并完成了上述所有步骤,但出现了同样的错误。

我使用的是 Ubuntu 12.04 LTS。

【问题讨论】:

  • 当前目录不在你的$PATH中。
  • echo $PATH 给了我这个:/usr/lib/lightdm/lightdm:/usr/local/bin:/usr/bin:/bin ---> 那么如果当前目录不在我的 PATH 中。如果我直接进入该目录/文件夹,“adb”命令应该可以工作,不是吗?
  • 当你启动这样的命令时,shell 只会在$PATH 中查找它。当前目录也被查看并不是隐含的。如果您想要这种行为,您还需要将当前目录 (.) 添加到 $PATH
  • 如果您不想与$PATH 混淆,另一种选择是将其限定为:shell$ ./adb <args>
  • 对 cd 到平台工具文件夹的建议来自熟悉 windows 的人。大多数理智的 shell(甚至是 Windows 上的 bash)在路径中都没有当前目录,这样人们就不会意外地运行他们不想要的东西。因此,去那个目录本身是行不通的。

标签: android linux ubuntu adb


【解决方案1】:

您在正确的目录中,但当前目录不在您的 shell 的命令搜索路径中。

试试

./adb

也可以在 Google 上搜索如何在 bash 中设置 $PATH 变量

在您的终端中输入以下内容(来自您的 help.ubuntu.com URL) - 它会临时将 android 工具目录添加到该 shell/终端的 PATH 中

export PATH=${PATH}:~/android-sdk-linux/tools
export PATH=${PATH}:~/android-sdk-linux/platform-tools

您现在应该可以运行 adb(无需在正确的目录中,也无需使用 ./adb)

如果您将这些命令添加到您的 .bashrc 中并启动一个新的终端/shell,您应该会发现这些更改现在是永久性的。

【讨论】:

  • echo $PATH 给了我这个:/usr/lib/lightdm/lightdm:/usr/local/bin:/usr/bin:/bin ---> 那么如果当前目录不在我的 PATH 中。如果我直接从该目录/文件夹执行“adb”命令,它应该可以工作,不是吗?另外,尝试了“./adb”,但我得到“没有这样的文件或目录”。我已将它们添加到我的 PATH 中,但即使这样也没有用。我在所有更改后重新启动了我的机器,但仍然遇到同样的问题。
  • 否,当前目录默认不在您的命令搜索路径 $PATH 中。您可以添加它,但这通常是个坏主意。
【解决方案2】:

确保您已安装:

sudo apt-get install android-tools-adb

现在检查:

sudo adb

它将显示 adb 帮助。

现在请杀死/启动 adb。使用以下命令:

sudo adb kill-server
sudo adb start-server

最后,做:

sudo adb devices

这应该可行。

【讨论】:

    【解决方案3】:

    我不确定这条线做了什么以及为什么我必须这样做(因为博客说它有一些 32 位库,而我在 64 位机器上)。但它似乎对我有用。

    sudo apt-get install ia32-libs
    

    当我执行这个命令时,它安装/添加了一些东西大约 5 分钟(字面意思),然后一切正常。

    问候, 反刍

    【讨论】:

    • 这增加了在 64 位 Linux 上运行 32 位程序所需的支持库。
    • 在 adb 存在但未在 Ubuntu 的 Docker 实例上执行时遇到了同样的问题。这并没有立即解决问题,但它为我指明了正确的方向!
    【解决方案4】:

    在平台工具文件夹中“adb”可用,然后按照以下步骤操作:

    设置安卓变量

    首先去你家按Ctrl + H它会显示隐藏文件现在寻找.bashrc文件,用任何文本编辑器打开它,然后将以下行放在文件末尾:

    export ANDROID_HOME=/myPathSdk/android-sdk-linux export PATH=$PATH:$ANDROID_HOME/tools:$ANDROID_HOME/platform-tools

    现在重启系统

    有效!

    【讨论】:

      【解决方案5】:

      (我的系统是ubuntu 16.10)

      这会让android studio找到adb-->

      1) 用 gedit 打开:(ref:https://askubuntu.com/questions/127056/where-is-bashrc)

      gedit ~/.bashrc

      2) 将此行添加到 your.bashrc 的底部即可。

      导出 PATH=$PATH:$HOME"/android-sdk-linux/platform-tools" (参考:https://askubuntu.com/questions/652936/adding-android-sdk-platform-tools-to-path-downloaded-from-umake

      重启安卓工作室

      【讨论】:

        猜你喜欢
        • 2018-06-13
        • 2012-01-24
        • 2017-07-15
        • 2013-03-22
        • 2019-10-18
        • 2017-01-12
        • 1970-01-01
        • 2018-12-10
        • 2021-05-20
        相关资源
        最近更新 更多