在Mac OS X上设置ANDROID_HOME环境变量

344

请问有人能够在终端上发布一个可行的解决方案来设置ANDROID_HOME吗?

我的Android-SDK路径为 /Applications/ADT/sdk


在MAC中设置ANDROID_HOME和JAVA_HOME: - Shomu
14个回答

643

Android-SDK的安装位置取决于您是如何安装它的。

  1. 如果您通过他们的网站下载了SDK,然后将应用程序拖放到应用程序文件夹中,那么它可能在此处:

    /Applications/ADT/sdk (在您的情况下是这样的)。

  2. 如果您使用Homebrew(brew cask install android-sdk)安装了SDK,则其位于此处:

    /usr/local/Caskroom/android-sdk/{YOUR_SDK_VERSION_NUMBER}

  3. 如果SDK作为Android Studio的一部分自动安装,则在此处:

    /Users/{YOUR_USER_NAME}/Library/Android/sdk

知道位置后,打开终端窗口,输入以下命令(根据实际安装路径修改SDK路径):

export ANDROID_HOME={YOUR_PATH}

一旦你设置好了这个,你需要将其添加到 PATH 环境变量中:

export PATH=$PATH:$ANDROID_HOME/tools:$ANDROID_HOME/platform-tools

最后通过重新加载.bash_profile文件来应用这些更改:

source ~/.bash_profile

  1. 输入- echo $ANDROID_HOME 检查是否设置了主目录。

echo $ANDROID_HOME


请查看@kip2的更新答案(使用tools而不是bin)。 - echo
export ANDROID_HOME=/Applications/ADT/sdk - 你应该解释这个思路... 将此命令添加到您的终端配置文件中,以设置Android开发工具包(ADT)的主目录路径。这是必需的,因为许多Android开发工具需要知道ADT的位置才能正常工作。通过设置ANDROID_HOME环境变量,您可以轻松地在终端中运行各种Android开发命令,而无需手动导航到ADT目录。 - jww
4
每次启动都会重新启动...我该如何在Ubuntu上永久添加它? - user1735921
7
如果使用 brew 安装了 Android SDK,你可以将 ANDROID_HOME 设置为 /usr/local/opt/android-sdk,这样就能够在路径中省略版本号,并且获得一个指向 Android Home 的通用链接。请注意,这并不会改变原来的意思。 - Valerio Crini
1
@user1735921 您可以将每次启动新 shell 时要运行的命令添加到您的 shell 配置文件中。对于 bash shell,例如 ~/.bashrc。 - Tobias Abenius
显示剩余8条评论

203

在终端中:

nano ~/.bash_profile 

添加行:

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

确认它已经生效:

source ~/.bash_profile
echo $ANDROID_HOME

2
对我也是一样。顺便说一句,第二行和第三行可以合并为 export PATH=$ANDROID_HOME/platform-tools:$ANDROID_HOME/tools:$PATH - Jose_GD
由于某些原因,当我运行 echo $PATH 时,它没有输出我在 .bash_profile 中保存的最新目录。 - IgorGanapolsky
1
@Maid786 它在主文件夹中,但是它是不可见的。您可以像这里所讨论的那样在Finder中显示隐藏文件http://www.macworld.co.uk/how-to/mac-software/how-show-hidden-files-in-mac-os-x-finder-funter-3520878/,或者使用像TextWrangler这样的文本编辑器,在文件打开对话框中有一个显示不可见文件的选项。 - David Douglas

53

将以下内容添加到我的.bash_profile文件中对我有用:

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

5
请注意,重要的一点是安装路径为 /Users/yourname/Library/Android/sdk。 - Nicholas Murray

38

我使用的是MAC OS X (Sierra) 10.12.2。

我按照以下步骤设置ANDROID_HOME,以便在React Native(适用于Android应用程序)上工作。

  • 打开终端(按下Command+SpaceBar,输入Terminal,然后按ENTER键)。

  • 将以下3行添加到~/.bash_profile中。

  export ANDROID_HOME=$HOME/Library/Android/sdk/
  export PATH=$PATH:$ANDROID_HOME/tools
  export PATH=$PATH:$ANDROID_HOME/platform-tools
  • 最后执行以下命令(或重新启动系统以反映所做的更改)。

    source ~/.bash_profile

  • 就这样了。


    2
    @SteveLuck 如果还不存在,你可以创建它。 - Jeff LaFay
    1
    如果你找不到它,可以使用“touch /.bash_profile”创建它,最后在此处添加你的内容。你也可以直接使用“vi/vim ~/.bash_profile”创建它,然后粘贴这些行。大多数情况下,你只会找到“/.profile”,你也可以在这里添加。 - hygull
    3
    @SteveLuck ~是指你的主文件夹的快捷方式。如果你不知道自己的主文件夹在哪里,可以在终端中输入cd。输入cd将带您进入您的主文件夹。然后,您可以使用vi .bash_profilenano .bash_profile命令来打开/编辑该文件。 - Mav55
    感谢您更新了尝试和获得的内容。这支持了答案。 - hygull
    1
    Command+R应该做什么?你期望在哪个应用程序中?在Finder中,这个快捷键映射到别名的“显示原件”?你是不是想说的是Command+Space? - uliwitness
    @uliwitness 你是对的。谢谢(那是我犯的一个小错误,不小心重新修改了,我想)。 - hygull

    36

    引用 @user2993582 的答案

    export PATH=$PATH:$ANDROID_HOME/bin
    

    'bin'部分已更改,应该是

    export PATH=$PATH:$ANDROID_HOME/tools:$ANDROID_HOME/platform-tools
    

    25

    我正在使用Catalina Mac OS和zsh shell开发React Native应用。

    1- touch ~/.zshrc

    2- open ~/.zshrc

    3- 根据React Native安卓环境设置指南复制并粘贴。

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

    将文本文件打开后保存并关闭文件。

    4- 运行 source ~/.zshrc 并确保重启终端。

    5- 运行 adb,你会得到类似如下的内容:

    Android Debug Bridge version 1.0.41 Version 30.0.0-6374843

    感谢这篇文档

    更新1:16/2/2021

    这个解决方案同样适用于 Big Sur。


    1
    这也是适用于macOS Big Sur的正确答案。Catalina及以后的版本使用zsh而不是bash来创建新账户。 - uliwitness
    @uliwitness,谢谢您,我会更新针对Big Sur的答案。 - Amr Abdalrahman
    谢谢。这个解决方案在 Monterey 上也适用。 - Nguyễn Anh Tuấn

    12

    有人能在终端中发布一个可行的解决方案吗?

    ANDROID_HOME通常是一个类似于.android的目录,其中存储了像Debug Key这样的东西。

    export ANDROID_HOME=~/.android 
    

    您可以为登录自动化它。只需将其添加到您的.bash_profile中(以下是来自我的OS X 10.8.5机器):

    您可以将其自动化为登录。只需将其添加到您的.bash_profile中(以下是我在我的OS X 10.8.5机器上的例子):

    $ cat ~/.bash_profile
    # MacPorts Installer addition on 2012-07-19 at 20:21:05
    export PATH=/opt/local/bin:/opt/local/sbin:$PATH
    
    # Android
    export ANDROID_NDK_ROOT=/opt/android-ndk-r9
    export ANDROID_SDK_ROOT=/opt/android-sdk
    export JAVA_HOME=`/usr/libexec/java_home`
    export ANDROID_HOME=~/.android
    
    export PATH="$ANDROID_SDK_ROOT/tools/":"$ANDROID_SDK_ROOT/platform-tools/":"$PATH"
    

    据NDK邮件列表上的David Turner称,ANDROID_NDK_ROOTANDROID_SDK_ROOT都需要被设置,因为其他工具依赖于这些值(请参见建议的NDK目录?)。

    修改~/.bash_profile后,执行以下操作(或注销并重新登录):

    source ~/.bash_profile
    

    我也遇到了同样的问题,但是无法解决。你能否查看这个问题 https://stackoverflow.com/questions/44891631/cordova-buildtoolsversion-is-not-specified-macos - Roxx

    11

    要设置ANDROID_HOME变量,需要知道如何安装Android开发环境。

    如果您不知道,请检查以下路径是否存在于您的机器上。根据您使用的内容,将以下内容添加到.bashrc.zshrc.profile中。

    如果您使用Homebrew进行安装,则:

    export ANDROID_HOME=/usr/local/opt/android-sdk
    

    检查此路径是否存在:

    如果您按照网站上的说明安装了Android Studio,

    export ANDROID_HOME=~/Library/Android/sdk
    

    最后将它添加到路径中:

    export PATH=$PATH:$ANDROID_HOME/tools:$ANDROID_HOME/platform-tools
    

    如果你懒得打开编辑器,可以这样做:

    echo "export ANDROID_HOME=~/Library/Android/sdk" >> ~/.bashrc
    echo "export PATH=$PATH:$ANDROID_HOME/tools:$ANDROID_HOME/platform-tools" >> ~/.bashrc
    

    6

    ANDROID_HOME环境变量和ANDROID_SDK_ROOT环境变量相同,这意味着它定义了SDK安装目录的路径。

    点击此处了解更多信息

    我将Android SDK与Android Studio分开设置,这样可以更好地控制文件存储位置。

    cd $HOME/Downloads
    curl https://dl.google.com/android/repository/commandlinetools-mac-7302050_latest.zip --output android-sdk.zip
    
    • 其次,我会将文件解压缩到下载目录中,这个过程会生成一个名为cmdline-tools的目录。
    unzip android-sdk.zip
    
    • 第三步,我在本地目录下创建了一个名为android的文件夹。

      /usr/local 是系统范围内由本地管理员安装的只读文件)

    sudo mkdir /usr/local/android
    

    第四步,我将解压生成的目录移动到android目录并将其重命名为 sdk。(以后我将在 sdk 旁边添加 ndk 目录)
    sudo mv cmdline-tools /usr/local/android/sdk
    
    • 第五步,我手动将环境变量添加到我的个人目录下的.zshrc文件中。
    nano $HOME/.zshrc
    

    # ...
    
    # Set environment variables for Android SDK
    export ANDROID_SDK_ROOT=/usr/local/android/sdk
    export ANDROID_HOME=$ANDROID_SDK_ROOT
    
    # Insert executable file paths in PATH environment variable
    export PATH=$PATH:$ANDROID_HOME/bin
    export PATH=$PATH:$ANDROID_HOME/tools
    export PATH=$PATH:$ANDROID_HOME/tools/bin
    export PATH=$PATH:$ANDROID_HOME/platform-tools
    

    2

    这里有很多正确的答案。然而,有一项缺失,我无法在命令行中运行模拟器。

    export JAVA_HOME=$(/usr/libexec/java_home)
    export PATH=$PATH:$JAVA_HOME/bin
    
    export ANDROID_HOME=$HOME/Library/Android/sdk
    export PATH=$PATH:$ANDROID_HOME/emulator       # can't run emulator without it
    export PATH=$PATH:$ANDROID_HOME/tools
    export PATH=$PATH:$ANDROID_HOME/platform-tools
    

    所以这是以上答案的总结,加上这个问题的解决方案。如果你使用zsh(而不是bash),编辑的文件是~/.zshrc

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