Mac JDK和SDK环境变量配置

一、Java JDK配置

1.下载并安装Java jdk1.8及以上,这个可以在网上自行搜索下载,这里不在详细描述

2.如果不知道JAVA_HOME的安装路径,可以输入命令查看:/usr/libexec/java_home -V ,如图

3.在终端输入命令:open ~/.zshrc,如果是首次配置没有.zshrc文件,可以touch一个。在.zshrc中配置jdk如下:

JAVA_HOME="/Library/Java/JavaVirtualMachines/jdk1.8.0_201.jdk/Contents/Home"
export JAVA_HOME
CLASS_PATH="$JAVA_HOME/lib"
PATH=".$PATH:$JAVA_HOME/bin"

4.保存,然后在终端输入命令,使配置立即生效:source ~/.zshrc

5.输入命令:echo $JAVA_HOME查看一下是否是刚才配置的Java路径,如果显示的路径一致,即配置成功

二、Android SDK配置

1.下载Android adt bundle或者直接安装Android studio,根据自己的需要选择下载,这个也在网上可以自行搜索下载,这里也不在详细描述如何下载安装的过程

2.ANDROID_HOME的默认安装路径是:/Users/用户/Library/Android/sdk,如果安装的路径有修改,在配置的时候更换一下即可。

在终端输入命令:open ~/.zshrc,打开.zshrc,配置如下:

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

3.输入:source ~/.zshrc,使配置立即生效

4.验证sdk是否配置成功,在终端输入:adb或adb version,打印信息如下即表示安装成功

三、配置好JDK和SDK环境变量可能会遇到的问题

在配置好JDK、SDK环境变量后,如果也遇到了每次需要执行:source ~/.bash_profile才能使JDK、SDK配置生效的问题,可以继续往下看,如果没有遇到这样的问题,可以忽略以下步骤。

(一)解决每次都需要执行source ~/.bash_profile,才能使配置生效的方法:

1.查看当前用户根目录下是否有.zshrc文件,如果没有可以touch一个
2.在终端输入命令:open ~/.zshrc,打开.zshrc,在文件的最后位置添加:source ~/.bash_profile,如图

3.保存,然后在终端输入,使配置立即生效:source ~/.zshrc。之后不用每次都输入source ~/.bash_profile了!

(二)如果在上面的.zshrc文件中,添加了source ~/.bash_profile后,导致系统其他命令不可以用的解决方法:

在终端输入:uninstall_oh_my_zsh。主要是因为安装了oh_my_zsh文件,将其卸载了即可。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

uniapp微信小程序解决open-type获取用户头像,返回临时路径问题!

解决 open-type 为 chooseAvatar,返回临时路径问题 文章目录 解决 open-type 为 chooseAvatar,返回临时路径问题效果图Demo获取头像回调数据结构效果图解决方式上传到服务器转base64 基于微信小程序获取头像昵称规则调整后,当小程序需要让用户…

CS 下载安装详解

目录 CS简介: CS下载地址: CS的安装: CS简介: CS为目前渗透中常用的一款工具,它的强大在于控制windows木马,CS主要控制windows木马。 CS下载地址: 链接:https://pan.baidu.com/…

华为OD机试【找出通过车辆最多颜色】(java)(100分)

1、题目描述 在一个狭小的路口,每秒只能通过一辆车,假设车辆的颜色只有 3 种,找出 N 秒内经过的最多颜色的车辆数量。 三种颜色编号为0 ,1 ,2。 2、输入描述 第一行输入的是通过的车辆颜色信息[0,1,1,2] &#xff0…

huggingface笔记: accelerate estimate-memory 命令

探索可用于某一机器的潜在模型时,了解模型的大小以及它是否适合当前显卡的内存是一个非常复杂的问题。为了缓解这个问题,Accelerate 提供了一个 命令行命令 accelerate estimate-memory。 accelerate estimate-memory {MODEL_NAME} --library_name {LIBR…

AIGC-风格迁移-style Injection in Diffusion-CVPR2024HighLight-论文精度

Style Injection in Diffusion: A Training-free Approach for Adapting Large-scale Diffusion Models for Style Transfer-CVPR2024HighLight 代码:https://github.com/jiwoogit/StyleID 论文:https://jiwoogit.github.io/StyleID_site/ 为了解决风格迁…

Oracle的安装以及一些相关问题

系列文章目录 Oracle的安装以及一些相关问题 文章目录 系列文章目录前言一、Oracle的安装二、常用命令三、误删dbf四、PLSQL乱码五、oracle更换数据库字符集总结 前言 一段时间没更新,主要最近一直在找工作,最终还是顺着春招找到工作了,现在…

使用nvm管理nodejs多个版本

在工作中,可能会遇到同时使用vue2和vue3开发项目,但他们的nodejs版本又不同,给你带来了困扰,不知道怎么办?这时就可以使用nvm管理多个nodejs版本 第一步:先去github上面下载nvm 这是下载地址:…

大语言模型的工程技巧(四)——梯度检查点

相关说明 这篇文章的大部分内容参考自我的新书《解构大语言模型:从线性回归到通用人工智能》,欢迎有兴趣的读者多多支持。 本文将讨论如何利用梯度检查点算法来减少模型在训练时候(更准确地说是运行反向传播算法时)的内存开支。…

C++_string简单源码剖析:模拟实现string

文章目录 🚀1.构造与析构函数🚀2.迭代器🚀3.获取🚀 4.内存修改🚀5. 插入🚀6. 删除🚀7. 查找🚀8. 交换swap🚀9. 截取substr🚀10. 比较符号重载🚀11…

【IC设计】牛客网-序列检测习题总结

文章目录 状态机基础知识VL25 输入序列连续的序列检测VL26 含有无关项的序列检测VL27 不重叠序列检测VL28 输入序列不连续的序列检测参考资料 状态机基础知识 VL25 输入序列连续的序列检测 timescale 1ns/1ns module sequence_detect(input clk,input rst_n,input a,output re…

vue三级联动组件

背景 项目中经常出现三级下拉框组件的要求,这种组件其中一级发生变化,子级的组件就会发生变化如果这一个组件,单独作为搜索条件使用,很好写,同时作为搜索条件和form回写组件,回显就比较困难 子组件代码 将与…

一分钟带你创建百万测试数据,玩转软件测试

准备测试数据是软件测试中非常重要的一个环节,无论是手工测试、动化测试还是性能测试,生成大量测试数据以评估性能是一项重要任务。 然而,寻找合适的测试数据并确保其质量常常是一项繁琐且耗时的工作。 先来看一下准备测试数据常见的四类方法…

vue 区分多环境打包

需求:区分不同的环境(测试、正式环境),接口文档地址不同; 配置步骤: 1、在根目录下面新建 .env.xxx 文件(xxx 根据环境不同配置) 文件中一定要配置的参数项为:NODE_ENV…

北邮22级信通院DSP:用C++程序实现给定参数下四种滤波器的Butterworth模拟滤波器设计:给定上下截频和衰减系数求H(p)和H(s)

北邮22信通一枚~ 跟随课程进度更新北邮信通院DSP的笔记、代码和文章,欢迎关注~ 获取更多文章,请访问专栏: 北邮22级信通院DSP_青山入墨雨如画的博客-CSDN博客 目录 一、 核心算法 1.1判断滤波器类型 1.2 带通滤波器BP 1.3带阻滤波器B…

634 · 单词矩阵

链接&#xff1a;LintCode 炼码 - ChatGPT&#xff01;更高效的学习体验&#xff01; . - 力扣&#xff08;LeetCode&#xff09; 题解&#xff1a; class Solution { public: struct Trie {Trie() {next.resize(26, nullptr);end false;} std::vector<Trie*> next; b…

信息系统项目管理师十大管理计划内容概览

目录 1.项目章程2.项目管理计划3.范围管理计划4.需求管理计划5.进度管理计划6.成本管理计划7.质量管理计划8.资源管理计划9.沟通管理计划10.风险管理计划11.采购管理计划12.干系人参与计划 点我去AIGIS公众号查看本文 1.项目章程 项目目标成功标准退出标准关键干系人名单发起人…

【基于springboot+vue的房屋租赁系统】

介绍 本系统是基于springbootvue的房屋租赁系统&#xff0c;数据库为mysql&#xff0c;可用于日常学习和毕设&#xff0c;系统分为管理员、房东、用户&#xff0c;部分截图如下所示&#xff1a; 部分界面截图 用户 管理员 联系我 微信&#xff1a;Zzllh_

【小沐学GIS】GDAL库安装和使用(C++、Python)

文章目录 1、简介2、下载和编译&#xff08;C&#xff09;2.1 二进制构建2.1.1 Conda2.1.2 Vcpkg 2.2 源代码构建2.2.1 nmake.opt方式构建2.2.2 generate_vcxproj.bat方式构建 2.3 命令行测试2.3.1 获取S57海图数据 2.4 代码测试2.4.1 读取tiff信息 3、Python3.1 安装3.2 测试3…

实时通信的方式——WebRTC

文章目录 基于WebRTC实现音视频通话P2P通信原理如何发现对方&#xff1f; 不同的音视频编解码能力如何沟通&#xff1f;&#xff08;媒体协商SDP&#xff09;如何联系上对方&#xff1f;&#xff08;网络协商&#xff09; 常用的API音视频采集getUserMedia核心对象RTCPeerConne…

对vue3/core源码ref.ts文件API的认识过程

对toRef()API的认识的过程: 最开始认识toRef()是从vue3源码中的ref.ts看见的,右侧GPT已经举了例子 然后根据例子,在控制台输出ref对象是什么样子的: 这就是ref对象了,我们根据对象中有没有__v_isRef来判断是不是一个ref对象,当对象存在且__v_isRef true的时候他就判定为是一个…