android studio官方网站关于android SDK环境变量的设置说明晦涩难懂

本文主要是介绍android studio官方网站关于android SDK环境变量的设置说明晦涩难懂,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

这是它中文版原文:
您可以通过设置环境变量来配置 Android Studio 和命令行工具的行为。其中一个最有用的环境变量之一是 ANDROID_HOME,很多工具都会读取该变量来确定 Android SDK 安装目录。如需通过命令行运行工具,而不包含可执行文件的完整路径,请将命令搜索路径环境变量设置为包含 ANDROID_HOME/tools、ANDROID_HOME/tools/bin 和 ANDROID_HOME/platform-tools。

先说简单结论,后面的长篇大论,愿意深入了解的朋友再看。
“命令搜索路径环境变量”这句话是相当绕口,其实就是环境变量当中那个名为path的变量。
虽然安卓studio官网有很多内容写得晦涩难懂,但是很多内容其实都有点进去进一步说明的选项,虽然这也可能反倒让人更迷糊(因为里面可能让人看不懂的地方更多了),但多一些参考资料,总比啥都没有说明来得强。

回到正文,我最开始是看不懂它那个基础说明的,也是问了AI才搞明白的(主要是令自己回忆起了久远的知识,结合起来就弄懂了)。

我先说说我的理解,对于大部分的程序员来讲,其实都知道怎么设置环境变量,如果需要系统级别的,就在系统那个环境变量上改,如果需要用户级别的,就在用户级别的环境变量上改。
通常系统级别的环境变量需要重启电脑。而用户级别似乎不用重启(我很少改用户级别的环境变量,不太确定这一点)。主要是考虑到系统级别环境变量可以对任意用户都起作用,所以我本人习惯性改系统级别的环境变量。
然后通常改法,一般要么就是找path,然后在里面添加对应的需要访问到的文件或可执行程序的路径。
要么就是完全新建一个环境变量,变量的名字和值(键值,是这么理解的吧?我也不太确定哈)都由自己来填。当然,因为特定程序的要求,通常名字也是它们指定了的。比如安卓这个,它要求你新建的环境变量的名字是ANDORID_HOME,你就得照着它这个来,不然人家程序不认识,这个值是对应的Android SDK的路径。
这个,我刚看它们安卓studio官网的说明倒是一下就知道。只是后面几个就有点困惑了,尤其是它这句话,我看完愣是没看明白:请将命令搜索路径环境变量设置为包含 ANDROID_HOME/tools、ANDROID_HOME/tools/bin 和 ANDROID_HOME/platform-tools。
也是让AI给我汉语转汉语地翻译了一波才搞懂,简直了。
说白了,就是要把这后面几个路径添加到path当中。可像“ANDROID_HOME/tools”这样的根本不是路径,那玩儿个蛋啊。然后我就问AI了,其实AI给的答案也有一点点误导性,后面我会贴出来AI的回答。
要不是起以前见过类似的东西,我都忘了这茬了。这茬是哪茬?就是环境变量的引用问题。
在环境变量当中,存在着一个环节变量引用另一个环境变量的情况,最早我是在安装JDK的时候碰到的。很久以前的事情了。这里不扯远了,我们就谈安卓这个SDK,它官方既然举例,那就不会无缘无故放个ANDROID_HOME在这里吧?而且它前面既然命名了名为ANDROID_HOME的环境变量,后面这几个内部的文件夹,其实应该是鼓励用户通过引用来填写的。
在windows当中,可以通过在path的值当中用两个%把一个环境变量包裹起来,从而引用它的值。
比如%ANDROID_HOME%\tools这其实就是引用了ANDROID_HOME的值(在这里我们知道是AndroidSDK所在的路径)后面加个\tools,连起来就是安卓SDK(我这里打中文了,老打那个Android真的折磨人)目录下的tools目录这个路径。
剩下两个也是同样理解,只要使用了%ANDROID_HOME%,就等于用了安卓SDK的路径,只不过后面跟的目录不同,就对应到不同的路径了。

这样做的好处是,只需要修改一个ANDROID_HOME的路径,剩下的也跟着变过来了。AI的答案虽然也没毛病,但是它实际上没有考虑到环境变量的相互引用这一层。
说白了还是要见的错误情况够多,才能熟能生巧一下子反应过来。

linux上的环境变量我不太熟悉,这里就不班门弄斧了,只提供下AI的答案:
Windows
右键点击“我的电脑”或“此电脑”,选择“属性”。
点击“高级系统设置”。
在系统属性窗口中,点击“环境变量”。
在“系统变量”区域,找到并选择“Path”变量,然后点击“编辑”。
在编辑界面,点击“新建”,添加以下三个路径(确保把[你的Android SDK路径]替换成你的实际路径):
[你的Android SDK路径]\tools
[你的Android SDK路径]\tools\bin
[你的Android SDK路径]\platform-tools
点击“确定”保存更改。
macOS/Linux
打开终端。
你需要编辑 .bash_profile, .bashrc 或 .zshrc 文件,这取决于你使用的是哪种shell。可以使用文本编辑器,例如使用命令 nano ~/.bash_profile。
在文件的末尾,添加以下行(确保把[你的Android SDK路径]替换成你的实际路径):
bash
Copy code
export PATH= P A T H : [ 你的 A n d r o i d S D K 路径 ] / t o o l s e x p o r t P A T H = PATH:[你的Android SDK路径]/tools export PATH= PATH:[你的AndroidSDK路径]/toolsexportPATH=PATH:[你的Android SDK路径]/tools/bin
export PATH=$PATH:[你的Android SDK路径]/platform-tools
保存文件并关闭编辑器。
在终端中,运行 source ~/.bash_profile(或相应的文件名),以使更改生效。

这篇关于android studio官方网站关于android SDK环境变量的设置说明晦涩难懂的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/553126

相关文章

Linux join命令的使用及说明

《Linuxjoin命令的使用及说明》`join`命令用于在Linux中按字段将两个文件进行连接,类似于SQL的JOIN,它需要两个文件按用于匹配的字段排序,并且第一个文件的换行符必须是LF,`jo... 目录一. 基本语法二. 数据准备三. 指定文件的连接key四.-a输出指定文件的所有行五.-o指定输出

Redis中Hash从使用过程到原理说明

《Redis中Hash从使用过程到原理说明》RedisHash结构用于存储字段-值对,适合对象数据,支持HSET、HGET等命令,采用ziplist或hashtable编码,通过渐进式rehash优化... 目录一、开篇:Hash就像超市的货架二、Hash的基本使用1. 常用命令示例2. Java操作示例三

Redis中Set结构使用过程与原理说明

《Redis中Set结构使用过程与原理说明》本文解析了RedisSet数据结构,涵盖其基本操作(如添加、查找)、集合运算(交并差)、底层实现(intset与hashtable自动切换机制)、典型应用场... 目录开篇:从购物车到Redis Set一、Redis Set的基本操作1.1 编程常用命令1.2 集

Python sys模块的使用及说明

《Pythonsys模块的使用及说明》Pythonsys模块是核心工具,用于解释器交互与运行时控制,涵盖命令行参数处理、路径修改、强制退出、I/O重定向、系统信息获取等功能,适用于脚本开发与调试,需... 目录python sys 模块详解常用功能与代码示例获取命令行参数修改模块搜索路径强制退出程序标准输入

在Node.js中使用.env文件管理环境变量的全过程

《在Node.js中使用.env文件管理环境变量的全过程》Node.js应用程序通常依赖于环境变量来管理敏感信息或配置设置,.env文件已经成为一种流行的本地管理这些变量的方法,本文将探讨.env文件... 目录引言为什么使php用 .env 文件 ?如何在 Node.js 中使用 .env 文件最佳实践引

Java实现为PDF设置背景色和背景图片

《Java实现为PDF设置背景色和背景图片》在日常的文档处理中,PDF格式因其稳定性和跨平台兼容性而广受欢迎,本文将深入探讨如何利用Spire.PDFforJava库,以简洁高效的方式为你的PDF文档... 目录库介绍与安装步骤Java 给 PDF 设置背景颜色Java 给 PDF 设置背景图片总结在日常的

C#中通过Response.Headers设置自定义参数的代码示例

《C#中通过Response.Headers设置自定义参数的代码示例》:本文主要介绍C#中通过Response.Headers设置自定义响应头的方法,涵盖基础添加、安全校验、生产实践及调试技巧,强... 目录一、基础设置方法1. 直接添加自定义头2. 批量设置模式二、高级配置技巧1. 安全校验机制2. 类型

python库pydantic数据验证和设置管理库的用途

《python库pydantic数据验证和设置管理库的用途》pydantic是一个用于数据验证和设置管理的Python库,它主要利用Python类型注解来定义数据模型的结构和验证规则,本文给大家介绍p... 目录主要特点和用途:Field数值验证参数总结pydantic 是一个让你能够 confidentl

MySQL之复合查询使用及说明

《MySQL之复合查询使用及说明》文章讲解了SQL复合查询中emp、dept、salgrade三张表的使用,涵盖多表连接、自连接、子查询(单行/多行/多列)及合并查询(UNION/UNIONALL)等... 目录复合查询基本查询回顾多表查询笛卡尔积自连接子查询单行子查询多行子查询多列子查询在from子句中使

Java利用Spire.XLS for Java设置Excel表格边框

《Java利用Spire.XLSforJava设置Excel表格边框》在日常的业务报表和数据处理中,Excel表格的美观性和可读性至关重要,本文将深入探讨如何利用Spire.XLSforJava库... 目录Spire.XLS for Java 简介与安装Maven 依赖配置手动安装 JAR 包核心API介