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

Android Studio 安装配置教程(Windows最详细版)

目录

前言

Android Studio 下载

Android Studio 安装

Android Studio 使用

一、创建默认项目(Compose)

二、创建常规项目

三、使用ViewBinding 

四、查看Gradle版本、SDK版本、JDK版本

① Gradle版本

② SDK版本

③ JDK版本


前言

  Android开发不可或缺的一个开发工具,Android Studio,这个开发工具也是Google力推的,如果你还在使用Eclipse的话,那么可以考虑升级一下,在早期的Android Studio版本中并没有自带JDK,因此你会看到我们需要配置Java JDK的环境变量,才能够正常编译Android项目,而在新版本中,你就不需要这样做了,因为Android Studio中自带了一个JDK版本,目前来说是跟随版本来的,就拿最新的Android Studio来说,根据Gradle版本规定最低要求JDK 17。

  那么对于需要安装Android Studio的开发者来说,你需不需要配置电脑的JDK环境变量呢?分情况,如果你只是做Android 开发的话,那么是不需要配置环境变量的,在一些特殊场合下才会用到相关的内容,而如果你还做Java开发的话那么你是需要配置环境变量的,请参考:Java环境变量配置,这个文章是根据JDK 1.8做的,如果你要使用JDK11、JDK17的话最好是再找找相关的配置文章,总体差别不大,配置方式都差不多,只不过JDK11、JDK17需要手动去配置jre的环境。

Android Studio 下载

  Android Studio下载地址-谷歌中国,最新版本目前是Android Studio Iguana | 2023.2.1,你可以到官网上去找之前的版本,手上有工作项目的不要去轻易尝试,说不定你就编译失败了,失败了也不要担心,解决就可以了。

点击 Download Android Studio 进行下载,会出现一个弹窗告诉这个版本的一些信息。

不用管他,直接滑动到最后。

勾选上,点击按钮下载即可,下载好之后会在本地有一个exe安装程序,下面来安装。

Android Studio 安装

双击运行安装。

点击 Next 下一步。

点击 Next 下一步。

默认会给你装到C盘,这里我修改到了D盘(PS: 这里一定要改路径,否则随着你开发过程中,你的C盘空间会越来越小,这里我放的是D盘,只要不装在系统盘里,其他盘随意,不过也要有一定空间才行。),点击 Next 下一步。

点击 Next 下一步(PS:这里没有其他骚操作,不要乱来)

等待安装完成。

点击 Next 下一步。

点击Finish进行第一次运行了,如果你不是第一安装了,那么就是覆盖安装,也是一步到位,没啥好讲的。现在我们运行一下:

如果你选择上面那个就会在你电脑安装默认的配置,这里不导入配置,直接OK即可,然后你就会看到AS的启动图片:

不得不说比之前的要好看一些,然后会弹出。

就是让发送使用的信息给谷歌,发个锤子,点击“Don’t send”。

然后我们进入了欢迎页面,这个图片是告诉你,Android能做的事情有手机、穿戴设备、TV、车载,还有智能设备等,点击 Next 。

这个地方是说你没有SDK,让你设置代码,这里不设置,点击 Cancel

Android Studio 默认会把你的SDK下载放在C盘,到时候你的C盘就炸了,谷歌太坏了,很多新手都会直接下一步,这里你需要选择Custom,切记切记,然后点击 Next 下一步。

之前我们选择自定义SDK的路径,在这里就需要自己设置路径了,如果你之前有下载过Sdk,而这次又将Sdk的目录选择为之前的目录,那么就会出现一些组件提示(installed),我选择在D盘下,改好之后就点击 Next 。

这里是给Android模拟器进行内存设置,推荐4G,这里直接Next

这里是安装Android虚拟器管理驱动,点击Next即可。

接下来就是下载需要的一些SDK了,点击Next

在下载前,需要你接受一些协议,你不会真去看这些协议的,除非你是想摸鱼,左侧的三项,每一项选中之后点击Accpet,接受协议,三项都通过之后,你会看到Finish按钮亮起,点击Finish

这一步比较考验网络,通俗一点就是看命了,命硬的一步到位,命苦的喝杯咖啡以毒攻毒。如果你的网络不支持很有可能导致失败,那么你可能需要更换网络环境再进行重新安装尝试,这一点就很烦了,很多人都会遇到这个问题。运气好的网速好的情况下也就几分钟,不好几个小时都是有可能的。很明显,我的这个网速就不这么样,这个时候你就可以泡一杯咖啡,说到咖啡你有没有想到Java的图标呢?

终于组件下载完毕了,这里你看到有一项安装失败的,先不管他,点击Finish。现在我们已经安装好了Android Studio,下面就可以开始使用了。

Android Studio 使用

这里我们点击New Project,创建一个新的项目。

这里选中的是Empty Activity,在新版本的Android Studio中Empty Activity模板默认的就是Compose模板,如果你没有接触过,可以去了解一下,如果你希望创建Java或者Kotlin语言模板的项目,那么就选择Empty Views Activity,点击Next,这里我选择的是Empty Activity模板,Empty Views Activity模板后面会提到。

一、创建默认项目(Compose)

这里会默认创建一个Jetpack Compose项目,默认语言就是Kotlin,Compose和之前的XML布局的方式还是有很大区别,然后我们改了项目的名称,改了项目存放的路径,默认在C盘,我改到了D盘,而这里最低兼容SDK为API 24,对应Android7.0,这里有一个需要注意的地方那就是,Build configuration language,在之前的AS中已经可以使用Kotlin作为Gradle的语言了,只不过没有主推,而现在的这个默认选项的意思就是使用Kotlin作为Gradle的构建语言了,之前一直都是使用Groovy进行构建的,点击下拉框可以看到,如下图所示。

那么选择什么类型呢?我们分情况来看,分为如下三种情况,就以开发者自身来看。

小白开发者:建议你选择Groovy DSL,这样Gradle的语言就和之前你是用的AS一样,同时,如果你遇到相关的问题去网上搜索大部分资料也都是基于Groovy语言的,Kotlin语言的比较少,毕竟推出的时间不长。更何况如果你还有一些老项目的话,更加要选择Groovy,听人劝,吃饱饭。
专一开发者:这个不是说感情专一,而是对于AS编辑器只用一个版本,比如现在还有使用Android Studio3.5、4.1的,但是实际工作中需要他升级AS的版本,那么到这个版本时,如果对自己有信心并且有时间解决相关的问题,那么可以选择Kotlin,也可以选择Groovy。
老油条开发者:爱咋咋地。
如果你选择Kotlin DSL,点击Finish。

直接进入项目页面,并且你会看到底部在下载一些SDK文件,这个过程也需要你的网络条件比较好,否则轻则速度很慢,重则直接连接超时,你会看到一些报错的字样。

我这里比较顺利,如果不顺利的话,可能就是不断的提示你超时或者连接失败。  第一次创建项目,下载的内容会比较多,这里以gradle为主要内容,其他内容就是支持项目编译运行所需要的插件,组件等内容,而这个gradle如果网络不好就会直接停止下载,你可以切换网络环境继续下载,直到你的项目可以正常运行为止。 这段话很重要,评论区很多人都会遇到这个问题,问我怎么办,其实就是你当前的网络下载资源受限或者是很慢导致编译时候,这个时候你就手机开个热点,电脑连上然后Try Again就行了,另外也和手机卡的网络有关系,三大运营商都可以试试,一个人不可能集齐三个运营商,一堆人就很简单了。另外如果你这里更换了网络也不行,那么就只能尝试另一种方式了,那就是手动下载Gradle版本然后解压到指定目录下,你可以上网上去看看,我不推荐这种,但是你网络不给力,也只能这么操作了。真正的强者从不抱怨环境(手动狗头)

完成之后我们可以直接启动运行,你也可以使用快捷键Shift + F10,顺利的话你就运行成功了,否则你可能会出现下面的弹窗提示。

需要你安装HAXM,这个前面我们就已经是安装失败了,那么点击OK,然后继续下一步。

到这里为止你会发现还是不行,那么我们就需要检查一下自己的电脑有没有开启“Intel (VMX) Virtual Technology” (或者叫虚拟化技术),这个根据自己的电脑品牌去进行操作,那么换个方式,都需要进入BIOS里面,这里我就不多说了,自行百度解决。

开启VT之后,再打开AS运行项目,这次就会成功了。

已经运行到虚拟机上了,到这里创建Compose项目,就完成了。

二、创建常规项目

  相信会Compose的还是少数,虽然Google官方在推这个组件,但是在国内,用的还是在少数,大部分人不会轻易去使用,尤其是在你不熟悉的时候,但是学习还是可以的,因此我们下面来创建常规的项目,常规的项目就分Java和Kotlin两种语言了,据我所知,目前很多学校里就是用Kotlin作为主要语言的,那么我们就来创建一个Kotlin语言的项目吧。

  File → New → New Project,会出现一个弹窗。

这里我们选择Empty Views Activity,点击Next

这里的项目就和我们之前Android Studio创建项目的方式一样了,语言你可以切换Java,Kotlin,这里就选择Kotlin,点击 Finish

这里也会下载一堆插件,同样需要网络比较好的情况,我大概花了31分钟,下载完成之后我们直接运行看看。

很顺利,我们又运行成功了,这是Kotlin的项目,Kotlin项目的开发你需要掌握Kotlin语言,不然很多的特性你都看不懂,学会了就用起来很爽,下面我们来使用ViewBinding,这是Google官方推出的一个Jetpack 组件,下面我将会分别在Kotlin语言和Java语言中使用,至于Compose中是不需要这个组件的,因为Compose项目中没有xml,注意。

三、使用ViewBinding

  在使用ViewBinding之前,我们先了解它是用来干什么的,一句话概括就是可以让你不用再写findViewById(),因为常规的Android项目都是代码和布局XML构成页面,我们在页面上去完成自己的业务需求逻辑,业务功能,而代码中使用XML中的控件,首先要给控件Id,其次要实例化,通过findViewById()来完成,这个步骤在XML中控件很多的时候就尤为繁琐,因此Google推出ViewBinding来解决这一问题,如果你想知道ViewBinding是怎么实现的,可以留言,下面我们来讲述怎么使用ViewBinding。

打开app模块的build.gradle,然后添加如下代码:

Groovy版本:

    buildFeatures {viewBinding true}

Kotlin版本:

    buildFeatures {viewBinding = true}

然后右上角会出现Sync Now,点击一下就会下载相应的资源,如上图所示,现在我们就是相当于打开了ViewBinding的开关,然后我们使用它,在activity_main.xml中为TextView写一个id。

然后回到MainActivity中使用。

这里的使用也很简单,如果你了解Kotlin语法的话,首先是创建一个binding变量,类型是ActivityMainBinding,这是一个编译时生成的类,它源于你的activity_main.xml,就是将你的xml进行驼峰名称再加上Binding后缀,如果你的布局是item_device.xml,那么生成的类就是ItemDeviceBinding,这样你应该好理解了,参考上图的写法即可,下面我们再用一张图来说明Java项目中的ViewBinding的用法。

配置开关和为控件增加Id都是一样的,只是语法上有区别,如上图所示。

四、查看Gradle版本、SDK版本、JDK版本

一个项目能否正常编译取决于我们的Gradle、SDK以及JDK,不同版本之间是由不同的配置关系的,这对于你来说是否有些复杂呢?不过不用担心,当你可以正常安装Android Studio并且能够正常运行时,你的这三个配置就是可以的,属于默认搭配,你只管写代码就好了。

  然而,世事无常,也许有时候项目的开发者不是自己,那么别人的项目你想要运行,有两个选择,第一:配置项目所需要的Gradle和SDK,第二:更改项目的Gradle和SDK满足当前环境。

① Gradle版本

  Gradle再细分就是Gradle版本和Gradle插件版本,两者之间是有关联的,你可以参考Android Gradle 插件版本说明,下面我们先看Gradle版本,如下图所示查看:

Gradle插件版本,如下图所示查看:

怎么查看就怎么修改,修改后记得要Sync Now点击一下。

② SDK版本

  SDK版本就是当前项目所编译的版本,下面我们查看一下当前项目的配置Android版本,如下图所示:

这里compileSdk 33表示编译版本为API 33,对应的是Android13.0版本,minSdk 24表示最低编译版本为API 24,对应Android 7.0版本,换句话来说,你的项目可以在Android7.0到Android13.0这个区间的的Android设备上运行,当然也包括7.0和13.0,targetSdk 33表示当前SDK版本为API 33,当你的项目低于或者高于这个环境的时候你就需要配置相关的SDK了,在哪里配置呢?顶部导航栏点击 File → Settings... 如下图所示:

这里我们可以看到当前下载Android 13.0的SDK,还能看到其他的Android版本,也可以看到Android版本所对应的API版本,这里我们看到的是简略信息,你可以勾选右下方的Show Package Details,就能查看详情信息了,当我们下载其他版本的SDK时,勾选上,要下载的目标版本SDK,此时弹窗右下角底部的Apply按钮就可以点击了,点击之后就会下载相关的SDK,然后你就可以切换其他的API版本了。

③ JDK版本

  JDK版本如下图所示:

这里就很简单了,默认的是JDK 17,这里就关系到你的项目能否正常运行,点击下拉框就可以看到这个JDK的版本信息了,或者你添加自己本地的JDK也行。

相关文章:

Android Studio 安装配置教程(Windows最详细版)

目录 前言 Android Studio 下载 Android Studio 安装 Android Studio 使用 一、创建默认项目(Compose) 二、创建常规项目 三、使用ViewBinding 四、查看Gradle版本、SDK版本、JDK版本 ① Gradle版本 ② SDK版本 ③ JDK版本 前言 Android开发…...

Cesium绘制可编辑线

Cesium 第一章 绘制可编辑线 Screen-2024-09-17-202059的副本 文章目录 Cesium一、绘制线二、编辑线三、使用 一、绘制线 1、方法 //场景相机控制viewer.scene.screenSpaceCameraController.enableRotate false; //cesium相机控制 绘制和编辑时 禁止转动场景// 鼠标样式修改…...

【算法】差分思想:强大的算法技巧

📢博客主页:https://blog.csdn.net/2301_779549673 📢欢迎点赞 👍 收藏 ⭐留言 📝 如有错误敬请指正! 📢本文由 JohnKi 原创,首发于 CSDN🙉 📢未来很长&#…...

微软开源项目 Detours 详细介绍与使用实例分享

目录 1、Detours概述 2、Detours功能特性 3、Detours工作原理 4、Detours应用场景 5、Detours兼容性 6、Detours具体使用方法 7、Detours使用实例 - 使用Detours拦截系统库中的UnhandledExceptionFilter接口,实现对程序异常的拦截 C++软件异常排查从入门到精通系列教程…...

Numba基础

1. Numba 基础 1.1 什么是 Numba? Numba 是一个 JIT 编译器,用于加速数值计算。它通过即时编译技术,将 Python 代码在运行时编译为机器代码,极大地提升执行速度,特别适合循环和矩阵操作等密集型计算。 2. Numba 基本…...

[JAVA]介绍怎样在Java中通过字节字符流实现文件读取与写入

一,初识File类及其常用方法 File类是java.io包下代表与平台无关的文件和目录,程序中操作文件和目录,都可以通过File类来完成。 通过这个File对象,可以进行一系列与文件相关的操作,比如判断文件是否存在,获…...

oracle停止当前运行的JOB或kill会话

在Oracle中,可以使用DBA_SCHEDULER_JOBS视图来查找当前正在运行的作业(job),并使用DBMS_SCHEDULER.STOP_JOB过程来停止它们 SELECT JOB_NAME, STATE FROM DBA_SCHEDULER_JOBS WHERE STATE RUNNING; SELECT * FROM DBA_SCHEDULE…...

SpringBoot 消息队列RabbitMQ 消息可靠性 数据持久化 与 LazyQueue

介绍 在默认情况下,RabbitMQ会将接收到的信息保存在内存中以降低消息收发的延迟 一旦MO宕机,内存中的消息会丢失内存空间有限,当消费者故障或处理过慢时,会导致消息积压,引发MQ阻塞 在消息队列运行的过程中&#xf…...

CLIP论文中关键信息记录

由于clip论文过长,一直无法完整的阅读该论文,故而抽取论文中的关键信息进行记录。主要记录clip是如何实现的的(提出背景、训练数据、设计模式、训练超参数、prompt的作用),clip的能力(clip的模型版本、clip…...

sshj使用代理连接服务器

之前我是用jsch连接服务器的,但是没办法使用私钥连接,搜了一下似乎是不支持新版的SSH-rsa,并且jsch很久没更新了,java - "com.jcraft.jsch.JSchException: Auth fail" with working passwords - Stack Overflow 没办法…...

【Leetcode:1184. 公交站间的距离 + 模拟】

🚀 算法题 🚀 🌲 算法刷题专栏 | 面试必备算法 | 面试高频算法 🍀 🌲 越难的东西,越要努力坚持,因为它具有很高的价值,算法就是这样✨ 🌲 作者简介:硕风和炜,…...

VRRP 笔记

一、概念: vrrp:Virtual Router Redundancy Protocol 虚拟路由冗余协议,当网关发生故障时,进行主备切换,保证业务连续性 把多台物理机的网关虚拟成一台Virtual Router,称为 VRID VIP:虚拟IP VM…...

【洛谷】P3743 小鸟的设备 的题解

【洛谷】P3743 小鸟的设备 的题解 题目传送门 题解 水一道二分 qaq 刚开始考虑的是动态规划,但是动态规划并不能维护题目所要求的东西。所以我们将思路转向另一种求最值问题的方法:二分答案。 首先,如果一个设备在 t t t 的时间内消耗的…...

算法面经手撕系列(2)--手撕BatchNormlization

BatchNormlization BatchNormlization的编码流程: init阶段初始化 C i n C_in Ci​n大小的scale向量和shift向量,同时初始化相同大小的滑动均值向量和滑动标准差向量;forward时沿着非channel维度计算均值、有偏方差依据得到均值和有偏方差进…...

mysql-搭建主从复制

文章目录 1、准备主服务器2、准备从服务器3、主库配置3.1、创建MySQL主服务器配置文件: 4、从库配置5、搭建主从&测试5.1、使用命令行登录MySQL主服务器5.2、主机中查询master状态:5.3、从机中查询slave状态:5.4、主机中创建slave用户&am…...

MiniMaxi-共创智能新体验新手入门

新手快速入门 注册指南 个人用户 直接注册即可。 企业团队 主账号:注册时填写的姓名与手机号将成为企业账号的管理员。子账号:在用户中心创建,数量不限。 主账号与子账号权益 相同权益:子账号享有与主账号相同的使用权益和速…...

Docker torchserve 部署模型流程

1.拉取官方镜像 地址: https://hub.docker.com/r/pytorch/torchserve/tags docker pull pytorch/torchserve:0.7.1-gpu2. docker启动指令 CPU docker run --rm -it -d -p 8380:8080 -p 8381:8081 --name torch-server -v /path/model-server/extra-files:/home/model-serve…...

mybatis开启日志

步骤很详细,直接上教程 配置文件的文件格式可能有所不同,这里列举两种 配置方法 一. application.properties(默认 # 配置mybatis的日志信息 mybatis.configuration.log-implorg.apache.ibatis.logging.stdout.StdOutImpl二. application.y…...

MobaXterm : Network error: Connection refused(连接被拒绝)

具体报错如下如所示: 首先进行问题排查 ① 检查SSH服务是否运行 sudo service ssh status ② 检查SSH服务是否已启动(启用返回 enable) sudo systemctl is-enabled ssh ③ 查看所有的端口 sudo netstat -tulnp ④ 查看SSH使用的22号端口有…...

电脑的主板,内存条插多少合适?

首先,不是插满4条内存就是最好的。 内存条插得多,确实可以扩充容量,提升性能。但是有些低端的主板配低端CPU,插满4条内存,稳定性下降。这里的稳定性包括供电,单独的内存供电容量等。此时CPU会通过降低内存…...

CVPR 2025 MIMO: 支持视觉指代和像素grounding 的医学视觉语言模型

CVPR 2025 | MIMO:支持视觉指代和像素对齐的医学视觉语言模型 论文信息 标题:MIMO: A medical vision language model with visual referring multimodal input and pixel grounding multimodal output作者:Yanyuan Chen, Dexuan Xu, Yu Hu…...

PHP和Node.js哪个更爽?

先说结论,rust完胜。 php:laravel,swoole,webman,最开始在苏宁的时候写了几年php,当时觉得php真的是世界上最好的语言,因为当初活在舒适圈里,不愿意跳出来,就好比当初活在…...

.Net框架,除了EF还有很多很多......

文章目录 1. 引言2. Dapper2.1 概述与设计原理2.2 核心功能与代码示例基本查询多映射查询存储过程调用 2.3 性能优化原理2.4 适用场景 3. NHibernate3.1 概述与架构设计3.2 映射配置示例Fluent映射XML映射 3.3 查询示例HQL查询Criteria APILINQ提供程序 3.4 高级特性3.5 适用场…...

Mybatis逆向工程,动态创建实体类、条件扩展类、Mapper接口、Mapper.xml映射文件

今天呢,博主的学习进度也是步入了Java Mybatis 框架,目前正在逐步杨帆旗航。 那么接下来就给大家出一期有关 Mybatis 逆向工程的教学,希望能对大家有所帮助,也特别欢迎大家指点不足之处,小生很乐意接受正确的建议&…...

解锁数据库简洁之道:FastAPI与SQLModel实战指南

在构建现代Web应用程序时,与数据库的交互无疑是核心环节。虽然传统的数据库操作方式(如直接编写SQL语句与psycopg2交互)赋予了我们精细的控制权,但在面对日益复杂的业务逻辑和快速迭代的需求时,这种方式的开发效率和可…...

spring:实例工厂方法获取bean

spring处理使用静态工厂方法获取bean实例,也可以通过实例工厂方法获取bean实例。 实例工厂方法步骤如下: 定义实例工厂类(Java代码),定义实例工厂(xml),定义调用实例工厂&#xff…...

【决胜公务员考试】求职OMG——见面课测验1

2025最新版!!!6.8截至答题,大家注意呀! 博主码字不易点个关注吧,祝期末顺利~~ 1.单选题(2分) 下列说法错误的是:( B ) A.选调生属于公务员系统 B.公务员属于事业编 C.选调生有基层锻炼的要求 D…...

ios苹果系统,js 滑动屏幕、锚定无效

现象:window.addEventListener监听touch无效,划不动屏幕,但是代码逻辑都有执行到。 scrollIntoView也无效。 原因:这是因为 iOS 的触摸事件处理机制和 touch-action: none 的设置有关。ios有太多得交互动作,从而会影响…...

短视频矩阵系统文案创作功能开发实践,定制化开发

在短视频行业迅猛发展的当下,企业和个人创作者为了扩大影响力、提升传播效果,纷纷采用短视频矩阵运营策略,同时管理多个平台、多个账号的内容发布。然而,频繁的文案创作需求让运营者疲于应对,如何高效产出高质量文案成…...

安宝特案例丨Vuzix AR智能眼镜集成专业软件,助力卢森堡医院药房转型,赢得辉瑞创新奖

在Vuzix M400 AR智能眼镜的助力下,卢森堡罗伯特舒曼医院(the Robert Schuman Hospitals, HRS)凭借在无菌制剂生产流程中引入增强现实技术(AR)创新项目,荣获了2024年6月7日由卢森堡医院药剂师协会&#xff0…...