在mac中设置ANDROID_HOME环境变量

125

我是新手,使用Salesforce SDK开发原生应用程序。 我尝试使用forcedroid工具从命令行创建Android项目,但在设置名为ANDROID_HOME的环境变量时出现问题。

但我不知道如何设置这个变量。

我附上截图以正确描述我的问题。

输入图像说明

18个回答

265
要使其在您的系统上永久生效,并且在关闭终端或重新启动后仍然保持变量有效,请使用以下命令:
nano ~/.bash_profile 

添加行:

export ANDROID_HOME=$HOME/Library/Android/sdk
export PATH=$PATH:$ANDROID_HOME/platform-tools
export PATH=$PATH:$ANDROID_HOME/tools
export PATH=$PATH:$ANDROID_HOME/tools/bin
export PATH=$PATH:$ANDROID_HOME/emulator

重新打开终端并检查是否成功:
source ~/.bash_profile
echo $ANDROID_HOME

如果你使用 Oh My Zsh 作为终端,你必须将这些行添加到 ~/.zshrc 而不是 ~/.bash_profile

3
“正确答案”对于我来说只是一时的,因为我关闭终端后必须重新做一遍。您的指示包括使其永久化所需的步骤。谢谢。 - xerotolerant
7
每次打开新标签页时,我都必须使用“source”命令。如何使ANDROID_HOME始终可用? - Burke Holland
1
好的回答。如果您不知道路径sdk,可以检查一下。https://dev59.com/O1sW5IYBdhLWcg3w2aKK - Zapwoi
1
为什么不写成这样: export ANDROID_HOME=$HOME/Library/Android/sdk ? :) - undefined
1
@BurkeHolland,我猜你可以把这些行添加到/.zshrc而不是/.bash_profile中。 - undefined
显示剩余3条评论

153

打开终端并输入:

export ANDROID_HOME=/Applications/ADT/sdk
将此添加到PATH环境变量中。
export PATH=$PATH:$ANDROID_HOME/platform-tools

如果终端没有找到.zshrc中添加的路径,请运行以下命令:

source ~/.zshrc

希望对您有所帮助!


21
每当我打开一个新的终端时,echo $ANDROID_HOME 显示为空。 - Janith Widarshana
请查看此链接:http://forum.ionicframework.com/t/android-home-is-not-set-and-android-command-not-in-your-path/14821/15 - Skizo-ozᴉʞS ツ
我曾经多次尝试过,但都没有希望。但是当我设置好路径后,键入source ~/.bash_profile,问题就解决了。 - Mo Zaatar
1
对于最新的Android Studio,导出路径为:PATH=$PATH:$ANDROID_HOME/platform-tools - Dhana Krishnasamy
1
我真的花了一整天才终于找到了这个..谢谢。 - Gel
显示剩余5条评论

54

以上答案是正确的。非常有效。这里还有一个快速的方法。

  1. 打开命令提示符。
  2. 输入 - echo export "ANDROID_HOME=/Users/yourName/Library/Android/sdk" >> ~/.bash_profile

    就这样了。

  3. 关闭终端窗口。

  4. 再次打开它。

  5. 键入 - echo $ANDROID_HOME 检查主目录是否已设置。


6
我的家目前还没有设置成功,即使我已经按照上面的步骤操作了,我的电脑是使用 Sierra Mac。 - thisisdude
@Santosh Pillai。不要提及上面/下面的排序可能会根据评分/投票,最旧/最新,活跃/非活跃发生变化。感谢您的回答。 - Guru raj
1
在Mac Catalina上运行得非常好。将“ANDROID_HOME=/Users/appstream/Library/Android/sdk”导出到~/.zshrc文件中。 - Wahas Ali Mughal

36
如果你尝试运行"adb devices"或任何其他命令,而它显示类似的信息
zsh: command not found adb

这说明你正在使用zsh shell,而/.bash_profile不会按照预期工作。每次打开终端时,你都需要使用source ~/.bash_profile命令来执行bash_profile,并且这不是永久的。

要解决这个问题,请运行:

nano ~/.zshrc

终端图像

然后将以下命令粘贴到文件末尾

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

注意:您可以从Android Studio > 首选项 > 系统设置 > Android SDK > Android SDK位置文本框中找到Android Home的URL。
要保存它,按下Ctrl + X,键入Y保存,然后按Enter键保持文件名不变。
重新启动终端,然后再次尝试您的命令。

非常感谢您是唯一一个提供保存更改指导的顶级答案。对于新手来说,这些信息对于完成操作至关重要。 - Asher

25
如果你正在 macOS Catalina 上设置 ANDROID_HOME 环境变量,.bash_profile 不再是苹果公司的默认 shell,它将不会保存你的路径变量。请改用 .zprofile,并按照 React Native 文档或其他文档中的环境配置说明进行操作。.bash_profile 会一直创建新文件,这将使路径无法永久保留或在关闭终端后持久存在于您的系统路径中。
在 macOS Big Sur 中创建新路径,请遵循以下步骤:
  1. sudo touch ~/.zshrc

  2. sudo nano ~/.zshrc

  3. 导出所有路径

  4. 使用 ctrl + x 保存

  5. source ~/.zshrc

  6. 使用 echo $PATH 进行检查


这应该被添加到被接受的答案中。我花了一个多小时来解决这个问题。 - Johannes Klauß

17
基于Abraham Mayowa Oluwasina提供的答案,上述答案是正确的。 MacOS Catalina及更高版本中,.bash_profile不再是苹果的默认shell,并且它不会持久保存在您的路径变量中,而是使用.zprofile代替。
在根目录中,
touch .zprofile
open -e .zprofile

将以下内容添加到文件中, Android:
export ANDROID_HOME=/Users/<username>/Library/Android/sdk
export PATH=$PATH:$ANDROID_HOME/platform-tools

Java:
export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk-11.0.15.jdk/Contents/Home
export PATH=$PATH:$JAVA_HOME/bin

保存并退出
激活
source ~/. profile
echo $ANDROID_HOME

8
我唯一可行的解决方案是@Tiago Gouvêa的回答,添加后Android和模拟器命令都能正常工作,但sdkmanager命令仍无法工作,所以我在他的解决方案中添加了一行额外的代码:

nano ~/.bash_profile

添加以下内容:

export ANDROID_HOME=/YOUR_PATH_TO/android-sdk
export PATH=$ANDROID_HOME/platform-tools:$PATH
export PATH=$ANDROID_HOME/tools:$PATH
export PATH=$ANDROID_HOME/tools/bin:$PATH

6

作为一个新手,我曾在设置变量方面遇到很多困难。我创建了 .bash_profile 文件的副本,但文件中的文本并没有被保存等等。

因此,我记录了一下对我有效的步骤。这是一种简单而又可靠(但有点冗长)的方法✌

步骤1: 进入Finder> 前往(顶部),点击用户,然后选择您的用户账户,您将看到类似于这样的内容:

{https://istack.dev59.com/8e9qX.webp}

步骤2: 现在按住 ⌘+ ⇧+.(点) , 这将显示隐藏的文件和文件夹。它看起来应该像这样:

{https://istack.dev59.com/apOoO.webp}

注:如果 ⌘ + ⇧ +. 不起作用,请查找与您的Mac操作系统名称相关的键盘快捷键。

步骤3:

情景A: 如果.bash_profile已存在

步骤3.A.1: 双击 .bash_profile 文件。它应该会用TextEdit打开(或者右键单击> 打开方式 > TextEdit)。

步骤3.A.2: 使用 ⌘ + V 将变量文本粘贴到 .bash_profile 文件中。

步骤 3.A.3: 使用 ⌘ + S 保存 .bash_profile 文件。

情景B: 如果.bash_profile不存在 这种做法有点傻,但对我这样的新手来说完全有效。

步骤3.B.1: 下载免费的轻量级BBEdit文本编辑器。这个编辑器的特别之处在于它可以让你保存以“.”开头的文件。

步骤3.B.2: 创建一个新文件。

步骤3.B.3: 在您的账户文件夹中保存文件。将会弹出一个警告,看起来像这样:

{https://istack.dev59.com/KLZmL.webp}

点击“使用"."”按钮,然后空白的 .bash_profile 文件将被保存。

步骤3.B.4: 使用 ⌘ + V 将变量文本粘贴到 .bash_profile 文件中。

步骤3.B.5:使用 ⌘ + S 保存 .bash_profile 文件

步骤4:最后一步是检查上述步骤是否成功。 打开终端并输入 echo $ANDROID_HOME

您的 ANDROID_HOME 环境变量现在应该已经设置好了。


6

打开终端

nano ~/.bash_profile


export ANDROID_HOME=/Users/qss/Library/Android/sdk
export PATH=$ANDROID_HOME/tools:$PATH
export PATH=$ANDROID_HOME/platform-tools:$PATH

Control+S to save
Control+X to exit
Y to save changes
Update changes in terminal
source ~/.bash_profile

Validate Path:
echo $PATH

Confirm if all okay:
adb devices

5
source ~/.bash_profile
export ANDROID_HOME=/YOUR_PATH_TO/android-sdk
export PATH=$ANDROID_HOME/platform-tools:$PATH

2
请包含解释和适当的格式。以下是范例:English Text:Programming is the process of designing, writing, testing, and maintaining computer programs. It involves analyzing a problem, breaking it down into its component parts, and designing a solution that uses programming languages to control the behavior of machines.Translated Text:编程是设计、编写、测试和维护计算机程序的过程。它涉及分析问题,将其分解为组成部分,并设计一个使用编程语言控制机器行为的解决方案。 - svgrafov

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接