关于作者:CSDN内容合伙人、技术专家, 从零开始做日活千万级APP。
专注于分享各领域原创系列文章 ,擅长java后端、移动开发、商业变现、人工智能等,希望大家多多支持。
目录
- 一、导读
- 二、概览
- macOS基础知识
- 三、设置环境变量
- 3.1 终端窗口和 shell 脚本中设置
- Windows
- macOS 和 Linux
- 更新 shell 初始化脚本
- 更新 PATH 环境变量
- 3.2 常用变量
- 四、 推荐阅读
一、导读
我们继续总结学习Android基础知识,温故知新。
今天我们讲讲Android环境变量的配置,这个还是比较简单的。
二、概览
很多工具都会读取ANDROID_HOME 变量来确定 Android SDK 安装目录,我们可以通过设置环境变量来配置 Android Studio 和命令行工具的行为,
将命令搜索路径环境变量设置为包含 ANDROID_HOME/tools、ANDROID_HOME/tools/bin 和 ANDROID_HOME/platform-tools。
macOS基础知识
- macos中查看当前系统中所有的shell
cat /etc/shells
- 当然,在macos中,我们也可以选择不同的shell,方法如下:
1、 选取苹果菜单 >“系统设置(偏好)”,然后点按“用户与群组”。
2、 在左侧的用户列表中,按住 Control 键点按你的用户名,然后选取“高级选项”
3、 从“登录 shell”菜单中选取一个 Shell,然后点按“好”以存储更改。
或者使用命令来修改
修改系统默认shell为zsh
chsh -s /bin/zsh
Mac 系统下的环境变量
- Mac 系统下的环境变量-bash
- /etc/profile:全剧配置,所有用户登录时就会执行一次
- /etc/paths:类似于/etc/profile
- ~/.bash_profile:单用户个人配置,用户登录时执行一次,用户设置的环境变量执行 .bashrc。和 /etc/profile一样也需要重启后生效。不同的是 /etc/profile针对所有用户;~/.bash_profile针对当前单个用户
- ~/.bash_login:当每次登陆系统(退出bash shell)时,执行该文件
- ~/.profile:针对个人,读取的是个人的配置文件一系列操作「如果用户登录状态,读 .bash_profile文件、若.bash_profile不存在,则读.bash_login,如果前两者都不存在,最后才读~/.profile」
- ~/.bashrc:属于当前用户专有的 shell文件,当登陆或者打开一个 shell窗口时就会被读取,因此无需重启 shell窗口
- Mac 系统下的环境变量-zsh
- /.zprofile:类似于/.bash_profile,登录时运行,并且允许 SSH
- ~/.zshrc:类似于 ~/.bashrc,针对的是每一个 “终端” shell 窗口
我们可以到系统文件夹下直接查看这些文件,这是隐藏的文件,按快捷键就显示出来了:
command+shift+.
如果发现没有上述圈红的两个文件,可以直接在 ~目录下创建
打开 配置文件,然后修改、保存退出(按 ESC 键,再输入 :wq 回车即可),环境变量之间需要用 冒号(:)隔开。
cd
vi .zshrc
export PATh=$PATH:要配置的软件环境路径
按esc键
输入:wq
按回车键
改完之后,直接 source .zshrc,让文件生效,也可重新打开一个命令行窗口
${PATH} 和 $PATH 区别
Window的比较简单好记,就不写了。
三、设置环境变量
3.1 终端窗口和 shell 脚本中设置
终端窗口中的变量设置仅在窗口打开时有效,这点要注意,下面我们列举一下常用的终端设置命令。
Windows
语法
set VARIABLE_NAME=<new-value>
例如:
set HTTP_PROXY=myserver:1981
macOS 和 Linux
设置环境变量的确切方法取决于使用的 shell,所以我们首先要知道我们用了哪种shell,可以通过命令来看,输入以下命令
echo $0
下面是不同shell的设置语法
- Gnu Bash 或 Zsh 等 shell
export VARIABLE_NAME=<new-value>
- 其他 shell(例如 TCSH)
setenv VARIABLE_NAME <new-value>
更新 shell 初始化脚本
为了避免每次都设置,我们可以将这些命令添加到 shell 初始化脚本中,以便在每次运行新的 shell 实例时设置变量
shell 初始化脚本的位置取决于正在使用的 shell。
Gnu Bash,脚本位置一般是 ~/.bash_profile。
Zsh,脚本位置一般是 ~/.zprofile。
TCSH,脚本位置一般是 ~/.cshrc
更新 PATH 环境变量
我们还可以更新 PATH 环境变量,以包含工具位置
- Gnu Bash 或 Zsh 等 shell
export ANDROID_HOME= ~/Library/Android/sdk
export PATH=$PATH:$ANDROID_HOME/tools:$ANDROID_HOME/tools/bin:$ANDROID_HOME/platform-tools
- 其他 shell(例如 TCSH)
setenv ANDROID_HOME=~/Library/Android/sdk
setenv PATH=$PATH\:$ANDROID_HOME/tools\:$ANDROID_HOME/tools/bin\:$ANDROID_HOME/platform-tools
3.2 常用变量
-
ANDROID_HOME
设置 SDK 安装目录的路径。设置后,该值通常不会更改,并且可以由同一台计算机上的多个用户共享。ANDROID_SDK_ROOT 也指向 SDK 安装目录,但已废弃。
如果您继续使用它,Android Studio 和 Android Gradle 插件将检查旧变量和新变量是否一致。 -
ANDROID_USER_HOME
为 Android SDK 中包含的工具设置用户偏好设置目录的路径。 默认为 $HOME/.android/。 -
STUDIO_JDK
设置 Android Studio 在其中运行的 JDK 的位置。当您启动 Android Studio 时,它会依次检查 STUDIO_JDK、JDK_HOME 和 JAVA_HOME 环境变量。 -
ANDROID_AVD_HOME
设置包含所有 AVD 特定文件的目录的路径,这些文件大多包含非常大的磁盘映像。默认位置是 $ANDROID_EMULATOR_HOME/avd/。如果默认位置的磁盘空间不足,您可能需要指定新位置。 -
HTTP_PROXY
包含全局 HTTP 代理的 HTTP/HTTPS 代理设置。在主机和端口之间使用英文冒号 (😃 分隔符。例如 set HTTP_PROXY=myserver:1981。
这相当于在运行模拟器时从命令行指定 -http-proxy proxy 参数。
等等,还有其他的一些,可能平时用的不多,就没列出来。
四、 推荐阅读
Java 专栏
SQL 专栏
数据结构与算法
Android学习专栏