Android环境变量macOS环境变量配置

关于作者: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
  1. /etc/profile:全剧配置,所有用户登录时就会执行一次
  2. /etc/paths:类似于/etc/profile
  3. ~/.bash_profile:单用户个人配置,用户登录时执行一次,用户设置的环境变量执行 .bashrc。和 /etc/profile一样也需要重启后生效。不同的是 /etc/profile针对所有用户;~/.bash_profile针对当前单个用户
  4. ~/.bash_login:当每次登陆系统(退出bash shell)时,执行该文件
  5. ~/.profile:针对个人,读取的是个人的配置文件一系列操作「如果用户登录状态,读 .bash_profile文件、若.bash_profile不存在,则读.bash_login,如果前两者都不存在,最后才读~/.profile」
  6. ~/.bashrc:属于当前用户专有的 shell文件,当登陆或者打开一个 shell窗口时就会被读取,因此无需重启 shell窗口
  • Mac 系统下的环境变量-zsh
  1. /.zprofile:类似于/.bash_profile,登录时运行,并且允许 SSH
  2. ~/.zshrc:类似于 ~/.bashrc,针对的是每一个 “终端” shell 窗口

我们可以到系统文件夹下直接查看这些文件,这是隐藏的文件,按快捷键就显示出来了:

command+shift+.

如果发现没有上述圈红的两个文件,可以直接在 ~目录下创建

打开 配置文件,然后修改、保存退出(按 ESC 键,再输入 :wq 回车即可),环境变量之间需要用 冒号(:)隔开。

cd
vi .zshrcexport 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学习专栏

ddd

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/124803.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Spring两大核心之一:AOP(面向切面编程)含设计模式讲解,通知类型切点;附有案例,实现spring事务管理

模拟转账业务 pom.xml <dependencies><!--spring--><dependency><groupId>org.springframework</groupId><artifactId>spring-context</artifactId><version>5.3.29</version></dependency><!--lombok-->…

物联网二维码核销盒对接文档

核销盒是干嘛的&#xff1f; 1.在某些场景下快速核销订单或打卡签到等&#xff0c;通过核销盒能快速将订单信息发送到后端进行处理。 一&#xff0c;首先你需要有一台核销设备&#xff0c;也就是核销盒。 二&#xff0c;通过接口激活或更新核销盒 ​​​​​​​ 简要描述 激…

2.Vue — 模板语法、数据绑定、el与data的写法、数据代理

文章目录 一、模板语法1.1 插值语法1.2指令语法 二、数据绑定语法2.1 单向数据绑定2.2 双向数据绑定 三、el与data的两种写法3.1 el3.2 data 四、数据代理4.1 Object.defineProperty4.2 Vue数据代理4.2.1 展示数据代理4.2.2 Vue数据代理 一、模板语法 root容器里面的代码被称为…

边缘计算技术的崭新篇章:赋能未来智能系统

边缘计算是近年来云计算和物联网技术发展的重要趋势。通过将数据处理和分析从云端迁移到设备边缘&#xff0c;边缘计算能够实现更低的延迟和更高的数据安全。本文将探索边缘计算技术的最新进展及其在不同行业中的应用场景。 1. 实时数据处理与决策 在需要快速响应的场景中&…

Seata入门系列【15】@GlobalLock注解使用场景及源码分析

1 前言 在Seata 中提供了一个全局锁注解GlobalLock&#xff0c;字面意思是全局锁&#xff0c;搜索相关文档&#xff0c;发现资料很少&#xff0c;所以分析下它的应用场景和基本原理&#xff0c;首先看下源码中对该注解的说明&#xff1a; // 声明事务仅在单个本地RM中执行 //…

从0到1之微信小程序快速入门(03)

目录 什么是生命周期函数 WXS脚本 ​编辑 与 JavaScript 不同 纯数据字段 组件生命周期 定义生命周期方法 代码示例 组件所在页面的生命周期 代码示例 插槽 什么是插槽 启用多插槽 ​编辑 定义多插槽 组件通信 组件间通信 监听事件 触发事件 获取组件实例 自…

推荐免费的文本转语音工具TTS-Vue【且开源】

标签&#xff1a; 文本转语音&#xff1b; 免费文本转语音软件&#xff1b; 网上有很多文本转语音的工具&#xff0c;但收费具多。 这里推荐一个免费的文本转语音工具。 不需要注册&#xff0c;下载安装就可以使用。且代码开源。 TTS-Vue 软件主页&#xff1a;https://loker…

第06章_多表查询

第06章_多表查询 讲师&#xff1a;尚硅谷-宋红康&#xff08;江湖人称&#xff1a;康师傅&#xff09; 官网&#xff1a;http://www.atguigu.com 多表查询&#xff0c;也称为关联查询&#xff0c;指两个或更多个表一起完成查询操作。 前提条件&#xff1a;这些一起查询的表之…

<蓝桥杯软件赛>零基础备赛20周--第3周--填空题

报名明年4月蓝桥杯软件赛的同学们&#xff0c;如果你是大一零基础&#xff0c;目前懵懂中&#xff0c;不知该怎么办&#xff0c;可以看看本博客系列&#xff1a;备赛20周合集 20周的完整安排请点击&#xff1a;20周计划 每周发1个博客&#xff0c;共20周&#xff08;读者可以按…

MySQL(1):开始

概述 DB&#xff1a;数据库&#xff08;Database&#xff09; 即存储数据的“仓库”&#xff0c;其本质是一个文件系统。它保存了一系列有组织的数据。 DBMS&#xff1a;数据库管理系统&#xff08;Database Management System&#xff09; 是一种操纵和管理数据库的大型软件…

mac 安装homebrew ,golang

mac 安装homebrew ,golang 安装homebrew安装golang选择 apple arm 版本安装配置环境变量 安装homebrew /bin/zsh -c "$(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw/master/Homebrew.sh)"回车执行指令后&#xff0c;根据提示操作。具体包括以下提示操作&am…

腾讯云轻量服务器“镜像类型”以及“镜像”选择方法

腾讯云轻量应用服务器镜像类型分为应用镜像、系统镜像、Docker基础镜像、自定义镜像和共享镜像&#xff0c;腾讯云百科txybk.com来详细说下不同镜像类型说明和详细介绍&#xff1a; 轻量应用服务器镜像类型说明 腾讯云轻量应用服务器 应用镜像&#xff1a;独有的应用镜像除了包…

API安全之《大话:API的前世今生》

写在前面&#xff1a;本文结合API使用的业界现状&#xff0c;系统性地阐述API的基本概念、发展历史、表现形式等基础内容&#xff0c;主要包含以下内容&#xff1a; 1.什么是API 2.API的发展历史 3.现代API常用消息格式 4.top N 互联网企业API 使用现状 当前的世界是一个信…

九州未来入选“2023边缘计算产业图谱”三大细分领域

10月26日&#xff0c;边缘计算社区正式发布《2023边缘计算产业图谱》&#xff0c;九州未来凭借深厚的技术积累、优秀的产品服务、完善的产品解决方案体系以及开源贡献&#xff0c;实力入选图谱——边缘计算平台、边缘计算开源、边缘云服务提供商三大细分领域&#xff0c;充分彰…

uniapp保存网络图片

先执行下载uni.downloadFile接口&#xff0c;再执行保存图片uni.saveImageToPhotosAlbum接口。 // 保存二维码 saveQrcode() {var _this this;uni.downloadFile({url: _this.qrcodeUrl, //二维码网络图片的地址success(res) {console.log(res);uni.saveImageToPhotosAlbum({fi…

聊聊统一认证中的四种安全认证协议(干货分享)

大家好&#xff0c;我是陈哈哈。单点登录SSO的出现是为了解决众多企业面临的痛点&#xff0c;场景即用户需要登录N个程序或系统&#xff0c;每个程序与系统都有不同的用户名和密码。在企业发展初期&#xff0c;可能仅仅有几个程序时&#xff0c;管理账户和密码不是一件难事。但…

一文彻底理解python浅拷贝和深拷贝

目录 一、必备知识二、基本概念三、列表&#xff0c;元组&#xff0c;集合&#xff0c;字符串&#xff0c;字典浅拷贝3.1 列表3.2 元组3.3 集合3.4 字符串3.5 字典3.6 特别注意可视化展示浅拷贝总结 四、列表&#xff0c;元组&#xff0c;集合&#xff0c;字符串&#xff0c;字…

Python爬虫实战(六)——使用代理IP批量下载高清小姐姐图片(附上完整源码)

文章目录 一、爬取目标二、实现效果三、准备工作四、代理IP4.1 代理IP是什么&#xff1f;4.2 代理IP的好处&#xff1f;4.3 获取代理IP4.4 Python获取代理IP 五、代理实战5.1 导入模块5.2 设置翻页5.3 获取图片链接5.4 下载图片5.5 调用主函数5.6 完整源码5.7 免费代理不够用怎…

【UE 模型描边】UE5中给模型描边 数字孪生 智慧城市领域 提供资源下载

目录 0 引言1 Soft Outlines1.1 虚幻商城1.2 使用步骤 2 Auto Mesh Outlines2.1 虚幻商城2.2 使用步骤 3 Survivor Vision3.1 虚幻商城3.2 使用步骤 结尾 &#x1f64b;‍♂️ 作者&#xff1a;海码007&#x1f4dc; 专栏&#xff1a;UE虚幻引擎专栏&#x1f4a5; 标题&#xf…

C++ 指针

*放在哪里&#xff1f; 如果声明一个变量&#xff1a;int* b; 如果声明多个变量&#xff1a;int a,*b,*c; nullptr c11中NULL的变形&#xff0c;是一个特殊值&#xff0c;可以赋给任意类型的指针&#xff0c;代表该指针指向为空。 this指针 this指针不是一个const Test*(…