当前位置: 首页 > news >正文

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

相关文章:

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

关于作者&#xff1a;CSDN内容合伙人、技术专家&#xff0c; 从零开始做日活千万级APP。 专注于分享各领域原创系列文章 &#xff0c;擅长java后端、移动开发、商业变现、人工智能等&#xff0c;希望大家多多支持。 目录 一、导读二、概览macOS基础知识 三、设置环境变量3.1 终…...

设计模式(全23种)

1.前言 1.CUML类图 面向对象设计主要就是使用UML的类图&#xff0c;类图用于描述系统中所包含的类以及它们之间的相互关系&#xff0c;帮助人们简化对系统的理解&#xff0c;它是系统分析和设计阶段的重要产物&#xff0c;也是系统编码和测试的重要模型依据。下面基于C这门语…...

腾讯云轻量应用服务器“月流量”不够用怎么办?

腾讯云轻量应用服务器“月流量”不够用怎么办&#xff1f;超额部分支付流量费&#xff0c;价格为0.8元/GB。腾讯云轻量服务器月流量什么意思&#xff1f;月流量是指轻量服务器限制每月流量的意思&#xff0c;不能肆无忌惮地使用公网&#xff0c;流量超额需要另外支付流量费&…...

【esp32]VSCode-SPI控制OLED

根据Adafruit_GFX第三方库&#xff0c;其drawPixel方法由子类实现 代码&#xff1a;在OLED实现函数功能 先声明类 SPI库和Adafruit库、SSD1306 #include <Arduino.h> #include <SPI.h> #include <Adafruit_GFX.h> #include <Adafruit_SSD1306.h> …...

vue 的一些拦截

Vue.js 允许你在应用程序中进行路由和HTTP请求的拦截&#xff0c;以便在特定条件下执行操作或处理数据。以下是一些关于拦截的常见用例&#xff1a; 路由拦截&#xff1a; 你可以使用Vue Router来拦截路由导航。这通常用于权限控制&#xff0c;例如&#xff0c;当用户未登录时…...

iview表单提交验证特殊组件时需要注意的问题

使用iview的朋友们&#xff0c;对于表单验证肯定不陌生&#xff0c;通过validate来进行提交时的参数验证&#xff0c;一般来说&#xff0c;对于select或者input之列的表单组件&#xff0c;比较好判断&#xff0c; { required: true, message: ‘The name cannot be empty’, tr…...

OpenCV 画极线

from pylab import * import cv2from backend._gs_ import stereo_cameradef compute_epipole(F):""" 从基础矩阵 F 中计算右极点(可以使用 F.T 获得左极点)"""# 返回 F 的零空间(Fx0)U,S,V np.linalg.svd(F)e V[-1]return e/e[2]def plot_epi…...

Linux命令(109)之md5sum

linux命令之md5sum 1.md5sum介绍 linux命令md5sum是用来计算和校验文件的MD5值。 另外&#xff1a; md5sum是用来校验文件内容&#xff0c;与文件名是否相同无关 md5sum校验文件时&#xff0c;逐位校验&#xff0c;如果文件越大&#xff0c;校验所需时间就越长 2.md5sum用…...

JavaEE入门介绍,HTTP协议介绍,常用状态码及含义,服务器介绍(软件服务器、云服务器)

一、JavaEE入门 JavaEE&#xff08;Java Enterprise Edition&#xff09;&#xff0c;Java企业版&#xff0c;是一个用于企业级web开发&#xff08;不需要使用控制台&#xff09;平台。最早由Sun公司定制并发布&#xff0c;后由Oracle负责维护。 JavaEE平台规范了在开发企业级w…...

FPGA时序分析与约束(7)——通过Tcl扩展SDC

一、概述 术语“Synopsys公司设计约束”&#xff08;又名SDC&#xff0c;Synopsys Design Constraints&#xff09;用于描述对时序、功率和面积的设计要求&#xff0c;是EDA工具中用于综合、STA和布局布线最常用的格式。本文介绍时序约束的历史概要和SDC的描述。 二、时序约束…...

C++面试——多线程详解

C11提供了语言层面上的多线程&#xff0c;包含在头文件<thread>中。它解决了跨平台的问题&#xff0c;提供了管理线程、保护共享数据、线程间同步操作、原子操作等类。C11 新标准中引入了5个头文件来支持多线程编程&#xff0c;如下图所示&#xff1a; 多进程与多线程 多…...

matlab 布尔莎七参数坐标转换模型

目录 一、算法原理二、代码实现三、结果展示本文由CSDN点云侠原创,原文链接。爬虫自重,把自己当个人。 一、算法原理 算法原理与实现代码已在免费文章:布尔莎七参数坐标转换模型一文中给出,不想看付费文章直接跳转即可。 二、代码实现 clc; clear; close all; %% --...

Android---StartActivity启动过程

在手机桌面应用中点击某一个 icon 之后&#xff0c;最终是通过 startActivity 去打开某一个 Activity 页面。我们知道&#xff0c;Android 中的一个 APP 就相当于一个进程。所以&#xff0c;startActivity 操作中还需要判断&#xff0c;目标 Activity 的进程是否已经创建。如果…...

隐私计算python实现Paillier同态加密

1.基本概念 Paillier同态加密是一种公钥加密方案&#xff0c;具有同态加密的特性。它由Pascal Paillier于1999年提出。 Paillier同态加密基于数论问题&#xff0c;其安全性基于大整数分解问题和离散对数问题的困难性。该方案可以用于保护隐私数据&#xff0c;同时支持在加密状态…...

代码随想录打卡第五十五天|● 300.最长递增子序列 ● 674. 最长连续递增序列 ● 718. 最长重复子数组

300.最长递增子序列 **题目&#xff1a;**给你一个整数数组 nums &#xff0c;找到其中最长严格递增子序列的长度。子序列 是由数组派生而来的序列&#xff0c;删除&#xff08;或不删除&#xff09;数组中的元素而不改变其余元素的顺序。例如&#xff0c;[3,6,2,7] 是数组 [0…...

C# 创建Oceanbase ODBC数据源 DSN

需要管理员权限打开VS&#xff0c;因为只有管理员权限可以修改注册表 using Microsoft.Win32; using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Data.Odbc; using System.Diagnostics; using System.Drawing;…...

C++ 常用函数汇总#include<algorithm>(3万字总结)

文章目录 1. 排序(Sorting)1.1 sort(first, last):对指定范围内的元素进行升序排序1.2 stable_sort(first, last):在保持相等元素的相对顺序的情况下对指定范围内的元素进行排序1.3 partial_sort(first, middle, last):对范围内的元素进行部分排序,使得前部分是最小的,但…...

Google Archive Patch 基础应用代码记录

项目地址 Google Archive Patch 前置 <!-- 差量应用模块 --> <dependency><groupId>com.google.archivepatcher</groupId><artifactId>archive-patch-applier</artifactId><version>1.0.4</version><scope>test</…...

机器学习——代价敏感错误率与代价曲线

文章目录 代价敏感错误率实现代价曲线例子 代价敏感错误率 指在分类问题中&#xff0c;不同类别的错误分类所造成的代价不同。在某些应用场景下&#xff0c;不同类别的错误分类可能会产生不同的代价。例如&#xff0c;在医学诊断中&#xff0c;将疾病患者错误地分类为健康人可…...

如何利用 ChatGPT 提升编程技能

目录 前言代码命名与 ChatGPT设计模式与 ChatGPT代码重构与 ChatGPT代码优化与 ChatGPTChatGPT 的潜在挑战与限制成功案例分析最佳实践与注意事项结语 前言 编程是一项充满创造性和挑战的任务&#xff0c;但也是一个需要花费大量时间和精力的领域。在日益复杂的软件开发环境中…...

【OSG学习笔记】Day 18: 碰撞检测与物理交互

物理引擎&#xff08;Physics Engine&#xff09; 物理引擎 是一种通过计算机模拟物理规律&#xff08;如力学、碰撞、重力、流体动力学等&#xff09;的软件工具或库。 它的核心目标是在虚拟环境中逼真地模拟物体的运动和交互&#xff0c;广泛应用于 游戏开发、动画制作、虚…...

vue3 字体颜色设置的多种方式

在Vue 3中设置字体颜色可以通过多种方式实现&#xff0c;这取决于你是想在组件内部直接设置&#xff0c;还是在CSS/SCSS/LESS等样式文件中定义。以下是几种常见的方法&#xff1a; 1. 内联样式 你可以直接在模板中使用style绑定来设置字体颜色。 <template><div :s…...

(转)什么是DockerCompose?它有什么作用?

一、什么是DockerCompose? DockerCompose可以基于Compose文件帮我们快速的部署分布式应用&#xff0c;而无需手动一个个创建和运行容器。 Compose文件是一个文本文件&#xff0c;通过指令定义集群中的每个容器如何运行。 DockerCompose就是把DockerFile转换成指令去运行。 …...

Spring数据访问模块设计

前面我们已经完成了IoC和web模块的设计&#xff0c;聪明的码友立马就知道了&#xff0c;该到数据访问模块了&#xff0c;要不就这俩玩个6啊&#xff0c;查库势在必行&#xff0c;至此&#xff0c;它来了。 一、核心设计理念 1、痛点在哪 应用离不开数据&#xff08;数据库、No…...

sipsak:SIP瑞士军刀!全参数详细教程!Kali Linux教程!

简介 sipsak 是一个面向会话初始协议 (SIP) 应用程序开发人员和管理员的小型命令行工具。它可以用于对 SIP 应用程序和设备进行一些简单的测试。 sipsak 是一款 SIP 压力和诊断实用程序。它通过 sip-uri 向服务器发送 SIP 请求&#xff0c;并检查收到的响应。它以以下模式之一…...

排序算法总结(C++)

目录 一、稳定性二、排序算法选择、冒泡、插入排序归并排序随机快速排序堆排序基数排序计数排序 三、总结 一、稳定性 排序算法的稳定性是指&#xff1a;同样大小的样本 **&#xff08;同样大小的数据&#xff09;**在排序之后不会改变原始的相对次序。 稳定性对基础类型对象…...

比较数据迁移后MySQL数据库和OceanBase数据仓库中的表

设计一个MySQL数据库和OceanBase数据仓库的表数据比较的详细程序流程,两张表是相同的结构,都有整型主键id字段,需要每次从数据库分批取得2000条数据,用于比较,比较操作的同时可以再取2000条数据,等上一次比较完成之后,开始比较,直到比较完所有的数据。比较操作需要比较…...

【 java 虚拟机知识 第一篇 】

目录 1.内存模型 1.1.JVM内存模型的介绍 1.2.堆和栈的区别 1.3.栈的存储细节 1.4.堆的部分 1.5.程序计数器的作用 1.6.方法区的内容 1.7.字符串池 1.8.引用类型 1.9.内存泄漏与内存溢出 1.10.会出现内存溢出的结构 1.内存模型 1.1.JVM内存模型的介绍 内存模型主要分…...

Ubuntu Cursor升级成v1.0

0. 当前版本低 使用当前 Cursor v0.50时 GitHub Copilot Chat 打不开&#xff0c;快捷键也不好用&#xff0c;当看到 Cursor 升级后&#xff0c;还是蛮高兴的 1. 下载 Cursor 下载地址&#xff1a;https://www.cursor.com/cn/downloads 点击下载 Linux (x64) &#xff0c;…...

【Linux】自动化构建-Make/Makefile

前言 上文我们讲到了Linux中的编译器gcc/g 【Linux】编译器gcc/g及其库的详细介绍-CSDN博客 本来我们将一个对于编译来说很重要的工具&#xff1a;make/makfile 1.背景 在一个工程中源文件不计其数&#xff0c;其按类型、功能、模块分别放在若干个目录中&#xff0c;mak…...