有人能发布一个通过终端设置ANDROID_HOME的工作解决方案吗?

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


当前回答

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

我想偷懒,在这里找一个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

其他回答

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

点击这里了解更多。

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

首先,我从官方网站下载了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

在终端:

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

1)开放式基地概况:

open  ~/.bash_profile

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

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

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

对我来说27.0.3工作得很好。

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

1-触摸~/.zshrc

2-打开~/.zshrc

3-根据React Native 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

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

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

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。