基于Windows下载安装Android Studio 3.3.2版本教程
-
- [1. 下载 Android Studio 3.3.2](#1. 下载 Android Studio 3.3.2)
- [2. 安装和配置](#2. 安装和配置)
-
- [1. 安装](#1. 安装)
- [2. 配置](#2. 配置)
- 3.手动配置兼容版本的sdk组件
- [4.配置Android SDK 的环境变量](#4.配置Android SDK 的环境变量)
- [3. 创建项目及配置镜像](#3. 创建项目及配置镜像)
- [4.界面设计(Layout 可视化)](#4.界面设计(Layout 可视化))
- 5.写代码(按钮点击事件)
- [6. Android Studio连接外部模拟器(夜神模拟器)](#6. Android Studio连接外部模拟器(夜神模拟器))
-
- [1. 安装模拟器](#1. 安装模拟器)
- [2. 配置](#2. 配置)
-
- [夜神模拟器开启USB 调试 和 网络 ADB 调试](#夜神模拟器开启USB 调试 和 网络 ADB 调试)
- [3. 用命令行连接模拟器](#3. 用命令行连接模拟器)
- [7. 实操:模仿淘宝登录](#7. 实操:模仿淘宝登录)
1. 下载 Android Studio 3.3.2
自行通过官网下载所需版本:
官网:https://developer.android.google.cn/studio?hl=zh-cn
链接: 百度网盘下载Android Studio 3.3.2 提取码: xbxh
2. 安装和配置
1. 安装
- 双击.exe应用
点击【Next】
点击【Next】
选择【Browse】修改安装路径,默认C盘,建议修改
点击【Install】
等待安装完后,点击【Finish】
2. 配置
安装SDK
- 启动,会提示
Android Studio 无法访问 Google 官方的 SDK 组件列表,点击【Cancel】,后边会配置
- 欢迎界面,点击【Next】

- 选择安装类型,选择【Custom】自定义安装→ 【Next】

根据个人,选择UI主题后,点击【Cancel】

选择SDK组件安装路径(建议和Android Stadio同级),再点击【Next】

点击【Finish】

等待下载完成后,点击【Finish】

3.手动配置兼容版本的sdk组件

进入配置菜单:Configure → Settings
1.进入 SDK 设置:Settings → Appearance & Behavior → System Settings → Android SDK
核心模块介绍:

点击Edit,选择或修改SDK安装路径

SDK Platforms(目标手机(模拟器)的系统):不同 Android 系统版本的开发库和模拟器镜像。
操作:
取消已安装Android API 36 的版本
向下滑,勾选 Android 6.0(Marshmallow)

SDK Tools(开发工具包):构建、调试、打包应用的
Android SDK Build-Tools:勾选23.0.3版本
取消已安装的其他版本
Android Emulator(模拟器)和Android SDK Platform-Tools(adb、fastboot 等调试工具)默认安装的即可
点击【Apply】执行安装
弹框提示:核对取消勾选的数据将被删除,点击【ok】
接受协议,点击【Accept】→ 【Next】
等待加载完成后,点击【Finish】
点击【ok】

4.配置Android SDK 的环境变量
右键【此电脑】→ 【属性】→【高级系统设置】

选择【环境变量】

在【系统变量】列表中,点击【Path】变量→【 编辑】

【新建】加入"platform-tools "和"tools"的完整路径,点击【确定】

验证环境配置是否成功
Win+r 输入cmd + 回车,在终端输入命令:adb version

3. 创建项目及配置镜像
创建项目

选择Android项目模板,刚接触的朋友建议选第二个模板(Empty Activity)

填写项目信息后,点击【Finish】

等待创建完成后,点击【Finish】

配置国内镜像(解决下载慢导致超时)
项目创建后,出现下图异常:
问题:Android Studio 下载 Gradle 包超时了,具体是在下载 gradle-4.10.1-all.zip 时连不上官方服务器,被网络限制导致失败。

原因:国内网络访问 services.gradle.org 速度极慢甚至连不上
解决: 修改项目配置,使用国内镜像
步骤:
- 打开项目根目录下的 Gradle Scripts/gradle-wrapper.properties 文件
- 把里面的 distributionUrl 改成国内镜像地址:
distributionUrl=http\://mirrors.aliyun.com/gradle/gradle-4.10.1-all.zip

3.打开项目根目录下的 Gradle Scripts/build.gradle 文件

代码如下:
java
// Top-level build file where you can add configuration options common to all sub-projects/modules.
buildscript {
repositories {
// 阿里云镜像(国内最快)
maven { url 'https://maven.aliyun.com/repository/google' }
maven { url 'https://maven.aliyun.com/repository/jcenter' }
maven { url 'https://maven.aliyun.com/repository/public' }
google()
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:3.3.2'
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}
}
allprojects {
repositories {
// 阿里云镜像
maven { url 'https://maven.aliyun.com/repository/google' }
maven { url 'https://maven.aliyun.com/repository/jcenter' }
maven { url 'https://maven.aliyun.com/repository/public' }
google()
jcenter()
}
}
task clean(type: Delete) {
delete rootProject.buildDir
}
两个文件都修改完后, 点击 重构同步按钮 ,会从国内镜像下载,速度快很多。

查看重构和同步结果:


项目结构(默认Android视图)
结构图解析:
bash
AppTest/
├── app/
│ ├── manifests/
│ │ └── AndroidManifest.xml # 应用清单文件:配置包名、权限、组件声明
│ ├── java/
│ │ └── com.example.apptest/
│ │ └── MainActivity.java # 主界面代码文件,App 启动的入口
│ │
│ ├── com.example.apptest (androidTest)/
│ │ └── ExampleInstrumentedTest # 设备测试用例,运行在真机/模拟器上
│ │
│ ├── com.example.apptest (test)/
│ │ └── ExampleUnitTest # 单元测试用例,运行在本地JVM上
│ │
│ ├── generatedJava/
│ │ └── com.example.apptest/
│ │ └── BuildConfig.java # 自动生成的构建配置类,包含版本号等信息
│ │
│ └── res/ # 资源文件目录
│ ├── drawable/ # 存放图片、矢量图、选择器等资源
│ ├── layout/ # 存放XML布局文件,比如 activity_main.xml
│ ├── mipmap/ # 存放应用图标,按分辨率分目录存放
│ └── values/ # 存放字符串、颜色、样式、尺寸等配置
│
└── Gradle Scripts/ # Gradle 构建相关配置文件
├── build.gradle (Project: AppTest) # 项目级配置:定义仓库、AGP版本等
├── build.gradle (Module: app) # 模块级配置:SDK版本、依赖、编译配置
├── gradle-wrapper.properties # Gradle 版本与下载地址配置
├── proguard-rules.pro # 代码混淆与压缩规则
├── gradle.properties # Gradle 运行参数与项目全局变量
├── settings.gradle # 项目模块声明,比如 include ':app'
└── local.properties # 本地SDK路径配置,不提交到版本控制
4.界面设计(Layout 可视化)
-
打开布局文件
左侧 → app/res/layout/activity_main.xml → 双击打开
顶部切换到 Design 模式(可视化),默认是 Split(代码 + 预览)

-
认识 Design 界面
Palette(左侧):按钮、文本、图片等组件,拖放到屏幕

-
放一个按钮(Button)
方式1:
先切换到Design预览界面
左侧 Palette → 搜索 Button → 拖到预览器里

弹框,根据个人需求选择按钮样式,点击【OK】

预览区看到按钮居中,完成。放大:Ctrl+鼠标上滑,缩小:Ctrl+鼠标下滑

- 切换到 Text 看 XML,根据控件面板操作,新增或修改xml代码

xml
<ImageButton
android:id="@+id/imageButton2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:srcCompat="@mipmap/ic_launcher"
tools:layout_editor_absoluteX="169dp"
tools:layout_editor_absoluteY="197dp"
tools:ignore="MissingConstraints" />
方式2:
直接复制代码,修改样式,相同组件id必须保证唯一

5.写代码(按钮点击事件)
- 打开 MainActivity.java
左侧 → app\src\main\java\com\example\apptest\MainActivity.java
2.代码如下:
java
package com.example.apptest;
import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.Toast;
public class MainActivity extends AppCompatActivity {
// 声明按钮
private Button btnClick;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// 绑定布局
setContentView(R.layout.activity_main);
// 1. 通过 ID 找到按钮
btnClick = findViewById(R.id.btn_click);
// 2. 设置点击监听
btnClick.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// 点击后弹出提示
Toast.makeText(MainActivity.this, "Hello Android!", Toast.LENGTH_SHORT).show();
}
});
}
}
我这边使用的是夜神模拟器 点击的效果:

6. Android Studio连接外部模拟器(夜神模拟器)
1. 安装模拟器
-
下载地址:nox_setup_v7.0.6.2_full.exe (推荐自定义安装哈 )
-
保证手机模拟器和安装的Android sdk组件的adb文件版本一致
在Android Studio的环境文件中找到adb.exe文件

复制粘贴到桌面上

在夜神模拟器文件中找到adb.exe文件

将桌面上的adb.exe文件替换夜神模拟器中的adb.exe文件

在夜神模拟器文件中找到nox_adb.exe文件
将桌面的adb.exe改名为nox_adb.exe替换夜神模拟器中的nox_adb.exe文件(如果替换时,提示bin被占用,就先关闭Android studio,再替换即可)
2. 配置
夜神模拟器开启USB 调试 和 网络 ADB 调试
步骤:
先打开夜神模拟器,在模拟器里打开【设置 → 关于平板电脑】,连续点击【版本号】7 次,开启开发者选项。


返回后就可进入【开发者选项】,开启 USB 调试 和 网络 ADB 调试。

点击开启,会有个弹框,点击【确定或OK】

夜神模拟器默认的连接地址是:127.0.0.1:62001(部分版本是127.0.0.1:52001)
打开夜神模拟器安装目录,进入 bin 文件夹(比如D:\yeshen\Nox\bin)。
在地址栏输入 cmd + 回车,打开命令提示符。


输入以下命令,查看端口号:nox_adb.exe devices

3. 用命令行连接模拟器
因6.0的模拟器和我本地的sdk版本不兼容,又下载了7.0的模拟器,上边安装配置流程无论6.0还是7.0都一致,下载地址新加了7.0版本的,后面的教程都是7.0版本的模拟器哈
打开 Android Studio 自带的 Terminal 终端(底部工具栏)
输入以下命令,连接夜神模拟器:
adb connect 127.0.0.1:62001
提示 connected to 127.0.0.1:62001 就代表连接成功了!

点击绿色的运行按钮,选择已连接的模拟器后,点击【OK】

是否下载7.1.1版本的sdk,点击【Proceed without Instant Run】

等待Android Studio加载完后,夜神模拟器会提示并打开执行的app界面

点击【按钮】,出现提示信息"点击成功啦!"

7. 实操:模仿淘宝登录
- 新建edit_border.xml 资源文件
打开左侧项目目录,找到 app/res/drawable 文件夹
右键 【drawable】 →【 New】 → 【Drawable resource file】
文件名输入 edit_border,点击 【OK】

在 标签内添加下边的代码(组件样式):
xml
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<!-- 边框样式:1dp宽,浅灰色 -->
<stroke
android:width="1dp"
android:color="#DDDDDD" />
<!-- 背景填充:白色 -->
<solid android:color="#FFFFFF" />
<!-- 圆角:8dp,让输入框边角圆润 -->
<corners android:radius="8dp" />
</shape>
- 添加UI组件
打开app\src\main\res\layout*activity_main.xml *
清空默认组件

添加以下6个组件
xml
<!-- 顶部淘宝文字标题 -->
<TextView
android:id="@+id/tv_title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="淘宝登录"
android:textSize="26sp"
android:textColor="#FF4400"
android:textStyle="bold"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintStart_toStartOf="parent"
android:layout_marginTop="80dp"
android:layout_marginStart="30dp"/>
<!-- 账号输入框 -->
<EditText
android:id="@+id/et_account"
android:layout_width="match_parent"
android:layout_height="50dp"
android:hint="请输入手机号/会员名"
android:inputType="text"
android:background="@drawable/edit_border"
android:paddingLeft="15dp"
android:textSize="15sp"
app:layout_constraintTop_toBottomOf="@id/tv_title"
android:layout_marginTop="50dp"
android:layout_marginStart="30dp"
android:layout_marginEnd="30dp"/>
<!-- 密码输入框 -->
<EditText
android:id="@+id/et_pwd"
android:layout_width="match_parent"
android:layout_height="50dp"
android:hint="请输入登录密码"
android:inputType="textPassword"
android:background="@drawable/edit_border"
android:paddingLeft="15dp"
android:textSize="15sp"
app:layout_constraintTop_toBottomOf="@id/et_account"
android:layout_marginTop="20dp"
android:layout_marginStart="30dp"
android:layout_marginEnd="30dp"/>
<Button
android:id="@+id/btn_login"
android:layout_width="match_parent"
android:layout_height="50dp"
android:text="登录"
android:textColor="#FFFFFF"
android:textSize="16sp"
android:background="#FF4400"
app:layout_constraintTop_toBottomOf="@id/et_pwd"
android:layout_marginTop="40dp"
android:layout_marginStart="30dp"
android:layout_marginEnd="30dp"/>
<!-- 忘记密码 -->
<TextView
android:id="@+id/tv_forget"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="忘记密码?"
android:textColor="#FF4400"
android:textSize="14sp"
app:layout_constraintTop_toBottomOf="@id/btn_login"
app:layout_constraintEnd_toEndOf="parent"
android:layout_marginTop="25dp"
android:layout_marginEnd="30dp"/>
<!-- 注册账号 -->
<TextView
android:id="@+id/tv_register"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="没有账号?去注册"
android:textColor="#666666"
android:textSize="14sp"
app:layout_constraintTop_toBottomOf="@id/btn_login"
app:layout_constraintStart_toStartOf="parent"
android:layout_marginTop="25dp"
android:layout_marginStart="30dp"/>
-
切换到Design 设计模式,查看界面

-
编写交互代码
打开 app\src\main\java\com\example\apptest*MainActivity.java * 文件,添加登陆点击事件
java
public class MainActivity extends AppCompatActivity {
private EditText etAccount, etPwd;
private Button btnLogin;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//绑定控件
etAccount = findViewById(R.id.et_account);
etPwd = findViewById(R.id.et_pwd);
btnLogin = findViewById(R.id.btn_login);
//登录点击事件
btnLogin.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
//获取输入内容
String account = etAccount.getText().toString().trim();
String pwd = etPwd.getText().toString().trim();
//简单判断
if(account.isEmpty()){
Toast.makeText(MainActivity.this,"请输入账号",Toast.LENGTH_SHORT).show();
}else if(pwd.isEmpty()){
Toast.makeText(MainActivity.this,"请输入密码",Toast.LENGTH_SHORT).show();
}else {
Toast.makeText(MainActivity.this,"登录成功",Toast.LENGTH_SHORT).show();
}
}
});
}
}
出现对象报红,鼠标点击且光标在爆红对象上,Alt+Enter,即导入对应的对象

- 运行

选择模拟器,点击【ok】

选择不安装Android 7.1.1

执行完,夜神模拟器提示弹框,点击弹框,进入app界面


你会发现夜神模拟器上的UI组件没有全部显示出来,因为我现在这个界面是平板(横屏)
需要设置成手机(竖屏)才能全部显示出来

点击右上角的【系统设置】按钮

【性能】 → 【分辨率设置】选择【手机版】 → 【保存设置】 → 【重启模拟器】

模拟登陆功能:
账号&密码不能为空,并点击登陆
密码为空,提示:请输入密码

账号为空,提示:请输入账号

输入账号&密码,提示:登陆成功

Android Studio 学习到此结束! 














