android - “adb”未被识别为命令

标签 android bash macos adb

在我的新 MacBook 中,我安装了最新的 Android Studio。然后,在终端中,我创建了 .bash_profile,并向该文件添加了以下几行:

export ANDROID_HOME=~/Library/Android/sdk

export ANDROID_TOOLS=$ANDROID_HOME/tools

export PATH=$PATH:$ANDROID_HOME/platform_tools

export PATH=$PATH:$ANDROID_TOOLS

之后,我运行命令 source .bash_profile,然后输入 adb 命令,但出现错误,提示 adb 未被识别为命令。为什么?我还echo $PATH,我看到Android sdk的platform_tools目录在那里,并且该目录下有adb文件。

======更新=====

有趣的是,如果我执行以下操作,它就会起作用:

export PATH=$PATH:/Users/myname/Library/Android/sdk/platform-tools
export PATH=$PATH:/Users/myname/Library/Android/sdk/tools
export ANDROID_HOME=/Users/myname/Library/Android/sdk
为什么?上面的 ~ 不是与 /Users/myname 相同吗?为什么我的原始脚本不起作用,但上面的脚本起作用?我不明白......请有人向我解释一下。

最佳答案

根据 shell 的不同,export 变量定义的处理方式可能与普通赋值不同 - 特别是 tilde expansion可能根本不会发生。

如果是这种情况,那么即使该变量在其他地方扩展,变量中的每个未解析的波形符都将保持未解析状态。 According to the docs :

The order of expansions is: brace expansion; tilde expansion, parameter and variable expansion, <…>

您可能想尝试一下:

ANDROID_HOME=~/Library/Android/sdk
export ANDROID_HOME

export ANDROID_TOOLS=$ANDROID_HOME/tools

export PATH=$PATH:$ANDROID_HOME/platform_tools

export PATH=$PATH:$ANDROID_TOOLS

如果没有帮助,您还可以尝试$HOME:

ANDROID_HOME=$HOME/Library/Android/sdk
export ANDROID_HOME

关于android - “adb”未被识别为命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44709581/

相关文章:

java - 使用 GridView 启动应用程序时窗口已满

android - SurfaceView 拉伸(stretch)相机预览

java - 如何获取任何网站的 JSON 数据以在我的 android native 应用程序中解析和使用

android - Android GridLayout中只有灰色框

linux - 两个变量比较,一到四种可能的输出

linux - 在 Linux 上以另一个用户身份运行脚本

linux - 如何使 bash 脚本与一个又一个命令一起工作?

c# - Xamarin.Mac 中是否缺少 CloudKit?

xcode - MacOS 应用程序无法在 Xcode 模拟器上运行

java - Android Studio 无法找到有效的 JVM Android Studio 1.2 OSX