简介
移动技术从未停止进化,而 Android 始终是创新的核心引擎。无论是渴望高薪职位、追求创业梦想,还是希望用技术创造价值,学习 Android 开发都是拥抱数字时代的战略性选择。从一行代码到一个改变世界的应用,你的旅程将从这里开始,接下来我们将开始进行学习Android开发。
一、安装 Android Studio
- 下载 Android Studio
- 官网地址 :(最后开VPN)访问 developer.android.com/studio 或者 Android Studio 下载文件归档 | Android Developers
- 选择对应版本 :
- Windows :下载
.exe
安装文件 - macOS :下载
.dmg
镜像文件 - Linux :下载
.tar.gz
压缩包
- Windows :下载
- 安装 Android Studio
- Windows :
- 双击
.exe
文件,按向导完成安装(建议勾选 Android Virtual Device 选项)。 - 安装完成后启动 Android Studio,首次运行会提示安装 SDK 组件。
- 双击
- macOS :
- 拖拽
.dmg
中的 Android Studio 到 Applications 文件夹。 - 启动应用,接受协议并安装默认 SDK 组件。
- 拖拽
- Linux :
- 解压
.tar.gz
文件到目标目录(如/opt/android-studio
)。 - 进入
bin
目录,运行./studio.sh
,按提示完成 SDK 安装。
- 解压
- Windows :
- 配置 SDK 和工具
- 首次启动时,Android Studio 会引导安装:
- Android SDK :确保至少选择一个 API 级别(推荐 API 34 (Android 14))。
- Android Emulator:用于运行虚拟设备。
- Kotlin 插件:默认已集成,无需额外安装。
- 首次启动时,Android Studio 会引导安装:
二、配置环境变量
-
安装 JDK(Java Development Kit)
首先,确保你已经安装了 JDK(Java开发工具包)。Android Studio 和其他工具需要它来编译和运行Android应用。
步骤:
- 下载并安装 JDK(推荐使用 JDK 8 或更新版本)。你可以从 Oracle JDK 官网 或 OpenJDK 下载。
- 安装后,设置
JAVA_HOME
环境变量,指向你的 JDK 安装目录。
-
设置
JAVA_HOME
环境变量JAVA_HOME
是一个重要的环境变量,Android Studio 和一些构建工具(如 Gradle)会使用它来找到你的 JDK。Windows
- 打开 控制面板 > 系统 > 高级系统设置 > 环境变量。
- 在 "系统变量" 区域,点击 新建。
- 输入变量名为
JAVA_HOME
,变量值为 JDK 的安装路径(例如C:\Program Files\Java\jdk-11
)。 - 点击 确定 保存。
-
安装 Android SDK 和设置
ANDROID_HOME
环境变量
Android SDK 是开发Android应用所必需的,它包含了编译、构建和模拟等工具。
步骤:
- 安装 Android Studio :
- 下载并安装 Android Studio,它会自动安装和配置 Android SDK。
- 设置
ANDROID_HOME
环境变量 : Android SDK 的路径是另一个重要的环境变量。你需要设置ANDROID_HOME
来告诉 Android Studio 和构建工具(如 Gradle)SDK 的位置。
Windows
-
打开 控制面板 > 系统 > 高级系统设置 > 环境变量。
-
在 "系统变量" 区域,点击 新建。
-
输入变量名为
ANDROID_HOME
,变量值为 Android SDK 的路径(通常是C:\Users\<YourUsername>\AppData\Local\Android\Sdk
)。 -
找到
Path
变量,点击 编辑,在最后添加以下内容:shell%ANDROID_HOME%\tools %ANDROID_HOME%\platform-tools
-
点击 确定 保存。
-
配置 Gradle 环境(可选)
Gradle 是 Android Studio 使用的构建工具,它也可以通过设置环境变量来进行配置。
Windows
-
下载并解压 Gradle。
-
打开 控制面板 > 系统 > 高级系统设置 > 环境变量。
-
在 "系统变量" 区域,点击 新建。
-
输入变量名为
GRADLE_HOME
,变量值为 Gradle 的解压路径(例如C:\Gradle
)。 -
找到
Path
变量,点击 编辑,在最后添加以下内容:shell%GRADLE_HOME%\bin
-
以上步骤帮助你配置了在 Android 开发中所需要的环境变量,包括 JDK、Android SDK 和 Gradle 等。确保每个环境变量都正确配置,以便能够顺利进行 Android 应用的开发和构建。
三、创建并运行第一个Hello World项目
-
新建项目
- 启动 Android Studio 点击 New Project

- 选择模版(推荐使用 Empty Activity)最简模版

- 配置项目:

markdown
- Name:输入项目名
- Package name:包名,默认生成(如 `com.example.helloworld`)
- Save location:项目保存地址
- Minimum SDK:选择Android应用支持的最低操作系统版本,这里选择 API 21(Android 5.0)或更高
- Build Configuration Language:构建配置语言,用于定义项目构建规则的语言,在Android中主要指 `Gradle` 构建脚本的语法,这里选择 `Kotlin DSL`
- 点击 Finish,等待
Gradle
构建完成

-
运行项目
-
使用模拟器
-
创建虚拟设备(AVD):
- 点击工具栏 Device Manager → Create Device。
- 选择设备型号(如 Pixel 6 ),下载推荐的系统镜像(如 Android 14)。
-
启动模拟器:
- 在 Device Manager 中选择设备,点击 启动按钮(绿色三角)。
-
运行应用:
- 点击工具栏 Run 按钮(绿色三角)或按
Shift+F10
。
- 点击工具栏 Run 按钮(绿色三角)或按
-
-

markdown
- 选择已启动的模拟器,等待应用安装并自动启动。
-
使用真机调试
- 开启开发者选项:
- 进入手机 设置 → 关于手机 → 版本号,连续点击 7 次开启开发者模式。
- 启用 USB 调试:
- 返回设置,进入 系统 → 开发者选项 → USB 调试,启用开关。
- 连接电脑并运行:
-
用 USB 线连接手机,选择 允许调试。
-
在 Android Studio 中选择设备,点击 Run。
-
结果如下
- 开启开发者选项:

四、了解项目结构
要想了解Android项目结构,首先我们得先

切换至项目预览模式,这方便我们观察和认识项目结构,展开关键如下所示

接下来我们将逐步分析Android项目结构中核心目录与文件详解
-
AndroidManifest.xml
- 功能:存放 Android 应用的全局配置文件
- 定义应用的基本信息(包名、图标、权限等)
- 声明所有组件(
Activity(活动)
、Service(服务)
、BroadcastReceiver(广播)
、ContentProvider(内容提供者)
)在之后我们会详细讲解这四大组件
xml<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools"> <application android:allowBackup="true" android:dataExtractionRules="@xml/data_extraction_rules" android:fullBackupContent="@xml/backup_rules" android:icon="@mipmap/ic_launcher" android:label="@string/app_name" android:roundIcon="@mipmap/ic_launcher_round" android:supportsRtl="true" android:theme="@style/Theme.HelloWorld" tools:targetApi="31"> <activity android:name=".MainActivity" android:exported="true"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> </application> </manifest>
-
<?xml version="1.0" encoding="utf-8"?>
声明文件的编码为UTF-8
通常 Android 项目会使用UTF-8编码。 -
<manifest>
是整个 Android 应用清单的根元素,所有其他元素都应该包含在此标签内。xmlns:android="http://schemas.android.com/apk/res/android"
:这是android
命名空间的声明,它定义了 XML 中属性的前缀android
,告诉 Android 系统该文件中包含的所有属性都与 Android 应用相关。xmlns:tools="http://schemas.android.com/tools"
:这是 Android 开发工具的命名空间,主要用于在开发阶段向系统提供额外的信息,例如为 Android Studio 提供的工具标记。 -
<application>
是 Android 应用的主要配置元素,它描述了应用的基本信息,如图标、主题、支持的语言方向等android:allowBackup="true"
:指示应用是否允许备份。true
表示允许,false
表示不允许。这有助于确保用户数据的备份和恢复。android:dataExtractionRules="@xml/data_extraction_rules"
:定义应用数据提取规则(针对 Android 13 或更高版本)。这是一个 XML 文件,指定哪些数据可以被提取和备份。android:fullBackupContent="@xml/backup_rules"
:指定应用的完整备份规则。与dataExtractionRules
配合使用,可以控制哪些数据需要进行全备份。android:icon="@mipmap/ic_launcher"
:指定应用的图标。这里引用了@mipmap/ic_launcher
,它通常是res/mipmap/
目录下的图标资源文件。android:label="@string/app_name"
:应用程序的名称,它会显示在用户的设备上。@string/app_name
引用了res/values/strings.xml
中定义的字符串。android:roundIcon="@mipmap/ic_launcher_round"
:指定圆形图标。Android 会自动使用这个图标来显示圆形的应用图标,特别是在支持圆形图标的设备上(如一些 Android Wear 设备)。android:supportsRtl="true"
:支持从右向左的布局,适用于阿拉伯语、希伯来语等右到左书写的语言。android:theme="@style/Theme.HelloWorld"
:指定应用的主题。@style/Theme.HelloWorld
引用了res/values/styles.xml
中定义的样式资源。tools:targetApi="31"
:该属性是用于 Android Studio 的工具命名空间,指示目标 API 级别,通常是 Android Studio 在开发过程中进行 Lint 检查时使用。
-
<activity>
元素定义了一个应用中的 Activity。每个应用至少需要一个 Activity,作为应用的入口或界面。android:name=".MainActivity"
:指定该 Activity 的类名。.MainActivity
表示MainActivity
类位于包的根目录下(例如com.example.app.MainActivity
)。android:exported="true"
:表示这个 Activity 是否可以被其他应用启动。在 Android 12(API 级别 31)及更高版本中,如果应用中包含了显式声明intent-filter
的组件(如 Activity),则需要明确设置android:exported
属性。true
表示可以由其他应用启动,false
表示不能被外部应用启动。
-
<intent-filter>
定义了一个或多个Intent
,指定哪些外部操作可以启动这个组件(在此为MainActivity
)。<action android:name="android.intent.action.MAIN" />
:指示这是应用的主入口(即主 Activity)。它告诉系统这是一个主要的入口活动。<category android:name="android.intent.category.LAUNCHER" />
:告诉系统这个 Activity 是应用的启动 Activity。当用户点击应用图标时,会启动这个 Activity。
通过理解
AndroidManifest.xml
文件的结构和内容,你可以更好地配置和管理 Android 应用的各个方面,其他配置在之后开发中用上了会对应的提一嘴,例如权限、服务、广播、内容提供者这些等等等等. - 功能:存放 Android 应用的全局配置文件
-
java/
或kotlin/
: 存放 Java / Kotlin 源代码文件 -
res/
资源目录:存放所有非代码资源文件,Android 会自动生成R.java
提供资源 ID。子目录 用途 示例文件 drawable/
图片、矢量图、形状定义等 ic_launcher_background.xml
layout/
界面布局文件(XML) activity_main.xml
mipmap/
应用图标(不同分辨率) ic_launcher.png
values/
字符串、颜色、样式等常量定义 strings.xml
,colors.xml
menu/
菜单布局文件 main_menu.xml
raw/
原始文件(音频、视频等) sound.mp3
anim/
动画资源 fade_in.xml
font/
字体文件 roboto.ttf -
Gradle Scripts/
: 定义项目的构建配置和依赖管理:文件 作用 build.gradle.kts (Project)
配置全局项目设置(如 Gradle 版本、仓库地址)。 build.gradle.kts (Module)
配置模块级设置(编译版本、依赖库等)。 settings.gradle.kts
定义项目包含哪些模块。 gradle.properties
配置全局 Gradle 属性(如 JVM 内存大小)。 -
项目级
build.gradle.kts
-
路径 :
项目根目录/build.gradle.kts
-
作用:配置全局构建设置和插件依赖。
-
典型内容:
kotlin// 顶级构建文件,在这里你可以添加对所有子项目/模块共享的配置选项。 plugins { // 引用 Android 应用程序插件,这个插件通常用于配置和构建 Android 应用。使用了 `libs.plugins` 别名来引用插件, // 但 `apply false` 表示插件本身不会立即应用到当前模块,而是提供给子模块使用。 alias(libs.plugins.android.application) apply false // 引用 Kotlin Android 插件,这个插件用于配置和构建包含 Kotlin 代码的 Android 应用。 // 同样使用 `apply false` 表示该插件不会直接应用在当前模块,而是提供给子模块使用。 alias(libs.plugins.kotlin.android) apply false }
-
-
模块级
build.gradle.kts
-
路径 :
app/build.gradle.kts
-
作用:配置模块级构建选项、依赖项。
-
典型内容:
kotlin// 配置插件,声明本模块将使用 Android 应用插件和 Kotlin 插件。 plugins { // 引用 Android 应用插件,它是构建 Android 应用所必需的。 alias(libs.plugins.android.application) // 引用 Kotlin Android 插件,用于支持 Kotlin 代码的编译。 alias(libs.plugins.kotlin.android) } android { // 设置应用的命名空间。通常用于避免不同模块之间的命名冲突。 namespace = "com.example.helloworld" // 设置编译 SDK 版本。这里设置为 Android API 级别 35(实际开发中应该使用最新的稳定版)。 compileSdk = 35 // 配置应用的默认设置。 defaultConfig { // 设置应用的包名,通常与应用的 Java 包名相同。 applicationId = "com.example.helloworld" // 设置最低支持的 SDK 版本。这里设置为 21,表示应用支持从 Android 5.0(Lollipop)开始的设备。 minSdk = 21 // 设置目标 SDK 版本,表示应用测试和优化的目标设备版本。这里设置为 35,表示适配 Android 12。 targetSdk = 35 // 设置版本号。版本号必须递增,每次发布新版本时要更改此值。 versionCode = 1 // 设置应用的版本名称。这个值通常会显示在应用的设置页面或安装界面。 versionName = "1.0" // 设置测试用的 JUnit 测试运行器。 testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner" } // 配置构建类型。这里只配置了 release 类型,表示发布版本的构建设置。 buildTypes { release { // 禁用代码混淆,设置为 false 不会启用 ProGuard 或 R8 混淆工具。 isMinifyEnabled = false // 配置 ProGuard 文件。ProGuard 是一个代码优化工具,通常用于发布版本进行混淆和优化。 proguardFiles( getDefaultProguardFile("proguard-android-optimize.txt"), // 使用默认的 ProGuard 配置 "proguard-rules.pro" // 项目自定义的 ProGuard 配置文件 ) } } // 配置 Java 编译选项。 compileOptions { // 设置 Java 版本兼容性,这里设置为 Java 11。 sourceCompatibility = JavaVersion.VERSION_11 targetCompatibility = JavaVersion.VERSION_11 } // 配置 Kotlin 编译选项。 kotlinOptions { // 设置 Kotlin 的 JVM 目标版本,这里设置为 Java 11。 jvmTarget = "11" } } // 配置项目的依赖项。 dependencies { // AndroidX 相关的库。这里包括核心扩展库、AppCompat、Material Design 组件、Activity 相关库等。 implementation(libs.androidx.core.ktx) // 提供对 Android 核心库的 Kotlin 扩展支持 implementation(libs.androidx.appcompat) // 支持应用在不同 Android 版本下的兼容性 implementation(libs.material) // 提供 Material Design 组件库 implementation(libs.androidx.activity) // 提供与 Activity 生命周期相关的库 implementation(libs.androidx.constraintlayout) // 提供用于布局的 ConstraintLayout 库 // 单元测试依赖。使用 JUnit 进行本地单元测试。 testImplementation(libs.junit) // JUnit 用于执行本地单元测试 // Android 测试依赖。使用 AndroidX 提供的 JUnit 和 Espresso 进行 UI 测试。 androidTestImplementation(libs.androidx.junit) // AndroidX JUnit 测试框架 androidTestImplementation(libs.androidx.espresso.core) // Espresso 用于 UI 测试 }
-
-
settings.gradle.kts
-
路径 :
项目根目录/settings.gradle.kts
-
作用:定义项目包含哪些模块及仓库地址。
-
典型内容:
kotlin// 配置插件管理(pluginManagement),决定了如何查找和解析插件。 pluginManagement { repositories { // 配置 Google 的插件仓库,限制只包含特定的插件(通过正则匹配)。 google { content { // 只包含 com.android.* 相关的插件 includeGroupByRegex("com\\.android.*") // 只包含 com.google.* 相关的插件 includeGroupByRegex("com\\.google.*") // 只包含 androidx.* 相关的插件 includeGroupByRegex("androidx.*") } } // 配置 Maven 中央仓库,查找和解析插件。 mavenCentral() // 配置 Gradle 插件门户,查找和解析插件。 gradlePluginPortal() } } // 配置依赖解析管理(dependencyResolutionManagement),用来管理项目的依赖解析策略。 dependencyResolutionManagement { // 设置仓库模式,当在子项目中查找依赖时,如果子项目定义了自己的仓库,将会报错。 repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS) // 配置全局的仓库,所有的项目都将从这些仓库中查找依赖。 repositories { // 使用 Google 的仓库(用于 Android 构建相关的依赖)。 google() // 使用 Maven 中央仓库,查找和解析其他常见的 Java 依赖。 mavenCentral() } } // 设置根项目的名称。 rootProject.name = "HelloWorld" // 包含项目的模块,这里表示项目的主模块是 ":app"。 include(":app")
-
gradle.properties
-
路径 :
项目根目录/gradle.properties
-
作用:配置全局 Gradle 属性(语法与 Groovy 相同)。
-
常用配置:
properties# 这个设置对于调整内存设置特别有用。 org.gradle.jvmargs=-Xmx2048m -Dfile.encoding=UTF-8 # -Xmx2048m:设置最大堆内存为 2048MB。根据需要,你可以增大或减少这个值来优化内存使用。 # -Dfile.encoding=UTF-8:确保文件编码为 UTF-8。 # AndroidX 包结构,使其更清楚哪些包是由 Android 操作系统捆绑的,哪些是打包在应用的 APK 中。 # https://developer.android.com/topic/libraries/support-library/androidx-rn android.useAndroidX=true # 设置为 true 时,项目将使用 AndroidX 支持库而非旧版支持库。 # 这对于支持库迁移至 AndroidX 非常重要,确保项目采用最新的 Android 开发标准。 # Kotlin 代码风格设置:可以设置为 "official" 或 "obsolete"。 kotlin.code.style=official # 设置 Kotlin 代码风格为官方风格。"official" 是标准的 Kotlin 代码风格,"obsolete" 是旧版风格。 # 启用库的 R 类命名空间,以便它的 R 类只包含该库自身声明的资源,而不包含库的依赖项的资源, # 从而减少该库的 R 类大小。 android.nonTransitiveRClass=true # 设置为 true 时,Android 会为每个库启用命名空间,从而减少 R 类的大小, # 使其仅包含该库内的资源,而不包含其他依赖库的资源。
-
在日后开发中,我们都离不开对
Gradle Scripts
的管理,至少我们要了解到这些基础的知识,至于其他在之后出现了相关再提及并研究。 -
五、创建新的界面
Android一个App有很多界面,这不是一个Activity能完成的,接下来我们将创建一个新的界面,步骤如下


创建完成之后我们可以在Android 应用的全局配置文件 AndroidManifest.xml
中发现,AndroidStudio 会自动帮我们注册 Activity

这样我们就可以创建新的界面了,这里先不讲页面之间如何跳转,在之后文章中我们在详细说明。想要运行新界面,我们可以进行如下操作:

将想要运行的界面设置为 android:exported="true"
表示这个 Activity 可以被其他应用启动,包括本地编译器, 然后我们将之前 MainActivity
的 <intent-filter>
范围的代码给剪切到想要运行的界面下,这样我们就可以运行制定的界面了。
在下一章节我们将会对Android中的一些常见的UI组件件进行详细的学习和运用。