Android Debug Bridge(adb)命令行工具存在于$ PATH中,但在linux中找不到“command not found”

时间:2012-02-24 10:29:49

标签: android linux adb sudo

sudo echo $PATH

/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/home/lubuntu/Tools/android-sdk-linux/platform-tools

adb存在于/home/lubuntu/Tools/android-sdk-linux/platform-tools

然后我执行了adb start-server

* daemon not running. starting it now on port 5037 *
* daemon started successfully *

然后sudo adb install test.apk

sudo: adb: command not found

我在环境变量$ PATH中添加了adb,但是sudo找不到它。 为什么呢?

5 个答案:

答案 0 :(得分:6)

sudo表示您正在切换到root,这并不一定意味着您的环境出现了。那可能很危险。

冒风险,添加-E选项以继承调用环境。

答案 1 :(得分:5)

问题是为该用户设置了PATH var,而root没有aditional PATH条目,因此无法找到该程序。

您也应该为root设置adb:

adb环境变量

打开~/.bashrc并将以下内容添加到最底层

export PATH=${PATH}:<sdk>/tools:<sdk>/platform-tools

<sdk>更改为实际路径。即/home/user/android-sdk-linux 关闭并重新打开终端以刷新变量。

来自adb setup

如果不起作用,请将adb和其他二进制文件的符号链接创建到/ usr / local / bin

答案 2 :(得分:2)

由于您在第二个示例中以root身份运行adb,因此adb也必须位于root的路径上。

答案 3 :(得分:2)

完全同意@unwind的答案。
你不能使用“sudo”来做这件事。
试试没有sudo,我想这对你有用。
此外,您应该将路径添加到sdk中存在的名为“tools”的文件夹中,尽管它与您的问题无关,但建议。

答案 4 :(得分:2)

完全同意。

问题是Android Debug Bridge(adb)命令行工具未链接到路径。在路径中设置后,它对我有用。

$ gedit ~/.bashrc

在.bashrc

中设置如下路径
export PATH=${PATH}:~/adt-bundle/tools
export PATH=${PATH}:~/adt-bundle/platform-tools