在我的新 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/