设置Mac OS X环境变量ANDROID_HOME

任何人可以张贴一个工作解决方案设置ANDROID_HOME通过终端?

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

492192 次浏览

Android-SDK安装在哪里取决于您如何安装它。

  1. 如果你通过他们的网站下载了SDK,然后将应用程序拖放到你的应用程序文件夹中,它很可能在这里:

    /Applications/ADT/sdk(在你的情况下).

  2. 如果你使用Homebrew (brew cask install android-sdk)安装SDK,那么它位于这里:

    /usr/local/Caskroom/android-sdk/{YOUR_SDK_VERSION_NUMBER} < / p >

  3. 如果SDK是作为Android Studio的一部分自动安装的,那么它位于这里:

    /Users/{YOUR_USER_NAME}/Library/Android/sdk < / p >

一旦你知道了位置,打开一个终端窗口并输入以下内容(将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检查home是否设置。

echo $ANDROID_HOME

有人能在终端上发布一个工作解决方案吗?

ANDROID_HOME通常是类似.android的目录。它是存储Debug Key之类的东西的地方。

export ANDROID_HOME=~/.android

您可以为您的登录自动化它。只需将它添加到你的.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"

根据David Turner在NDK邮件列表中的说法,ANDROID_NDK_ROOTANDROID_SDK_ROOT都需要设置,因为其他工具依赖于这些值(参见推荐的NDK目录?)。

在修改~/.bash_profile之后,执行以下操作(或注销并返回):

source ~/.bash_profile

引用@user2993582的回答

export PATH=$PATH:$ANDROID_HOME/bin

“bin”部分已经改变了,它应该是

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

在我的.bash_profile中添加以下内容对我来说很有效:

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

朋友们,请注意,如果你将使用~/.bash_profile,那么它将不会编辑用户的bash配置文件,而是全局的。相反,进入你的用户目录(/ users /username)并直接编辑它:

vim .bash_profile

并插入以下两行关于您的用户名和SDK目录

export PATH=$PATH:/Users/<username>/Library/Android/sdk/tools
export PATH=$PATH:/Users/<username>/Library/Android/sdk/platform-tools

在终端:

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

要设置ANDROID_HOME,变量,你需要知道你是如何安装android开发设置。

如果您不知道,可以检查您的计算机中是否存在以下路径。根据你使用的对象,将以下参数添加到.bashrc.zshrc.profile

如果你安装了自制软件,

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

检查该路径是否存在:

如果你在网站上安装了android studio,

export ANDROID_HOME=~/Library/Android/sdk

最后将其添加到path:

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

我有MAC OS X(Sierra) 10.12.2

我通过以下步骤将ANDROID_HOME设置为在反应本地上工作(用于Android应用程序)。

  • 打开终端(按命令+空格键,输入终端,点击输入)。

  • 将以下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

就是这样。

1)开放式基地概况:

open  ~/.bash_profile

2)在基本剖面中添加以下线条:

export PATH=${PATH}:/Users/<username>/Library/Android/sdk/build-tools/27.0.3

保存并关闭基本配置文件。

对我来说27.0.3工作得很好。

Mac OS X上设置ANDROID_HOMEJAVA_HOME环境变量

添加. bash_profile文件

export JAVA_HOME=$(/usr/libexec/java_home)


export ANDROID_HOME=/Users/$USER/Library/Android/sdk


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

为测试

echo $ANDROID_HOME
echo $JAVA_HOME

这里有很多正确答案。但是,缺少了一个项目,如果没有它,我无法从命令行运行模拟器。

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

我使用React Native与Catalina mac os和zsh shell

1- touch ~/.zshrc

2-打开~/.zshrc

3-根据React原生android设置复制和过去

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调试桥版本1.0.41

谢谢这个记录

update1 16/2/2021

这个解决方案也适用于大苏尔。

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

点击这里了解更多

我设置了独立于Android studio的Android SDK,这让我能够更好地控制内容的位置。

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

把爱传递给下一个懒惰或时间紧张的人。

我想偷懒,在这里找一个Bash脚本;没有。所以我决定是时候学习了,现在就在这里。

#! /bin/bash


# This script will download the Android command line toools to a path of your choosing.
#
# Syntax  : <cmd> <zip> <path>
#
# Example : run with ./get-cli.sh commandlinetools-mac-8512546_latest.zip /usr/local/android
#
# For the latest .zip matching your system visi:
#
#   https://developer.android.com/studio#command-tools
#
# Note: supplying no args will default to the example
#
# Respectfully,
#   -Tricknology
#


# command-line-tools zip
cmd_line_tools=$1


# directory to add it to
android_home_dir=$2


# use defaults if none specified
if [[ cmd_line_tools=="" ]]; then
#default to aarch64
cmd_line_tools='commandlinetools-mac-8512546_latest.zip'
fi


if [[ android_home_dir=="" ]]; then
#statements
android_home_dir='/usr/local/android'
fi


url=https://dl.google.com/android/repository/"$cmd_line_tools"


###############  gist #########################
# create dir /usr/local/android
# sudo mkdir /usr/local/android


## move tools to usr/local/
# sudo mv cmdline-tools /usr/local/android/sdk


## 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
# 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
################ end gist #######################


# Create directory
# going to ask for password to create this
echo
echo "-----------------------------------------------------"
echo creating directories
echo "-----------------------------------------------------"
echo
[[ -f "$cmd_line_tools" ]] && {
echo creatig dir:  $android_home_dir;
sudo mkdir $android_home_dir;
} || echo $android_home_dir exists;
echo
echo "-----------------------------------------------------"
echo downloading from: $url
echo               to: $android_home_dir
echo "-----------------------------------------------------"
curl $url --output $cmd_line_tools
echo
echo done
echo unzipping       : $cmd_line_tools
unzip $cmd_line_tools
echo done
echo
echo moving to       : "$android_home_dir"/sdk


[ -d "$android_home_dir"/sdk ] &&
{   echo "$android_home_dir"/sdk already exists!;
echo cleaning up : $cmd_line_tools;
sudo rm $cmd_line_tools;
echo cleaning up : cmdline-tools;
sudo rm -rf "cmdline-tools";
echo exiting!;
exit -1;
};
sudo mv cmdline-tools "$android_home_dir"/sdk
echo
echo done
echo "-----------------------------------------------------"
echo " Setting Environment Variables (Global)"
echo "-----------------------------------------------------"
echo
echo setting ANDROID_SDK_ROOT=$android_home_dir/sdk
export ANDROID_SDK_ROOT=$android_home_dir/sdk
echo $(export ANDROID_SDK_ROOT=$ANDROID_SDK_ROOT)
echo setting ANDROID_HOME=$ANDROID_SDK_ROOT
export ANDROID_HOME=$ANDROID_SDK_ROOT
echo $(export ANDROID_HOME=$ANDROID_HOME)
echo
echo "-----------------------------------------------------"
echo current path: $PATH
echo "-----------------------------------------------------"
echo
ah_bin=$ANDROID_HOME/bin
ah_tools=$ANDROID_HOME/tools
ah_tools_bin=$ANDROID_HOME/tools/bin
ah_plat_tools=$ANDROID_HOME/platform-tools
[ $(grep -q "$PATH" $ah_bin) ]         && echo $ah_bin exists          || export PATH=$PATH:$ah_bin
echo $PATH
echo
[ $(grep -q "$PATH" $ah_tools) ]       && echo $ah_tools exists        || export PATH=$PATH:$ah_tools
echo $PATH
echo
[ $(grep -q "$PATH" $ah_tools_bin) ]   && echo $ah_tools_bin exists    || export PATH=$PATH:$ah_tools_bin
echo $PATH
echo
[ $(grep -q "$PATH" $ah_plat_tools) ]  && echo $ah_plat_tools exists   || export PATH=$PATH:$ah_plat_tools
echo $PATH
echo
echo "-----------------------------------------------------"
echo setting path to  : $PATH
echo "-----------------------------------------------------"
echo
export PATH=$PATH
echo done
echo
echo "-----------------------------------------------------"
echo cleaning up
echo "-----------------------------------------------------"
echo
echo removing $cmd_line_tools
sudo rm $cmd_line_tools
echo done
echo
echo removing "cmdline-tools"
sudo rm -rf "cmdline-tools"
echo done
echo
echo "-----------------------------------------------------"
echo
echo finished!
echo let ne show you the PATH $(echo $PATH)
3cho
3cho congratulations on your new ANDROID_HOME=$(echo $ANDROID_HOME)
exit 0
EOF